libdivide
Ускоренное целочисленное деление через оптимизацию сдвигов и умножений, дающее до 10× прирост производительности на микроконтроллерах
Установка
Последняя опубликованная версия- Скачайте архив — реестр отдает его уже проверенным.
- В Arduino IDE выберите «Скетч → Подключить библиотеку → Добавить .ZIP библиотеку».
- Укажите скачанный файл — библиотека появится в списке доступных.
SHA-256:6495c4e1c2a74ad28dc927977d4305441e1dcf86e3a94634d06d904dc4129639libdivide-5.3.0-6495c4e1.zipОписание
Целочисленное деление — один из самых медленных операций на современных процессорах: на x64 64-битное деление может занять до 90 тактов, тогда как умножение — всего 3 такта. libdivide переводит деление в последовательность сдвигов, сложений и умножений, которые работают намного быстрее. На текущем оборудовании вы получите ускорение до 10× для 64-битных чисел и до 5× для 32-битных. Библиотека поддерживает векторные операции через SSE2, AVX2, AVX512, NEON и SVE, что даёт дополнительный прирост производительности. Особенно полезна на 8-битных микроконтроллерах вроде AVR, где нет аппаратного делителя — компилятор не оптимизирует деление на 16-битные константы, а libdivide решает эту проблему через готовые макросы и шаблоны. Это заголовочная библиотека без зависимостей.