ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
23 апреля
1264901
Evgeny_CD, Архитектор (03.12.2022 20:15, просмотров: 83)
Хабр. Ввод-вывод — уже не узкое место. Здесь интересно сопоставление времени Python против Go на некоей обработке текста. Интерпретатор против компилятора. Выигрыш Go - 3.5 раза при оптимизации исходника. 

https://habr.com/ru/post/702026/


Из этого следуют некоторые важные выводы.


Конечно, это всего лишь один пример скорости. Наверняка, есть сильно хуже и сильно лучше для каждого языка.


Если язык имеет средства поддержки многопоточности, алгоритм параллелится, и эти средства удобны для программиста, то проигрыш в 3.5 раза не имеет фатального значения для практики.


"Возьмите в 3 раза больше ядер" - это уже реализуемо на практике.


Таким образом, если переход от нативного к разного рода "управляемому" коду дает проигрыш менее, чем порядок, и при этом управляемый код дает много премуществ в скорости разработки, снижению порога, в итоге стоимости разработки, то ставка на управлемый код оправдана.


В этом смысле Raku (Perl 6 в девичестве) является очень перспективным. У него VM исполняет нечто интересное. По сути, VM исполняет AST, со вставками байткода. Это дает возможность глубокой оптимизации. VM доступен не байткод, чтобы она по нему магически восстановила бы замысел программиста, а, по сути, причесанный замысел программиста в виде AST. Пока магия в процессе создания, на оптимизацию тратится время, и Raku часто сливает питону, что порождает море срачей. Но путь для оптимизации понятен.