Created
June 3, 2021 13:58
-
-
Save erikcorry/c9defed0ffdc15a7cd40fbc0841a67c0 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Ainos-MBP:~ erik$ ./toit/build/release64/bin/toitvm fly.toit | |
2 iterations, 7.0us per operation | |
4 iterations, 4.0us per operation | |
8 iterations, 3.375us per operation | |
16 iterations, 2.8125us per operation | |
32 iterations, 2.6875us per operation | |
64 iterations, 2.25us per operation | |
128 iterations, 2.046875us per operation | |
256 iterations, 1.91015625us per operation | |
512 iterations, 2.25us per operation | |
1024 iterations, 2.068359375us per operation | |
2048 iterations, 2.228515625us per operation | |
4096 iterations, 3.32177734375us per operation | |
8192 iterations, 4.3521728515625us per operation | |
16384 iterations, 4.60357666015625us per operation | |
32768 iterations, 4.90618896484375us per operation | |
65536 iterations, 4.9374542236328125us per operation | |
131072 iterations, 5.0135345458984375us per operation | |
262144 iterations, 5.08797454833984375us per operation | |
524288 iterations, 5.08414459228515625us per operation | |
1048576 iterations, 5.2077283859252929688us per operation | |
Ainos-MBP:~ erik$ python3 fly.py | |
2 iterations, 1.907349us per operation | |
4 iterations, 0.953674us per operation | |
8 iterations, 0.596046us per operation | |
16 iterations, 0.551343us per operation | |
32 iterations, 0.536442us per operation | |
64 iterations, 0.532717us per operation | |
128 iterations, 0.538304us per operation | |
256 iterations, 0.628643us per operation | |
512 iterations, 0.630971us per operation | |
1024 iterations, 0.694301us per operation | |
2048 iterations, 1.062523us per operation | |
4096 iterations, 1.762004us per operation | |
8192 iterations, 3.226800us per operation | |
16384 iterations, 7.031063us per operation | |
32768 iterations, 13.375880us per operation | |
65536 iterations, 24.526224us per operation | |
131072 iterations, 48.666163us per operation | |
262144 iterations, 104.135922us per operation | |
524288 iterations, 278.332405us per operation | |
# I stopped here before it ate all the battery of my laptop |
Fly.py:
import time
def fifo(size):
start = time.time()
my_dict = {}
for i in range(size):
my_dict[i] = i
while len(my_dict) > 0:
remove_first(my_dict)
end = time.time()
print("%d iterations, %fus per operation" % (size, (end - start) * 1000000.0 / size))
def remove_first(my_dict):
i = iter(my_dict)
elt = next(i)
del my_dict[elt]
return elt
for s in range(20):
fifo(1 << (s + 1))
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Fly.toit: