PYTHONOMANIA
273 subscribers
195 photos
3 videos
1 file
616 links
Откройте для себя мир Python в PYTHONOMANIA!

Идеально подходит как для начинающих, так и для опытных разработчиков. Присоединяйтесь к нам, чтобы достичь совершенства в Python!

Сайт: https://pythonomania.github.io/
Download Telegram
📱NumCircBuf.

NumCircBuf —
это высокопроизводительная библиотека для Python (реализованная на Cython), предоставляющая численные циклические буферы (circular buffers) со статистическими аккумуляторами, работающими за константное время O(1).

Инструмент разработан специально для задач обработки сигналов в реальном времени, анализа временных рядов и других сценариев, критичных к задержкам, где требуется выжать максимум из аппаратной пропускной способности процессора и памяти.

🔹Главные фичи и преимущества:

🔘Бешеная производительность: За счет обхода стандартного оверхеда Python/NumPy библиотека работает в 500–1500 раз быстрее, чем collections.deque или обычные списки при массовом добавлении данных (extend), и до 10 раз быстрее кольцевых буферов на чистом NumPy. Тесты показывают пропускную способность до 73 ГБ/с!

🔘Статистика за O(1): Специализированные буферы мгновенно выдают скользящее среднее или среднеквадратичное значение без необходимости каждый раз пересчитывать все элементы в окне.

🔘Zero-Copy представления: Метод .view() возвращает логическое read-only представление буфера без копирования данных в памяти. Оно ведет себя в коде точно так же, как стандартный одномерный NumPy-массив.

🔘Строгая типизация и безопасность: Полная поддержка типов данных fp32, fp64, int32, int64, uint32 и uint64. Привычный API с методами append, extend и clear позволяет внедрить библиотеку как drop-in замену.

🛠Основные типы буферов в комплекте:

🔘OverwriteCircBuffer — оптимизирован для сценариев с высокой интенсивностью записи, где старые данные автоматически заменяются новыми.

🔘BlockingCircBuffer — потокобезопасный блокирующий буфер для многопоточных приложений (паттерн Producer/Consumer). Писатель засыпает, если буфер полон, а читатель ждет, если в буфере пусто.

🔘RunningMeanBuffer и RunningMeanSqBuffer — утилиты со встроенным O(1) расчетом среднего и среднеквадратичного значений с защитой от накопления погрешности округления (floating-point drift).

🔘IntegratedGatedBuffer — узкоспециализированный буфер для расчета интегральной стробированной громкости звука (по международному стандарту ITU-R BS.1770).

📦Установка:

pip install numcircbuf


#Python #Cython #NumPy #DataScience #SignalProcessing #TimeSeries #Performance #DevTools #OpenSource #Оптимизация

📱Ссылка на репозиторий:
https://github.com/basimali-ai/NumCircBuf
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍11