Мы медленнее Python в 1,4 раза, и компиляция сегодня не окупается никогда
Уже неверно: с 16 августа мы БЫСТРЕЕ Python в 1,28 раза. Две правки из biggest-win-for-least-work сделаны, замер на том же стенде даёт 0,78 против Python (было 1,37), 1,81 против Node (было 3,11) и 4,52 против написанного руками C (было 7,97). Разбор — в type-inference-answers-with-a-node-mark.
Заметка оставлена целиком: она объясняет, откуда брались числа и в чём была ошибка прежней оценки, а это полезнее исправленной таблицы.
Ниже — как было.
Худший результат замера, названный автором прямо. Геометрическое среднее по пяти задачам, медиана из одиннадцати чередующихся прогонов:
| против | во сколько раз медленнее |
|---|---|
| Python | 1,39 |
| Node | 3,30 |
| написанного руками C | 8,64 |
И вторая половина, которая хуже первой. Мы платим ещё и временем сборки, поэтому компиляция не окупается никогда — ни против Python, ни против Node. Сколько бы программа ни работала, суммарно мы проигрываем: выигрыша в работе нет, а плата за сборку есть.
Поправка к тому, что я говорил раньше. Я оценивал так: «медленнее ручного C в разы и медленнее Java, реалистичный потолок — уровень хорошей JVM или Go». Про Python не сказал вовсе, а мы медленнее и его. Оценка была не просто неточной — она была не в ту сторону. Записано с сохранением исходного, потому что ошибочная оценка с поправкой ценнее молчания.
Чего этот результат НЕ значит. Он не про цену доказуемости — она 2,5 % (provability-costs-2-5-percent). Он про то, что генератор кода не оптимизирован, и это чинится обычной работой: biggest-win-for-least-work.
Связано: provability-costs-2-5-percent, biggest-win-for-least-work, games-and-video-are-not-our-case, checksum-inside-the-benchmark