Результаты проведённых мной тестов (последний вариант с github) для x86-64 для C (Clang, GCC), Rust, Perl, Python, Ruby (время в секундах, меньше - лучше): matmul nqueen sudoku bedcov
c:clang (c3) 0.93 3.18 2.23 1.08
c:clang (u3) 0.92 3.20 2.20 1.08
c:clang (ca) 1.30 3.33 2.23 1.10
c:gcc (g3) 0.97 3.27 2.49 1.08
c:gcc (g3p) 0.92 3.33 2.66 1.07
c:gcc (g2) 2.22 3.27 2.83 1.05
rust (ra) 1.38 3.63 2.58 1.26
rust (rb) 1.09 3.72 2.60 1.29
perl 272.77 212.20 151.92
python 350.95 241.83 87.68 81.35
ruby 373.35 134.63 171.00
(c3) - clang -O3 (clang64)
(u3) - clang -O3 (ucrt64)
(ca) - clang с изначальными опциями компиляции (clang64)
(g3) - gcc -O3 (ucrt64)
(g3p) - gcc -O3 + PGO (Profile Guided Optimization) (ucrt64)
(g2) - gcc -O2 (ucrt64)
(ra) - rust с изначальными опциями компиляции (ucrt64)
(rb) - rust с указанием целевой архитектуры Intel Haswell (ucrt64)
Система:
Два процессора Intel Xeon E5 2678v3 (по 12 ядер Haswell в каждом процессоре, 3.3 ГГц по всем ядрам (анлок турбобуста)), 128 ГБ серверной DDR3 1866 MHz.
Windows 10 + MSYS2 (всё с последними обновлениями), при тестах устанавливалась схема управления энергопотреблением "Максимальная производительность".
Тесты запускались на RAM-диске. Время измерялось утилитой time (time -f %e). Тесты на C и Rust запускались раз по 10, для Perl, Python, Ruby - 2 раза, т.к. долго ждать.
Для каждого теста выбиралось наименьшее время по всем запускам.
Для C и Rust опции компиляции изменены, включая указание целевой архитектуры Intel Haswell, но также приведены результаты тестов с исходными опциями компиляции: (ca), (ra).
Все компиляторы и интерпретаторы из состава MSYS2.
GCC 13.2.0 (ucrt64)
Clang 17.0.6 (ucrt64 и clang64)
rustc 1.75.0 (82e1608df 2023-12-21) (Rev1, Built by MSYS2 project) (ucrt64)
perl 5.38.2 built for x86_64-msys-thread-multi (msys)
Python 3.11.6 (msys)
ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [x64-mingw-ucrt] (ucrt64)