Python Speed Comparison
Comparison of processing speed of basic Python functions.
Result
Basically, data size N = 10^6.
Standard Input
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 |

Sort
sort() vs sorted()
A is a list whose elements are random integer values.
|
mean(ms) |
std(ms) |
sort() |
88.54 |
56.98 |
sorted() |
127.03 |
7.51 |

key of sort
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 |

Loop
for vs while
# 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 |
.png)
List
Initialize the list
# [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 |
.png)
Refer to in the list
# 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 |
.png)
Add to the list
# 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 |
.png)
Usage