Сегодня я попробовал оценить производительность
dotnet core 3.1 (C#, F#)
Clojure (uberjar, openJDK)
Nemerle (mono)
C# (mono-roslyn)
Pure Java(openJDK)
Маскимальную производительность показала Java, после обработки модулем - native-image из GraalVM. Данный модуль генерирует двоичный исполняемый файл по формату скорее всего такой же как c, т.к. требует на ubuntu glibc-dev и gcc.
Что удивительно, преобразование Clojure программы в native-image практически не изменило скорость работы ПО. Да программа была простейшей, вывод строки на консоль. Поэтому скорее замерялась загрузку программы и ее запуск, а не фактическое быстродействие. Но для меня чисто психологически это очень важный показатель.
То что работает из коробки это C# (mono-roslyn), ему в спину дышит Nemerle, java отстала в 1,5 раза, dotnet отстал от java в 2 раза.
кложа не зависимо от способа сборки старует более секунды, против 40 мс того же корэ.
dotnet core 3.1 (C#, F#)
Clojure (uberjar, openJDK)
Nemerle (mono)
C# (mono-roslyn)
Pure Java(openJDK)
Маскимальную производительность показала Java, после обработки модулем - native-image из GraalVM. Данный модуль генерирует двоичный исполняемый файл по формату скорее всего такой же как c, т.к. требует на ubuntu glibc-dev и gcc.
Что удивительно, преобразование Clojure программы в native-image практически не изменило скорость работы ПО. Да программа была простейшей, вывод строки на консоль. Поэтому скорее замерялась загрузку программы и ее запуск, а не фактическое быстродействие. Но для меня чисто психологически это очень важный показатель.
То что работает из коробки это C# (mono-roslyn), ему в спину дышит Nemerle, java отстала в 1,5 раза, dotnet отстал от java в 2 раза.
кложа не зависимо от способа сборки старует более секунды, против 40 мс того же корэ.
Комментарии
Отправить комментарий