Last active
August 2, 2016 12:23
-
-
Save uskudnik/355a20734720748ada07271aa80e50a4 to your computer and use it in GitHub Desktop.
set([list of nubmers]) vs. {list of numbers}
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
## A _very_ naive comparison of set([list of numbers]) vs {list of numbers} | |
# set([list of numbers]) vs {list of numbers} results in ~25% performance improvements on simple lists for {list of numbers}: | |
==== | |
> python -m timeit "{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21}" | |
1000000 loops, best of 3: 0.911 usec per loop | |
> python -m timeit "{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21}" | |
1000000 loops, best of 3: 0.901 usec per loop | |
> python -m timeit "{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21}" | |
1000000 loops, best of 3: 0.924 usec per loop | |
> python -m timeit "set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21])" | |
1000000 loops, best of 3: 1.25 usec per loop | |
> python -m timeit "set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21])" | |
1000000 loops, best of 3: 1.25 usec per loop | |
> python -m timeit "set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21])" | |
1000000 loops, best of 3: 1.26 usec per loop | |
==== | |
# Building a list of numbers _could_ accounts for (most of) the difference: | |
> python -m timeit "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]" | |
1000000 loops, best of 3: 0.228 usec per loop | |
> python -m timeit "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]" | |
1000000 loops, best of 3: 0.228 usec per loop | |
> python -m timeit "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]" | |
1000000 loops, best of 3: 0.23 usec per loop |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment