Skip to content

Instantly share code, notes, and snippets.

@mugenen
Created December 24, 2012 16:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mugenen/4369891 to your computer and use it in GitHub Desktop.
Save mugenen/4369891 to your computer and use it in GitHub Desktop.
日記ネタ: list, array, numpy.arrayの処理時間
import timeit
common_for = """
for d in data:
s += d
"""
common_sum = """
sum(data)
"""
common_numpy_sum = """
numpy.sum(data)
"""
def timeit_list(n, iter):
list_setup = """
import numpy
data = [1] * {}
s = 0
""".format(n)
print 'list:',
print timeit.timeit(common_for, list_setup, number = iter),
print timeit.timeit(common_sum, list_setup, number = iter),
print timeit.timeit(common_numpy_sum, list_setup, number = iter)
def timeit_array(n, iter):
array_setup = """
import numpy
import array
data = array.array('L', [1] * {})
s = 0
""".format(n)
print 'array:',
print timeit.timeit(common_for, array_setup, number = iter),
print timeit.timeit(common_sum, array_setup, number = iter),
print timeit.timeit(common_numpy_sum, array_setup, number = iter)
def timeit_numpy(n, iter):
numpy_setup = """
import numpy
data = numpy.array([1] * {})
s = 0
""".format(n)
print 'numpy.array:',
print timeit.timeit(common_for, numpy_setup, number = iter),
print timeit.timeit(common_sum, numpy_setup, number = iter),
print timeit.timeit(common_numpy_sum, numpy_setup, number = iter)
if __name__ == '__main__':
timeit_list(100000, 1000)
timeit_array(100000, 1000)
timeit_numpy(100000, 1000)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment