LINUX.ORG.RU

История изменений

Исправление Norgat, (текущая версия) :

Если хочешь ответить на вопрос почему такой разброс - изучи код бенчей вот тут https://benchmarksgame-team.pages.debian.net/benchmarksgame/

Для языков, где активное комьюнити, реализация решения одних и тех же задач может значительно отличаться от ЯП к ЯП.

По твоей же ссылке, если зайти на шитхаб, какая-то детская поделка, практически не учитывающая особенности реализации ЯП (да, есть минимальные отличия). А в таких задачах, на числодробилки, может, например, сильно влиять - подхватил ли язык SSE или нет.

Учитывая, что SSE нужно для ограниченного класса задач (с которым сталкивается довольно небольшой процент прикладных разработчиков), то и использование SSE в конкретном ЯП может не оптимизироваться компилятором (ибо кому надо - возьмут библиотечные функции).

PS https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/csharp.html

Вот отличный пример. Топовая реализация на шарпах - 2 сек, прямое использование SSE. Шарпы #9 (чуть быстрее Java версии) - реализация в лоб. Разница в производительность x5.

PSS Осознал, что в бенче случай еще более экзотический - arm64-darwin. Те в числодробилках тестим наличие оптимизации под ARM Neon (или что там является актуальным аналогом SSE) при наивной реализации алгоритмов?

Исправление Norgat, :

Если хочешь ответить на вопрос почему такой разброс - изучи код бенчей вот тут https://benchmarksgame-team.pages.debian.net/benchmarksgame/

Для языков, где активное комьюнити, реализация решения одних и тех же задач может значительно отличаться от ЯП к ЯП.

По твоей же ссылке, если зайти на шитхаб, какая-то детская поделка, практически не учитывающая особенности реализации ЯП (да, есть минимальные отличия). А в таких задачах, на числодробилки, может, например, сильно влиять - подхватил ли язык SSE или нет.

Учитывая, что SSE нужно для ограниченного класса задач (с которым сталкивается довольно небольшой процент прикладных разработчиков), то и использование SSE в конкретном ЯП может не оптимизироваться компилятором (ибо кому надо - возьмут библиотечные функции).

PS https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/csharp.html

Вот отличный пример. Топовая реализация на шарпах - 2 сек, прямое использование SSE. Шарпы #9 (чуть быстрее Java версии) - реализация в лоб. Разница в производительность x5.

Исходная версия Norgat, :

Если хочешь ответить на вопрос почему такой разброс - изучи код бенчей вот тут https://benchmarksgame-team.pages.debian.net/benchmarksgame/

Для языков, где активное комьюнити, реализация решения одних и тех же задач может значительно отличаться от ЯП к ЯП.

По твоей же ссылке, если зайти на шитхаб, какая-то детская поделка, практически не учитывающая особенности реализации ЯП (да, есть минимальные отличия). А в таких задачах, на числодробилки, может, например, сильно влиять - подхватил ли язык SSE или нет.

Учитывая, что SSE нужно для ограниченного класса задач (с которым сталкивается довольно небольшой процент прикладных разработчиков), то и использование SSE в конкретном ЯП может не оптимизироваться компилятором (ибо кому надо - возьмут библиотечные функции).