Energy efficiency across programming languages

Jun 08, 2021 09:06

https://github.com/greensoftwarelab/Energy-Languages
https://core.ac.uk/download/pdf/322933073.pdf
и так далее.

Вкратце: написав что-то на языках, которые не имеют даже JIT, вы убиваете экологию так, что Грета воет от зависти.

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

This entry was originally ( Read more... )

Leave a comment

Comments 3

vitus_wagner June 8 2021, 07:28:53 UTC
Что забавно, Rust наступает на пятки С, а вот Go - где -то в середине списка.

Reply

netch80 June 9 2021, 05:34:27 UTC
У Go могут быть 3 причины:
1) Крайне слабая оптимизация кода. Ты видел, что генерирует его компилятор? Передачи данных через регистры вообще нет (для результата тоже, для него место в стеке чуть глубже аргументов), нормальной оптимизации хранения локальных данных в регистрах тоже нет, извлечение из стека по каждому чиху и возврат обратно. К этому, принципиальный запрет в спеке на множество возможностей, которые могут быть важны именно для численных расчётов (часть бенчмарков там на них).
2) Затраты на взаимодействие горутин, если код активно их использует.
3) Статическая компиляция и бинарники даже для hello world на бегамайты. Хотя именно для Mb там в таблицах не страшные цифры.

Но всё равно, среднее 3 это не 70.

Reply

vitus_wagner June 9 2021, 06:37:07 UTC
Статическая компиляция в бинарики как раз может очень способствовать экономии мегабайтов.
Недаром там на первое место паскаль вылез.

Вообще, конечно сравнивать по этим критериям языки, а не реализации языков - неправильно.
И у Go, и у Rust имеются кроме их референсных компиляторов еще фронтэнды к GCC.

Но вообще за последнее время я Go стал активно ненавидеть. А к Rust отношусь спокойно, так, посматриваю с интересом, но времени повозиться нет.

Reply


Leave a comment

Up