в тему к "c++ всё". Benchmarks Game
Но что интересно, C# Core не сильно отстает от плюсов.
А java просто смешна. Как мерять жаву? Учли ли мы время старта?
Как говорится плохому танцору!
Здравствуйте, varenikAA, Вы писали:
AA>в тему к "c++ всё". AA>Benchmarks Game AA>Но что интересно, C# Core не сильно отстает от плюсов. AA>А java просто смешна. Как мерять жаву? Учли ли мы время старта? AA>Как говорится плохому танцору!
Такое ощущение, что они для Java забыли использовать JIT-компилятор.
Здравствуйте, Maniacal, Вы писали:
M>Такое ощущение, что они для Java забыли использовать JIT-компилятор.
Не, жаба она такая и есть. Неповоротливая, прожорливая и ленивая. Там где это некритично — вполне годится конечно.
Здравствуйте, varenikAA, Вы писали:
AA>А java просто смешна. Как мерять жаву? Учли ли мы время старта? AA>Как говорится плохому танцору!
Хорошо там что-нибудь более крупное померить. Вроде прожёвывания преогромных XML через XSLT и ручной код. А то эти мне олимпиадники с этими их бенчмарками---
Здравствуйте, varenikAA, Вы писали:
AA>в тему к "c++ всё". AA>Benchmarks Game AA>Но что интересно, C# Core не сильно отстает от плюсов. AA>А java просто смешна. Как мерять жаву? Учли ли мы время старта?
Код на жаве такое ощущение, что гонки устроил. 4 ядра, в 5 раз медленнее. 1 ядро работает, 3 ждут и ещё 1 секунда на мутексы.
AA>А java просто смешна. Как мерять жаву? Учли ли мы время старта?
How programs are timed
Each program is run as a child-process of a Python script using Popen:
secs — The time is taken before forking the child-process and after the child-process exits, using time.time()
cpu — The script child-process usr+sys rusage time is taken using os.wait3. Rarely (for example OCaml), that may not measure all processes forked from the script child-process.
busy — The GTop cpu idle and GTop cpu total are taken before forking the child-process and after the child-process exits. The sum of GTop cpu not-idle for each core, scaled by secs.
Если есть желание — найдется 1000 возможностей.
Если нет желания — найдется 1000 причин.
Здравствуйте, Слава, Вы писали:
С>Здравствуйте, varenikAA, Вы писали:
AA>>А java просто смешна. Как мерять жаву? Учли ли мы время старта? AA>>Как говорится плохому танцору!
С>Хорошо там что-нибудь более крупное померить. Вроде прожёвывания преогромных XML через XSLT и ручной код. А то эти мне олимпиадники с этими их бенчмарками---
Проблем в том, что пока джава будет "разогреваться", другой уже посчитает.
Помню как на GlassFish публиковал по несколько минут небольшое приложение, а оно еще могло по памяти не пролезть.
Потом на jetty переполз полегче стало, а потом как-то интерес к яве потерял.
Здравствуйте, k55, Вы писали:
AA>>А java просто смешна. Как мерять жаву? Учли ли мы время старта? k55>
k55>How programs are timed
k55>Each program is run as a child-process of a Python script using Popen:
k55> secs — The time is taken before forking the child-process and after the child-process exits, using time.time()
k55> cpu — The script child-process usr+sys rusage time is taken using os.wait3. Rarely (for example OCaml), that may not measure all processes forked from the script child-process.
k55> busy — The GTop cpu idle and GTop cpu total are taken before forking the child-process and after the child-process exits. The sum of GTop cpu not-idle for each core, scaled by secs.
Да, это я процитировал с сайта, почему-то ява как почетный пенсионер с какими-то особыми условиями. Льготница.
AA>Да, это я процитировал с сайта, почему-то ява как почетный пенсионер с какими-то особыми условиями. Льготница.
Ааа, тогда все заиграло иными красками.
Если есть желание — найдется 1000 возможностей.
Если нет желания — найдется 1000 причин.
Здравствуйте, varenikAA, Вы писали:
AA>в тему к "c++ всё". AA>Benchmarks Game AA>Но что интересно, C# Core не сильно отстает от плюсов. AA>А java просто смешна. Как мерять жаву? Учли ли мы время старта? AA>Как говорится плохому танцору!
Интересно в коде аж AVX512 встречается, но компилируют под -march=core2
Здравствуйте, varenikAA, Вы писали: AA>А java просто смешна. Как мерять жаву? Учли ли мы время старта?
Чтобы время старта не влияло можно скомпилировать код с помощью GraalVM.
Например, для Quarkus в нативном режиме время старта меньше приблизительно в 10 раз (сотые доли секунды).
Можно попробовать скомпилировать и другие языки через GraalVM: Scala,Kotlin, JavaScript, Ruby, Python, R.
Здравствуйте, reson, Вы писали:
R>Здравствуйте, varenikAA, Вы писали: AA>>А java просто смешна. Как мерять жаву? Учли ли мы время старта?
R>Чтобы время старта не влияло можно скомпилировать код с помощью GraalVM. R>Например, для Quarkus в нативном режиме время старта меньше приблизительно в 10 раз (сотые доли секунды). R>Можно попробовать скомпилировать и другие языки через GraalVM: Scala,Kotlin, JavaScript, Ruby, Python, R.
Пробовал я clojure в native, но что-то не получилось, вникать было лень, а так GraalVM норм.
Здравствуйте, Sheridan, Вы писали:
S>Здравствуйте, Maniacal, Вы писали:
M>>Такое ощущение, что они для Java забыли использовать JIT-компилятор. S>Не, жаба она такая и есть. Неповоротливая, прожорливая и ленивая. Там где это некритично — вполне годится конечно.
Хочешь сказать на мобильниках?
Всё сказанное выше — личное мнение, если не указано обратное.
Здравствуйте, Философ, Вы писали:
M>>>Такое ощущение, что они для Java забыли использовать JIT-компилятор. S>>Не, жаба она такая и есть. Неповоротливая, прожорливая и ленивая. Там где это некритично — вполне годится конечно. Ф> Ф>Хочешь сказать на мобильниках?
Нет. Некритично это когда "бизнесу ннада". Ну, то есть когда руководству плевать.
Здравствуйте, Sheridan, Вы писали:
S>>>Не, жаба она такая и есть. Неповоротливая, прожорливая и ленивая. Там где это некритично — вполне годится конечно. Ф>> Ф>>Хочешь сказать на мобильниках? S>Нет. Некритично это когда "бизнесу ннада". Ну, то есть когда руководству плевать.
Как ты загадочно выражаешься — я аж в нирвану ушёл на некоторое время.
Всё сказанное выше — личное мнение, если не указано обратное.
Здравствуйте, Слава, Вы писали:
С>Хорошо там что-нибудь более крупное померить. Вроде прожёвывания преогромных XML через XSLT и ручной код. А то эти мне олимпиадники с этими их бенчмарками---
Тесты максимально честные: вот задача, вот исходные данные, вот язык — крутись на нём как хочешь, а результат должен получиться вот такой.
С XML выиграет тот, кто напишет максимально быстрый (и максимально простой и кривой) XML-парсер под данную конкретную задачу. Собственно, задача отличается от предлагаемых только сложностью. Вряд ли на неё найдётся много желающих.
Здравствуйте, alexzzzz, Вы писали:
A>Тесты максимально честные: вот задача, вот исходные данные, вот язык — крутись на нём как хочешь, а результат должен получиться вот такой.
A>С XML выиграет тот, кто напишет максимально быстрый (и максимально простой и кривой) XML-парсер под данную конкретную задачу. Собственно, задача отличается от предлагаемых только сложностью. Вряд ли на неё найдётся много желающих.
Так не напишут же, охренеют они столько писать. В этом и смысл, чтобы подавить олимпиадное выдрючивание "мы ща сами всё напишем, мы-то умные, не то что эти!!!!111одинодин", и заставить использовать уже готовые библиотеки. А вот тут-то у явы внезапно может оказаться огромное преимущество.
Здравствуйте, Слава, Вы писали:
С>Так не напишут же, охренеют они столько писать. В этом и смысл, чтобы подавить олимпиадное выдрючивание "мы ща сами всё напишем, мы-то умные, не то что эти!!!!111одинодин", и заставить использовать уже готовые библиотеки. А вот тут-то у явы внезапно может оказаться огромное преимущество.
Сравнение-то языков, а не библиотек, которые могут быть написаны на чём угодно. Есть библиотека ― вызывай её откуда хочешь/можешь. Язык не при чём.
Здравствуйте, alexzzzz, Вы писали:
A>Сравнение-то языков, а не библиотек, которые могут быть написаны на чём угодно. Есть библиотека ― вызывай её откуда хочешь/можешь. Язык не при чём.
Видите ли, на основании подобных бенчмарков делаются излишне далеко идущие выводы, что дескать такой-то язык плох, и писать на нём не следует. Вот в треде яву уже обругали. А при необходимости использования библиотек возникнет примерно такой диалог:
— Ява-то ваша — дрянь. То ли дело плюсЫ, на них можно написать всё, даже небо, даже Аллаха.
— А вы бенчмарк-то напишите не на яве.
— Библиотек нет, там работы на год, а я высокококооплачиваемый специалист, мне некогда.
— А чего ж библиотеку-то такую на плюсАх ещё не написали? Если плюсЫ столь хороши.
— Бэээ...
— Наверное, не всё можно написать а? Если не в воображении, а в реальности, используя реально существующих программистов и те деньги, которые на разработку могут дать.
— Мээээ...
— А ты в Бобруйск ездил? А? Ездил в Бобруйск? Чего заныл? Ездил?