Rumah >pembangunan bahagian belakang >Tutorial Python >Python C Penanda Aras CPU Pantas

Python C Penanda Aras CPU Pantas

WBOY
WBOYasal
2024-08-27 06:06:36397semak imbas

Python C a Quick CPU Benchmark

Python 3.13 akan dikeluarkan pada bulan Oktober, namun calon keluaran pertama telah diterbitkan lebih awal pada bulan Ogos. Tahun lepas, saya melakukan penanda aras terikat CPU pantas versi 3.12 menggunakan pengiraan set Mandelbrot.

Dengan semua fail tersedia, saya memuat turun versi 3.13RC dari tapak web rasmi dan menguji 3 versi Python pada M1 Mac Book Pro saya:

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

Berikut ialah masa pelaksanaan (dalam saat) untuk pelaksanaan bergantung pada NumPy (versi 3.11, 3.12 dan 3.13RC1 yang sepadan):

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

Dan keputusan untuk pelaksanaan Python tulen:

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

Terus terang, saya keliru dengan keputusan yang tidak konsisten - lebih baru tidak bermakna lebih baik :)

P.S. >

Untuk rujukan, jalankan pengiraan Mandelbrot dengan program Dart kompilasi JiT dan versi C kompilasi AoT:

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. > Berikut ialah repo GitHub dengan penanda aras yang sama dilaksanakan dalam bahasa yang berbeza.

P.P.P.S. > Berikut ialah siaran tahun lepas yang membandingkan Python, Numba dan Mojo.

Atas ialah kandungan terperinci Python C Penanda Aras CPU Pantas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn