Comparison of processing speed of basic Python functions.
Basically, data size N = 10^6.
input() vs sys.stdin.readline()
# input()
N = int (input ())
A = [int (input ()) for _ in range (N )]
# sys.stdin.readline()
import sys
input = sys .stdin .readline
N = int (input ())
A = [int (input ()) for _ in range (N )]
mean(ms)
std(ms)
input()
392.40
24.36
sys.stdin.readline()
37.09
1.88
A is a list whose elements are random integer values.
mean(ms)
std(ms)
sort()
88.54
56.98
sorted()
127.03
7.51
A is a two-dimensional array whose elements are random integer values.
# sort, lambda
A .sort (key = lambda x : x [1 ])
# sort, itemgetter
from operator import itemgetter
A .sort (key = itemgetter (1 ))
# sorted, lambda
A = sorted (A , key = lambda x : x [1 ])
# sorted, itemgetter
from operator import itemgetter
A = sorted (A , key = itemgetter (1 ))
mean(ms)
std(ms)
sort, lambda
641.17
29.69
sort, itemgetter
521.91
4.91
sorted, lambda
688.45
35.24
sorted, itemgetter
588.17
15.32
# for _ in range(N)
for _ in range (N ):
pass
# for i in range(N)
for i in range (N ):
i
# while i < N
i = 0
while i < N :
i += 1
mean(ms)
std(ms)
for _ in range(N)
20.63
0.89
for i in range(N)
25.66
0.93
while i < N
51.36
1.44
# [None for _ in range(N)]
[None for _ in range (N )]
mean(ms)
std(ms)
[None] * N
5.15
0.41
[None for _ in range(N)]
41.17
2.05
# for i in range(len(A))
for i in range (len (A )):
A [i ]
# for a in A
for a in A :
a
mean(ms)
std(ms)
for i in range(len(A))
41.14
0.56
for a in A
11.85
1.51
# append()
A = []
for i in range (N ):
A .append (i )
# A[i] = i
A = [None ] * N
for i in range (N ):
A [i ] = i
# [i for i in range(N)]
A = [i for i in range (N )]
mean(ms)
std(ms)
append()
103.99
2.62
A[i] = i
70.97
3.93
[i for i in range(N)]
65.83
3.20