>  기사  >  백엔드 개발  >  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월 초에 공개되었습니다. 작년에 저는 Mandelbrot 집합 계산을 사용하여 버전 3.12의 빠른 CPU 바인딩 벤치마크를 수행했습니다.

모든 파일을 준비한 후 공식 웹사이트에서 버전 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

솔직히 결과가 일관되지 않아 혼란스럽습니다. 최신이라고 해서 더 좋은 것은 아닙니다 :)

P.S. >

참고로 JiT 컴파일된 Dart 프로그램 및 AoT 컴파일된 C 버전을 사용하여 Mandelbrot 계산을 실행합니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.