Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
80 lines (60 sloc) 5.49 KB

Новости

2016-03-29

Добавил результат Orcale Java 8. Как ни удивительно, он вышел чуть-чуть хуже, чем у OpenJDK. 0.699 сек. против 0.681 (я даже перетестировал последний от неожиданности и получил ещё чуть-чуть лучший результат — прошлый раз было 0.685). При чём эти 0.699 я получил только один раз на несколько десятков запусков, чаще всего минимальное значение прыгало в районе 0.72, в то время, как у OpenJDK среднее минимальное значение в районе 0.682-0.684.

2016-03-29

Добавлен стартовый пример на Rust. Наверняка не оптимальный, всего 20 минут назад я программ на этом языке в глаза не видел :) Результат получился в 0.603 сек. То есть такой вариант вдвое проигрывает стековым вариантам C/D, но немного обходит Java с выделением памяти. Увы, на разбирательство с Rust я пока потратил только минут 15, так что даже не знаю, как в языке обстоит дело со сборкой мусора, то есть, относится этот пример к вариантам стековым (тога результат так себе) или к «» «хиповым» — тогда результат отличный.

Update: После компиляции по rustc -C opt-level=3 fib.rs результат стал 0.329 сек и Rust вышел на первое место.

2016-03-28

Перетестировал Java. Сперва казалось, что заметных изменений не будет, т.к. версия обновилась с 1.7.0_25 до 1.7.0_95. Но, оказалось, что версия OpenJDK обновилась заметно, с 2.3.10 до 2.6.4. И, то ли из-за этого (что вероятнее), то ли из-за обновления версии Ubuntu, но скорость подросла заметно. С 0.78 сек до 0.685. +12%.

2016-03-28

После долгой паузы обновил некоторые цифры. Благо, машинка, на которой я тестировал всё ещё жива и потому цифры актуальны.

Толчком послужил выход PHP7. И, действительно, результат впечатляет. 58 секунд у 7.0.4 против 126 секунд у 5.5.9. Который сам был уже шустрее, чем предыдущий в тесте 5.5.3 с 158 секундами. Т.е. с последнего теста прирост скорости PHP составил +63%.

Конечно же нужно сравнить с прогрессом прямых конкурентов.

У Python 3 прогресса нет вообще. Цифра абсолютно такая же, как и у 3.3.2 — 145 секунд. В полтора раза медленнее, чем PHP7. Похоже, тут в обозримом будущем ловить уже нечего.

Напротив, Ruby 2 в варианте 2.3.0 прибавил по сравнению с прежним 1.9.3 неплохо. 64 секунды против 85 (+25%). Но даже эта прибавка не спасла от рывка PHP7. Но хотя бы результат сравнимый.

Получается, что PHP7 здорово подскочил по таблице вверх, обойдя и Python (с огромным отрывов), и Ruby 2 (не намного, но ощутимо), практически сравнявшись с JRuby (старых версий, новые не тестировал).

Остальные изменения поверхностные, так, для поддержания частичной актуальности таблицы. Пойду по мере убывания производительности.

GCC 4.8.4 стал немного, но измеримо быстрее GCC 4.7.4. 0.35 сек. или прибавка +8%. Хотя, кто знает, может это и в рамках погрешностей. Я делал что-то около 30-40 измерений, выбирая минимальное значение.

Go 1.6 против 1.1.1 достиг значения 0.755 сек (+15%), что подняло его сразу на три позиции, поставив выше Java.

PHP HHVM по-прежнему сохраняет большой отрыв от PHP. Версия 3.12.1 против 3.5.1 улучшилась до 25 секунд (+26%). Но перестановок это никаких не дало. До С# этой версии PHP ещё далеко (разница двукратная), JRuby также не угрожает (такая же двукратная разница).

Обновлённые результаты тестов: https://github.com/Balancer/benchmarks-fib-obj/wiki/Результат-теста:-i3-2.2ГГц