実行環境
- OS: WIndows 11(24H2)
- CPU: Intel Core i7-10700K
- メモリ: 32GB DDR4 SDRAM
- 計測方法: timeコマンド(https://github.com/lukesampson/psutils)
注意事項
計測プログラム
素数カウンタを用い、100,000以下の素数が何個あるかを計算するプログラムで実行時間を計測します。
例)
import sys
def is_prime(n: int) -> bool:
if n < 2:
return False
for i in range(2, n):
if n % i == 0:
return False
return True
def main():
total = 0
for i in range(int(sys.argv[1]) + 1):
if is_prime(i):
total += 1
print(total)
if __name__ == '__main__':
main()
速度ランキング
速度順位 | プログラミング言語 | 最適化オプション | 実行時間(秒) | バージョン等 |
---|---|---|---|---|
1 | C | -O3 | 1.016 | gcc.exe (x86_64-posix-seh-rev1, Built by MinGW-Builds project) 14.2.0 |
2 | C# | /o | 1.042 | Microsoft (R) Visual C# Compiler version 4.8.9232.0 |
3 | C++ | -O3 | 1.05 | g++.exe (x86_64-posix-seh-rev1, Built by MinGW-Builds project) 14.2.0 |
4 | Rust | opt-level=3 | 1.061 | rustc 1.78.0 (9b00956e5 2024-04-29) |
5 | Swift | -O | 1.086 | Swift version 6.0.3 (swift-6.0.3-RELEASE) |
6 | Java | 1.121 | openjdk 11.0.25 2024-10-15 LTS | |
7 | Kotlin | 1.419 | Kotlin version 2.1.10-release-473 (JRE 23.0.2+7-58) | |
8 | JavaScript | 1.434 | Node.js v23.7.0 | |
9 | Go | 3.578 | go version go1.23.5 windows/amd64 | |
10 | Python | 26.761 | Python 3.13.1 (tags/v3.13.1:0671451, Dec 3 2024, 19:06:28) [MSC v.1942 64 bit (AMD64)] | |
11 | Ruby | 31.587 | ruby 3.4.1 (2024-12-25 revision 48d4efcb85) +PRISM [x64-mingw-ucrt] |
まとめ
上記しましたが、本ランキングはあくまでも単純かつシーケンシャルな計算速度を計測したに過ぎません。
詳細な速度を比較したい場合は「The Computer Language Benchmarks Game」などから確認すると良いと思います。

コメント