Rumah >pembangunan bahagian belakang >Tutorial Python >Python C Penanda Aras CPU Pantas
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!