
На рисунке выше я сравнил время выполнения БПФ для входных данных размером $2^{order}$. Как и ожидалось, время выполнения увеличивается экспоненциально как $~2^{order}$.
Проект C++ компилируется с использованием -O3. Тем не менее, он на порядок медленнее, чем Java, когда порядок БПФ больше 10. Я полностью удивлен этим результатом.
Некоторые другие технические подробности о моем компьютере:
- Версия Java: версия Java «1.8.0_441»
- Версия gcc: gcc.exe (Rev3, построена MSYS2) проект) 13.2.0
- ЦП: Intel(R) Core(TM) 12-го поколения i7-1255U (1,70 ГГц) 10-ядерный
- ОЗУ: 16,0 ГБ (15,7 ГБ полезного)
- На рисунке показаны средства 72 прогона в каждом заказе БПФ. Когда порядок БПФ больше 10, отклонение выполнения намного меньше соответствующего среднего значения выполнения.
- Все коды являются однопоточными.
- Код не предназначен для оптимизации под какой-либо язык программирования.
- В моем ноутбуке нет графического процессора, и коды не компилируются для какого-либо процессора.
- Информацию о запуске каждого из них см. в README.
Код: Выделить всё
"args": [
"--std",
"c++23",
"-fdiagnostics-color=always",
"-g",
"-O3",
],
Подробнее здесь: https://stackoverflow.com/questions/798 ... omputation
Мобильная версия