Created by
Masato Kaneko
| #!/usr/bin/env python3
# -*- coding: utf-8 -*-
import timeit
num = 1000
sample_list = [n+1 for n in range(num)]
sample_tuple = tuple(sample_list)
sample_dict = {elem:True for elem in sample_list}
sample_set = set(sample_list)
sample_number = 555
def speedtest_int_in_list():
sample_number in sample_list
def speedtest_int_in_tuple():
sample_number in sample_tuple
def speedtest_int_in_dict():
sample_number in sample_dict
def speedtest_int_in_set():
sample_number in sample_set
test_functions = (
"speedtest_int_in_list",
"speedtest_int_in_tuple",
"speedtest_int_in_dict",
"speedtest_int_in_set"
)
results = []
for func in test_functions:
results.append( (timeit.timeit(eval(func), number = 1), func) )
results = sorted(results)
fastest = results[0][0]
for rank, result in enumerate(results):
print("#{rank} => {typename}: {time:.10f} seconds (#1 x {diff} times)".format(
rank = rank + 1,
typename = result[1].split("_")[-1],
time = result[0],
diff = round(result[0] / fastest))
)
# [EOF]
|