The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Сравнение эффективности 20 языков программирования"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Есть идеи по улучшению форума и сайта ? Пишите.
. "Сравнение эффективности 20 языков программирования" +2 +/
Сообщение от Ivan7 (ok), 06-Янв-24, 05:48 
Результаты проведённых мной тестов (последний вариант с 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)

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Сравнение эффективности 20 языков программирования, opennews, 03-Янв-24, 11:05  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру