Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>Здравствуйте, Serginio1, Вы писали:
EP>>>То есть код на одинаковом уровне абстракций оказался медленнее почти в два раза (медленнее чем в веб-браузере, Карл!)
S>> Так, а за что тогда я извинялся за 2 раза?
S>> Ну вот в .Net Native и будут инлайнить как в C++. Про, что тебе Sinix и говорит.
EP>Как начнут инлайнить, так и сравним. Напоминаю что ветка началась с рассуждений о том что актуально использовать сейчас.
EP>А в сферическом будущем могут например и для Python сделать супер оптимизатор без abstraction penalty.
EP>Также выше был высказан очередной миф — мол C++ быстрее за счёт нативности "но не более того". Пример с компилированием C++ -> JavaScript и сравнением с аналогом на C# развеивает этот миф
Еще раз С++ выигрывает за счет инлайнинга это известно всем. Шаблоны в отличие от дженериков по сути раскручиваются в исходный код с инлайнингом методов.
Вот и вся магия. Это же раскручивание можно сделать и для дженериков. Большой то разницы нет. Просто в .Net еще большие тормоза из-за рефлексии, так как при оптимизации кода нужно предоставить доступ для отображения. Поэтому в .Net Native рефлексию сильно ограничили вплоть до полного отказа.
А насчет питона, то он уже стал статически типизированным?
https://habrahabr.ru/company/mailru/blog/242305/
Но на самом деле мало это кому нужно. Числодробилками мало кто занимается, а во главе угла скорость разработки.
Но возможность приблизить скорость выполнения .Net код к C++ это просто небольшой плюсик не более, что бы убрать у С++ ников их главный козырь.