Skip to content

Instantly share code, notes, and snippets.

@hughdbrown
Created June 21, 2018 17:54
Show Gist options
  • Save hughdbrown/0e588824224e58c32c8ae5e1e707b9f8 to your computer and use it in GitHub Desktop.
Save hughdbrown/0e588824224e58c32c8ae5e1e707b9f8 to your computer and use it in GitHub Desktop.
Compare timing of list comprehension versus naive
def foo(n):
a = []
for i in range(n):
a.append(i * 2)
return a
def bar(n):
return [i * 2 for i in range(n)]
>>> import timeit
>>> timeit.timeit('bar(100)', setup='from __main__ import bar')
3.6985809803009033
>>> timeit.timeit('foo(100)', setup='from __main__ import foo')
5.85391902923584
>>> timeit.timeit('bar(1000)', setup='from __main__ import bar')
34.762638092041016
>>> timeit.timeit('foo(1000)', setup='from __main__ import foo')
58.36402416229248
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment