ホームページ  >  記事  >  バックエンド開発  >  Python C のクイック CPU ベンチマーク

Python C のクイック CPU ベンチマーク

WBOY
WBOYオリジナル
2024-08-27 06:06:36376ブラウズ

Python C a Quick CPU Benchmark

Python 3.13 は 10 月にリリースされる予定ですが、最初のリリース候補は 8 月初めに公開されました。昨年、私はマンデルブロ集合計算を使用してバージョン 3.12 の CPU バウンド ベンチマークを簡単に実行しました。

すべてのファイルを配置したら、公式 Web サイトからバージョン 3.13RC をダウンロードし、M1 Mac Book Pro で 3 つのバージョンの Python をテストしました。

user@users-MacBook-Pro py_chat_ui % python --version
Python 3.11.9
user@users-MacBook-Pro py_chat_ui % python3 --version
Python 3.12.5
user@users-MacBook-Pro py_chat_ui % python3.13 --version
Python 3.13.0rc1

NumPy (バージョン 3.11、3.12、および 3.13RC1 に対応) に依存する実装の実行時間 (秒単位) は次のとおりです。

user@users-MacBook-Pro mandelbrot % python mandelbrot.py   
1 Execution Time: 6.305059909820557                   78513419
2 Execution Time: 6.282307863235474                   78513419
3 Execution Time: 6.473501920700073                   78513419
user@users-MacBook-Pro mandelbrot % python3 mandelbrot.py
1 Execution Time: 5.418003082275391                   78513419
2 Execution Time: 5.412122011184692                   78513419
3 Execution Time: 5.434246778488159                   78513419
user@users-MacBook-Pro mandelbrot % python3.13 mandelbrot.py
1 Execution Time: 7.197513818740845                   78513419
2 Execution Time: 7.212265968322754                   78513419
3 Execution Time: 7.200297832489014                   78513419

純粋な Python 実装の結果:

user@users-MacBook-Pro mandelbrot % python mandelbrot_pure.py
1 Execution Time: 41.18416976928711                   78513425
2 Execution Time: 41.16466403007507                   78513425
3 Execution Time: 41.148504972457886                   78513425
4 Execution Time: 41.55486297607422                   78513425
user@users-MacBook-Pro mandelbrot % python3 mandelbrot_pure.py
1 Execution Time: 49.806406021118164                   78513425
2 Execution Time: 49.485753774642944                   78513425
3 Execution Time: 49.52305006980896                   78513425
4 Execution Time: 49.57118225097656                   78513425
user@users-MacBook-Pro mandelbrot % python3.13 mandelbrot_pure.py
1 Execution Time: 41.07340693473816                   78513425
2 Execution Time: 41.08624267578125                   78513425
3 Execution Time: 41.09266400337219                   78513425
4 Execution Time: 41.1431610584259                   78513425

率直に言って、結果の一貫性のなさに混乱しています - 新しいほど良いというわけではありません :)

追伸>

参考として、JiT コンパイル済み Dart プログラムと AoT コンパイル済み C バージョンでマンデルブロ計算を実行します。

user@users-MacBook-Pro mandelbrot % dart mandelbrot.dart
1  Execution Time: 0.476                       78513425
2  Execution Time: 0.484                       78513425
3  Execution Time: 0.475                       78513425
user@users-MacBook-Pro mandelbrot % gcc -o mandelbrot mandelbrot.c -Ofast
user@users-MacBook-Pro mandelbrot % ./mandelbrot 
1 Execution Time: 0.256706           79394433
2 Execution Time: 0.234396           79394433
3 Execution Time: 0.234862           79394433

P.P.S. > これは、同じベンチマークが異なる言語で実装された GitHub リポジトリです。

P.P.P.S. > これは、Python、Numba、Mojo を比較した昨年の投稿です。

以上がPython C のクイック CPU ベンチマークの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。