Почему Python + Numba обгоняет C? Эксперимент с алгоритмом прогонки

Все знают, что C быстрее Python. Но мы провели эксперимент с алгоритмом прогонки и обнаружили, что Numba (JIT-компилятор для Python) обгоняет наивный C на 20–25%. Разбираемся, почему так происходит, и сравниваем точность float32/float64.

https://habr.com/ru/articles/1012122/

#Python #C #Numba #NumPy #производительность #алгоритмы #численные_методы #оптимизация #прогонка

Почему Python + Numba обгоняет C? Эксперимент с алгоритмом прогонки

Все знают: если нужно быстро считать – пиши на C. Python – для прототипов, но в продакшене он тормозит. Однако с появлением NumPy и JIT-компиляторов (Numba) границы стираются. Более того, в некоторых...

Хабр
很多 Python 加速的方法

Gea-Suan Lin's BLOG

I just released v1.1.0 of Complexitty, my little #Mandelbrot explorer for the #terminal. This release is all about an optional method of making it faster.

#python #programming #textual #numba

https://blog.davep.org/2026/02/28/complexitty-1-1-0.html

Complexitty v1.1.0

![Complexitty](https://complexitty.davep.dev/)

davep
結局Pythonは遅いのか?を“最小ベンチ”で決着:プロファイル→ベクトル化→Numba - Qiita

forループで回すと遅い…でも「Pythonは遅い」で片付けていいのか? この記事は、ダミーデータの“最小ベンチ”で どこが遅いのかをプロファイルし、NumPyベクトル化 と Numba で改善する流れを紹介します。 Google Colabで実行可能な 1セル→主要結果→...

Qiita
Achieve incredible computing capabilities with our #GPU Programming workshops. We will teach you the basics knowledge of #Numba and #CuPy required to start a journey in the world of GPUs. Registration is open for GPU Programming workshop!
https://www.esciencecenter.nl/event/gpu-programming-6/

Currently playing with adding optional #Numba support to Complexitty; my #Mandelbrot plotter for the #terminal. The speedup is okay.

Given this zoom and position, on my M2 Mac mini, 0.8 seconds. With Numba: 0.2 seconds.

I should give it a spin on my M2 Pro mini.

Without Numba on my 2019 Intel MacBook Pro the same spot takes about 2 seconds.

#Python #programming

@jimgar Somewhat tongue in cheek but this older benchmark shows a couple of things about base #Python vs base #Rstats vs #Perl and (surprisingly for those who don't know it exists) how fast the Perl authothreading library #PDL is vs #numba

https://chrisarg.github.io/Killing-It-with-PERL/2024/07/07/The-Quest-For-Performance-Part-II-PerlVsPython.md.html

Base #Rstats is highly optimized and the #Pythonistas unfortunately take a performance hit that they are mostly unaware about.

This and a few other other examples made me not transition to Python. #rstats ftw

The Quest for Performance Part II : Perl vs Python

Having run this toy performance example, we will now digress somewhat and contrast the performance against a few Python implementations. First let’s set up the stage for the calculations, and provide commandline capabilities to the Python script. ```python import argparse import time import math import numpy as np import os from numba import njit from joblib import Parallel, delayed

Killing-It-with-PERL

A few years ago, the #ROCm backend for @numba was removed. #TIL that AMD is now actively developing a HIP backend!

https://github.com/ROCm/numba-hip

#python #numpy #numba #gpu #amd

GitHub - ROCm/numba-hip: HIP backend patch for Numba, the NumPy aware dynamic Python compiler using LLVM.

HIP backend patch for Numba, the NumPy aware dynamic Python compiler using LLVM. - ROCm/numba-hip

GitHub

Python: Schneller als man denkt

Beginn einer Artikelserie zum Thema schneller Python Code. Eine Einführung mit einer Auflistung verschiedener Strategien die verglichen werden.

#Python #Cython #Numpy #Numba #Linux

https://gnulinux.ch/python-schneller-als-man-denkt

Python: Schneller als man denkt

Beginn einer Artikelserie zum Thema schneller Python Code. Eine Einführung mit einer Auflistung verschiedener Strategien die verglichen werden.

GNU/Linux.ch

Бэктестинг торговых стратегий на Python с помощью Numba. Когда перевод расчетов на GPU действительно оправдан?

Бэктестинг — ключевой процесс в алгоритмической торговле. Он позволяет проверить стратегию на исторических данных, прежде чем запускать её в реальной торговле. Однако, чем больше данных и сложнее логика стратегии, тем дольше времени занимают вычисления. Особенно если стратегия анализирует тиковые данные и требуется протестировать множество комбинаций гиперпараметров стратегии, время вычислений может расти экспоненциально. В этой статье мы разберем, как реализовать бэктестинг на чистом Python, посмотрим сколько времени могут занимать вычисления, а также попробуем найти разные способы оптимизации. Python, как известно — это интерпретируемый язык, что означает, что код выполняется построчно во время исполнения программы, а не компилируется в машинный код заранее, как это происходит, например, в C или C++. Это делает разработку быстрее и удобнее, так как можно сразу видеть результаты выполнения кода и легко отлаживать программы. Но этот же факт, в свою очередь, приводит к тому, что Python заметно уступает в скорости более низкоуровневым языкам. К тому же Python использует динамическую типизацию, что требует дополнительных проверок и снижает производительность и если данных очень много, это может приводить к значительным сложностям, связанным с увеличением времени вычислений. Как же использовать ту легкость и скорость разработки Python и при этом сохранить адекватное время вычислений на больших объемах данных? В этой статье мы увидим, насколько перенос вычислений на GPU может увеличить производительность вычислений.

https://habr.com/ru/articles/893748/

#python #cuda #numba #gpu #backtesting #производительность

Бэктестинг торговых стратегий на Python с помощью Numba. Когда перевод расчетов на GPU действительно оправдан?

Введение Бэктестинг — ключевой процесс в алгоритмической торговле. Он позволяет проверить стратегию на исторических данных, прежде чем запускать её в реальной торговле. Однако, чем больше данных и...

Хабр