Created
April 14, 2014 14:04
-
-
Save sapamja/10651040 to your computer and use it in GitHub Desktop.
Merging list
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
Output: | |
f1 102011 function calls in 0.701 seconds | |
Ordered by: standard name | |
ncalls tottime percall cumtime percall filename:lineno(function) | |
1 0.000 0.000 0.701 0.701 <string>:1(<module>) | |
1000 0.040 0.000 0.495 0.000 merge.py:3(f1) | |
1000 0.001 0.000 0.495 0.000 merge.py:42(<lambda>) | |
1 0.000 0.000 0.000 0.000 timeit.py:143(setup) | |
1 0.000 0.000 0.701 0.701 timeit.py:178(timeit) | |
1 0.206 0.206 0.701 0.701 timeit.py:96(inner) | |
1 0.000 0.000 0.000 0.000 {gc.disable} | |
1 0.000 0.000 0.000 0.000 {gc.enable} | |
1 0.000 0.000 0.000 0.000 {gc.isenabled} | |
1 0.000 0.000 0.000 0.000 {globals} | |
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects} | |
100000 0.455 0.000 0.455 0.000 {method 'extend' of 'list' objects} | |
2 0.000 0.000 0.000 0.000 {time.time} | |
None | |
f2 3011 function calls in 37.747 seconds | |
Ordered by: standard name | |
ncalls tottime percall cumtime percall filename:lineno(function) | |
1 0.000 0.000 37.747 37.747 <string>:1(<module>) | |
1000 0.003 0.000 37.418 0.037 merge.py:42(<lambda>) | |
1000 0.004 0.000 37.415 0.037 merge.py:8(f2) | |
1 0.000 0.000 0.000 0.000 timeit.py:143(setup) | |
1 0.000 0.000 37.747 37.747 timeit.py:178(timeit) | |
1 0.329 0.329 37.747 37.747 timeit.py:96(inner) | |
1 0.000 0.000 0.000 0.000 {gc.disable} | |
1 0.000 0.000 0.000 0.000 {gc.enable} | |
1 0.000 0.000 0.000 0.000 {gc.isenabled} | |
1 0.000 0.000 0.000 0.000 {globals} | |
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects} | |
1000 37.411 0.037 37.411 0.037 {sum} | |
2 0.000 0.000 0.000 0.000 {time.time} | |
None | |
f3 100002011 function calls in 28.044 seconds | |
Ordered by: standard name | |
ncalls tottime percall cumtime percall filename:lineno(function) | |
1 0.000 0.000 28.044 28.044 <string>:1(<module>) | |
1000 20.304 0.020 27.676 0.028 merge.py:11(f3) | |
1000 0.001 0.000 27.677 0.028 merge.py:42(<lambda>) | |
1 0.000 0.000 0.000 0.000 timeit.py:143(setup) | |
1 0.000 0.000 28.044 28.044 timeit.py:178(timeit) | |
1 0.367 0.367 28.044 28.044 timeit.py:96(inner) | |
1 0.000 0.000 0.000 0.000 {gc.disable} | |
1 0.000 0.000 0.000 0.000 {gc.enable} | |
1 0.000 0.000 0.000 0.000 {gc.isenabled} | |
1 0.000 0.000 0.000 0.000 {globals} | |
100000000 7.372 0.000 7.372 0.000 {method 'append' of 'list' objects} | |
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects} | |
2 0.000 0.000 0.000 0.000 {time.time} | |
None | |
f4 2011 function calls in 0.826 seconds | |
Ordered by: standard name | |
ncalls tottime percall cumtime percall filename:lineno(function) | |
1 0.000 0.000 0.826 0.826 <string>:1(<module>) | |
1000 0.463 0.000 0.463 0.000 merge.py:18(f4) | |
1000 0.001 0.000 0.464 0.000 merge.py:42(<lambda>) | |
1 0.000 0.000 0.000 0.000 timeit.py:143(setup) | |
1 0.000 0.000 0.826 0.826 timeit.py:178(timeit) | |
1 0.362 0.362 0.826 0.826 timeit.py:96(inner) | |
1 0.000 0.000 0.000 0.000 {gc.disable} | |
1 0.000 0.000 0.000 0.000 {gc.enable} | |
1 0.000 0.000 0.000 0.000 {gc.isenabled} | |
1 0.000 0.000 0.000 0.000 {globals} | |
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects} | |
2 0.000 0.000 0.000 0.000 {time.time} | |
None | |
f5 2011 function calls in 4.608 seconds | |
Ordered by: standard name | |
ncalls tottime percall cumtime percall filename:lineno(function) | |
1 0.000 0.000 4.608 4.608 <string>:1(<module>) | |
1000 4.253 0.004 4.253 0.004 merge.py:24(f5) | |
1000 0.001 0.000 4.254 0.004 merge.py:42(<lambda>) | |
1 0.000 0.000 0.000 0.000 timeit.py:143(setup) | |
1 0.000 0.000 4.608 4.608 timeit.py:178(timeit) | |
1 0.354 0.354 4.608 4.608 timeit.py:96(inner) | |
1 0.000 0.000 0.000 0.000 {gc.disable} | |
1 0.000 0.000 0.000 0.000 {gc.enable} | |
1 0.000 0.000 0.000 0.000 {gc.isenabled} | |
1 0.000 0.000 0.000 0.000 {globals} | |
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects} | |
2 0.000 0.000 0.000 0.000 {time.time} | |
None | |
f6 3011 function calls in 0.001 seconds | |
Ordered by: standard name | |
ncalls tottime percall cumtime percall filename:lineno(function) | |
1 0.000 0.000 0.001 0.001 <string>:1(<module>) | |
1000 0.000 0.000 0.001 0.000 merge.py:27(f6) | |
1000 0.000 0.000 0.001 0.000 merge.py:42(<lambda>) | |
1 0.000 0.000 0.000 0.000 timeit.py:143(setup) | |
1 0.000 0.000 0.001 0.001 timeit.py:178(timeit) | |
1 0.000 0.000 0.001 0.001 timeit.py:96(inner) | |
1000 0.000 0.000 0.000 0.000 {built-in method from_iterable} | |
1 0.000 0.000 0.000 0.000 {gc.disable} | |
1 0.000 0.000 0.000 0.000 {gc.enable} | |
1 0.000 0.000 0.000 0.000 {gc.isenabled} | |
1 0.000 0.000 0.000 0.000 {globals} | |
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects} | |
2 0.000 0.000 0.000 0.000 {time.time} | |
None |
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
#!/usr/bin/python | |
def f1(List): | |
x = [] | |
[ x.extend(y) for y in List ] | |
return x | |
def f2(List): | |
return sum(List, []) | |
def f3(List): | |
temp = [] | |
for i in List: | |
for j in i: | |
temp.append(j) | |
return temp | |
def f4(List): | |
result=[] | |
for i in List: | |
result += i | |
return result | |
def f5(List): | |
return [j for i in List for j in i] | |
import cProfile | |
import itertools | |
from faker import Faker | |
from timeit import Timer | |
s = Faker() | |
func = [ f1, f2, f3, f4, f5, f6 ] | |
Lis = [[ s.random_int(min=1, max=99) | |
for x in range(1000) ] | |
for x in range(100)] | |
for fun in func: | |
t = Timer(lambda: fun(Lis)) | |
print fun.__name__, cProfile.run('t.timeit(number=1000)') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment