vak: (Default)
[personal profile] vak
github.com/bddicken/languages

На настоящий момент сравниваются языки Kotlin, C, Go, Rust, Node, Bun, Deno, PyPy, Java, Ruby, PHP, R, Python, Dart. Жаль нету Swift и Perl.

Два теста:
  • loops
  • fibonacci
Предлагается добавлять новые тесты и языки.

Date: 2024-11-27 03:20 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
С jvm неудивительно. Как-то ставили опыт, игру "жизнь" гоняли на нейтив скале и на джейвиэмной. Сначала джейвиэмная тормозила, но потом как ломанулась, и уделала сильно.

Date: 2024-11-27 05:17 (UTC)
archaicos: Шарж (Default)
From: [personal profile] archaicos
Там в ржавчине включена проверка переполнений? Может, её отключить надо?

Date: 2024-11-27 01:57 (UTC)
ircicq: (Default)
From: [personal profile] ircicq
Fibonacci на Си почему-то написан через рекурсию, хотя проще и быстрее циклом.

Date: 2024-11-27 02:05 (UTC)
ircicq: (Default)
From: [personal profile] ircicq
Лучше бы выбрали Функцию, не реализуемую кроме как рекурсией,
например https://en.wikipedia.org/wiki/Ackermann_function
Edited Date: 2024-11-27 02:05 (UTC)

Date: 2024-12-01 21:36 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
Можно же добавить тест-кейс, и послать им пулреквест.

Date: 2024-11-27 03:21 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
Фибоначчи проще через формулу.

Date: 2024-11-27 22:00 (UTC)
From: [personal profile] sassa_nf
OpenJDK 11
Benchmark           (size)  Mode  Cnt       Score      Error  Units
Fibo.FiboRecursive      40  avgt   25  922753.617 ± 2747.036  us/op

0.9s, basically.


OpenJDK 17
Benchmark           (size)  Mode  Cnt        Score      Error  Units
Fibo.FiboRecursive      40  avgt   25  1032010.482 ± 8309.430  us/op

1s, basically.


OracleJDK 23
Benchmark           (size)  Mode  Cnt        Score      Error  Units
Fibo.FiboRecursive      40  avgt   25  1082715.628 ± 6358.441  us/op


I would expect your numbers to be dominated by JVM startup. Are you on SSD?

At the same time, fibonacci using GCC is 0.38s, and using clang is 0.56s, so it's not just a slow computer.
Edited Date: 2024-11-27 22:02 (UTC)

Date: 2024-11-28 09:50 (UTC)
From: [personal profile] sassa_nf
Actually, no, the effect is coming from other parameters of the system, not startup specifically.

Date: 2024-11-27 03:19 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
О блин, надо ж ещё инсталлер сделать. brew install rust; brew install kotlin; brew install go; brew install dart etc.
Посмотрим.

Date: 2024-12-01 21:37 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
Послал им, setup.sh.

Date: 2024-11-27 03:36 (UTC)
x86128: (Default)
From: [personal profile] x86128
по сутi сравнивают компиляторы на предмет глубины оптимизаций

Date: 2024-11-28 09:53 (UTC)
From: [personal profile] sassa_nf
Та по суті нічого такого вони не порівнюють. Для джави є jmh, і всі мікробенчмарки треба робити через нього, щоб не робити базових помилок, типу як прогріти, як виключити GC, і т.п.

Date: 2024-11-27 06:41 (UTC)
From: [personal profile] sassa_nf
Java requires a warm-up.

Date: 2024-12-01 21:35 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
Классная вещь. Свифт уже добавили. Я тоже пулреквест послал; вот моя версия, со скалой-3.
OSZAR »