Интересно, существует ли какое-либо надежное сравнение производительности между "современными" специализированными на многопоточности языками как, например, scala и "классическими" языками "низшего уровня" как C, C++, Фортран с помощью параллели освобождает как MPI, Posix или даже OpenMP.
Любые ссылки и приветствующиеся предложения.
Учитывая, что Java и, следовательно, Scala могут вызывать внешние библиотеки, и учитывая, что эти узкоспециализированные внешние библиотеки будут выполнять большую часть работы, то производительность будет одинаковой, пока используются одни и те же библиотеки.
В остальном, любое подобное сравнение, по сути, бессмысленно. Код Scala работает на виртуальной машине, которая имеет оптимизацию времени выполнения. Эта оптимизация может подтолкнуть долго работающие программы к большей производительности, чем программы, скомпилированные на других языках - или нет. Это зависит от конкретной программы, написанной на каждом языке.
Я бы рассматривал такие сравнения как дробь. Числитель - константа (около 0.00001, я полагаю). Знаменатель - число потоков, умноженное на число логических процессоров.
То есть, для одного потока сравнение имеет примерно один шанс из миллиона, что оно что-то значит. Для четырехъядерного процессора, на котором работает приложение с (скажем) 16 потоками, вероятность получения значимого результата составляет один шанс из 64 миллионов.
Короче говоря, над этим, несомненно, работает довольно много людей, но вероятность того, что хоть один из них даст полезный и значимый результат, крайне мала. Хуже того, даже если один из них действительно что-то значит, это будет почти невозможно найти, и еще труднее проверить до такой степени, чтобы вы действительно знали, что это что-то значит.
Вот еще один неответ: сходите в местный суперкомпьютерный центр и спросите, какая доля загрузки процессора используется каждым из интересующих вас языков. Это даст вам лишь косвенный ответ на ваш вопрос, он скажет вам, что люди, которые заботятся о высокой производительности таких машин, используют их при решении тех задач, которые они решают. Но это так же поучительно, как и любой другой ответ, который вы можете получить на такой широкий вопрос.
PS Ответ будет таким: Fortran, C и C++ потребляют гораздо больше 95% циклов процессора.