Информация об изменениях

Сообщение Re[2]: Производительность .Net на вычислительных задачах от 25.10.2020 3:51

Изменено 25.10.2020 3:56 Evgeny.Panasyuk

Re[2]: Производительность .Net на вычислительных задачах
Здравствуйте, AeroSun, Вы писали:

AS>В тему не вникал, но все холивары о том, что *ЛюбойЯзык* производительнее С++ (даже с тестами и красивыми графиками) всегда разбиваются о два вопроса:

AS>1) За счёт чего они быстрее С++?

За счёт того что он написал свой оптимизирующий транслятор из mini-EDSL в avx. С ещё большим успехом мог бы просто выплёвывать OpenCL код. У OpenCL уже есть бэкенды для GPU, AVX/etc, multi-thread.

AS>2) Почему это не является достижимым на С++?


Runtime транслятор можно написать на чём угодно, хоть на Python'е — что например и делает TensorFlow.
У C++ тут дополнительный бонус в том, что такой транслятор можно сделать и run-time и compile-time (где не будет необходимости в кэшировании сгенерированного кода, так он он уже будет в бинарнике после компиляции, но тут свою минусы есть).
Re[2]: Производительность .Net на вычислительных задачах
Здравствуйте, AeroSun, Вы писали:

AS>В тему не вникал, но все холивары о том, что *ЛюбойЯзык* производительнее С++ (даже с тестами и красивыми графиками) всегда разбиваются о два вопроса:

AS>1) За счёт чего они быстрее С++?

За счёт того что он написал свой оптимизирующий транслятор из mini-EDSL в avx. С ещё большим успехом мог бы просто выплёвывать OpenCL код. У OpenCL уже есть бэкенды для GPU, AVX/etc, multi-thread.

AS>2) Почему это не является достижимым на С++?


Runtime транслятор можно написать на чём угодно, хоть на Python'е — что например и делает TensorFlow.
У C++ тут дополнительный бонус в том, что такой транслятор можно сделать и run-time и compile-time (где не будет необходимости в кэшировании сгенерированного кода, так он он уже будет в бинарнике после компиляции (но тут свои минусы есть)).