Rust и экология
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 22.02.22 04:00
Оценка: :)
Пресса пишет, что переписав всё на Rust можно сэкономить до 50% энергии датацентров.
Пишут это в контексте C/C++, но пример с энергоэффективность почему-то касается javascript.
Но да ладно. Интересно реально ли и за счёт чего он может оказаться энергоэффективнее C/C++. Кто-нибудь видел данные?
Re: Rust и экология
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 22.02.22 04:46
Оценка: +8 :))
Здравствуйте, Nuzhny, Вы писали:

N>Пресса пишет, что переписав всё на Rust можно сэкономить до 50% энергии датацентров.

N>Пишут это в контексте C/C++, но пример с энергоэффективность почему-то касается javascript.
N>Но да ладно. Интересно реально ли и за счёт чего он может оказаться энергоэффективнее C/C++. Кто-нибудь видел данные?

Шейн Миллер утверждает, что использование ПО на Rust, лишенное известных проблем его аналогов на C, позволяет сократить объемы энергии, потребляемые центрами обработки данных. С его слов, переход на такое ПО даже по самым пессимистичным прогнозам поможет снизить потребление ЦОДами энергии на 50%.


Я полагаю что это надо так трактовать: на Си боязно, С++ мы не осилили и снежинки их бояццо, но JS и Python любят. А так как снежинки верят что Rust простой и безопасный (гы-гы), то если писать на нем то энергии будет жраццо меньше.

Иначе это ты никак не интерпретируешь, т.к. у Rust тот же LLVM под капотом и Rust по определению не может быть более экономичным с точки зрения потребления энергии чем Clang.
Re: Rust и экология
От: vsb Казахстан  
Дата: 22.02.22 05:21
Оценка: +7
Я считаю, что это пример экошизы. Из разряда дня земли.
Re: Rust и экология
От: kov_serg Россия  
Дата: 22.02.22 05:58
Оценка: 3 (1) +3 -1 :))
Здравствуйте, Nuzhny, Вы писали:

N>Пресса пишет, что переписав всё на Rust можно сэкономить до 50% энергии датацентров.

N>Пишут это в контексте C/C++, но пример с энергоэффективность почему-то касается javascript.
N>Но да ладно. Интересно реально ли и за счёт чего он может оказаться энергоэффективнее C/C++. Кто-нибудь видел данные?

Ничего личного просто бизнес. Кто-то вваливает деньги в продвижение этого говница.
Re: Rust и экология
От: Michael7 Россия  
Дата: 22.02.22 09:59
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Но да ладно. Интересно реально ли и за счёт чего он может оказаться энергоэффективнее C/C++. Кто-нибудь видел данные?


Ясно же, что в общем случае ни за счет чего (какие-нибудь очень частные сценарии могут и придумать), а вот попытка продавить Rust во все щели за счет нагнетания экоистерии дурно пахнет в смысле реальных качеств языка.
Re: Rust и экология
От: reversecode google
Дата: 22.02.22 10:06
Оценка:
внесите в комитет предложение о том что С++ является самым экологически чистым языком

и растоманы пролетят
Re: Rust и экология
От: Shmj Ниоткуда  
Дата: 22.02.22 10:39
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Но да ладно. Интересно реально ли и за счёт чего он может оказаться энергоэффективнее C/C++. Кто-нибудь видел данные?


Видимо журналисты немного напутали.

Вот вам статистика серверных ЯП: https://w3techs.com/technologies/overview/programming_language

Как видим, да, до сих пор это ненавидимый вами PHP а так же C# и Java. Как известно — все это довольно тормозное.

То что вы пишите систему на C — это не избавляет от того, что сами сайты то все равно на PHP и C# клепают. Вот вам и потеря 50% ресурсов и памяти.

Видимо кто-то считает, что Rust достаточно высокоуровневый, чтобы на нем удобно было и сайты клепать.
Отредактировано 22.02.2022 10:40 Shmj . Предыдущая версия .
Re[2]: Rust и экология
От: T4r4sB Россия  
Дата: 22.02.22 10:41
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Иначе это ты никак не интерпретируешь, т.к. у Rust тот же LLVM под капотом и Rust по определению не может быть более экономичным с точки зрения потребления энергии чем Clang.


У ржавого есть кой-какие оптимизации, которые могут сработать только если переданный указатель не алиасится с другими.
Но это капля в море, а рантайм-проверки прожирают перфоманс в хлам.
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Re: Rust и экология
От: Pyromancer  
Дата: 22.02.22 10:46
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Пресса пишет, что переписав всё на Rust можно сэкономить до 50% энергии датацентров.


С жабоскрипта? Да, сравнивал на примере самодельных авторизаторов в AWS, скорость выполнения вырастает где-то вдвое если на питон переписать, и втрое если на го или раст.
Хотя большая часть времени типовой облачной функции всё равно запросы по сети или к базам, так что даже тормознутость жабоскрипта не так важна.
Рантайм для Rust кстати всё ещё полуофициальный — в списке нет, но он на гитхабе awslabs, так что статья несколько преувеличивает
Отредактировано 22.02.2022 10:54 Pyromancer . Предыдущая версия . Еще …
Отредактировано 22.02.2022 10:47 Pyromancer . Предыдущая версия .
Re: Rust и экология
От: Слава  
Дата: 22.02.22 11:05
Оценка: :)))
Здравствуйте, Nuzhny, Вы писали:

N>Но да ладно. Интересно реально ли и за счёт чего он может оказаться энергоэффективнее C/C++.


За счёт того, что плюсЫ всех задолбали. Энергия у программистов кончилась, выгорели они.

N>Кто-нибудь видел данные?


Данные состоят в том, что на Rust переписать можно, а на плюсах — нет, руки устанут.
Re[3]: Rust и экология
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 22.02.22 11:09
Оценка:
Здравствуйте, T4r4sB, Вы писали:

TB>У ржавого есть кой-какие оптимизации, которые могут сработать только если переданный указатель не алиасится с другими.

TB>Но это капля в море, а рантайм-проверки прожирают перфоманс в хлам.

Насколько я понимаю, оптимизации идут на двух уровнях: фронтэнд (Clang и Rust соответственно) и бэкенд (LLVM в обоих случаях, так что тут паритет). При этом в оптимизацию фронтэнда C++ вложено просто безумное количество ресурсов, чего сказать про Rust никак нельзя. Если предположить что идея Rust более удачная (почему бы и нет?), мы получим что-то более-менее одного уровня, с конкуренцией за 2-3%, но не какую-то заметную не вооружённым взглядом разницу.
Re[4]: Rust и экология
От: T4r4sB Россия  
Дата: 22.02.22 11:19
Оценка: 2 (1)
Здравствуйте, kaa.python, Вы писали:

KP>Насколько я понимаю, оптимизации идут на двух уровнях: фронтэнд (Clang и Rust соответственно) и бэкенд (LLVM в обоих случаях, так что тут паритет).


Вот обработать атрибут noalias у параметров-указателей — это явно работа бекенда.
Но вот расставить этот атрибут, не боясь что-то поломать — это работа фронтенда. И Раст это может, а С++ нет. Нельзя в С++ ном коде просто взять и расставить noalias.

KP>При этом в оптимизацию фронтэнда C++ вложено просто безумное количество ресурсов, чего сказать про Rust никак нельзя.


Да я б не сказал, что там есть какая-то реальная разница. Ну шаблоны раскрываются во время компиляции, но это оба могут.
А знаменитые УБшечки — это тоже расстановка флагов для бэкенда.

Реальная проблема Раста это неотрубаемые проверки, в том числе в местах, которые С++ и в голову не придёт проверять, и необходимость непрямых индирекций для связей между объектами (через Rc<RefCell<Vec<Rc<RefCell<Object>>>>> либо через хранение индексов)
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Re[4]: Rust и экология
От: Pzz Россия https://github.com/alexpevzner
Дата: 22.02.22 12:58
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Насколько я понимаю, оптимизации идут на двух уровнях: фронтэнд (Clang и Rust соответственно) и бэкенд (LLVM в обоих случаях, так что тут паритет). При этом в оптимизацию фронтэнда C++ вложено просто безумное количество ресурсов, чего сказать про Rust никак нельзя. Если предположить что идея Rust более удачная (почему бы и нет?), мы получим что-то более-менее одного уровня, с конкуренцией за 2-3%, но не какую-то заметную не вооружённым взглядом разницу.


У компилятора Rust тот же LLVM внутри, что и у компилятора C++, и все языконезависимые оптимизации у них одинаковые. При этом, с одной стороны, в C++ вколочено гораздо больше денег, а с другой, код на Rust должен быть более analysable, чем на C++. Но вряд ли практическая разница в реальном коде составит более нескольких процентов.
Re: Rust и экология
От: Pzz Россия https://github.com/alexpevzner
Дата: 22.02.22 13:01
Оценка: +1 :)))
Здравствуйте, Nuzhny, Вы писали:

N>Пресса пишет, что переписав всё на Rust можно сэкономить до 50% энергии датацентров.


А метановые выбросы из кишечников вовлеченных в процесс программистов прессе подсчитала?

N>Пишут это в контексте C/C++, но пример с энергоэффективность почему-то касается javascript.

N>Но да ладно. Интересно реально ли и за счёт чего он может оказаться энергоэффективнее C/C++. Кто-нибудь видел данные?

Реальный код на JS исполняется, в грубом приближении, раза в два медленнее, чем на C/C++. Код на Rust'е, полагаю, мало чем отличается от кода на C/C++.
Re[2]: Rust и экология
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 22.02.22 13:34
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Реальный код на JS исполняется, в грубом приближении, раза в два медленнее, чем на C/C++.


В 6.52 раза.

Pzz> Код на Rust'е, полагаю, мало чем отличается от кода на C/C++.


1.03-1.04, там же.
The God is real, unless declared integer.
Re[3]: Rust и экология
От: T4r4sB Россия  
Дата: 22.02.22 13:43
Оценка:
Здравствуйте, netch80, Вы писали:

Pzz>> Код на Rust'е, полагаю, мало чем отличается от кода на C/C++.


N>1.03-1.04, там же.


Там сплошной ансейф что ли?
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Re[4]: Rust и экология
От: Слава  
Дата: 22.02.22 15:42
Оценка: +1 :))
Здравствуйте, T4r4sB, Вы писали:

N>>1.03-1.04, там же.

TB>Там сплошной ансейф что ли?

Адепты 15 разных способов инициализации массива в С++ всё никак не могут поверить, что в большом масштабе быстродействие у Rust и С++ почти одинаковое, но вот разработка на Rust удобнее. Как так, 20 лет учили Святой Стандарт, головой об клетчатый пол бились — и всё впустую.
Re[5]: Rust и экология
От: T4r4sB Россия  
Дата: 22.02.22 16:02
Оценка:
Здравствуйте, Слава, Вы писали:

С>Адепты 15 разных способов инициализации массива в С++ всё никак не могут поверить, что в большом масштабе быстродействие у Rust и С++ почти одинаковое, но вот разработка на Rust удобнее. Как так, 20 лет учили Святой Стандарт, головой об клетчатый пол бились — и всё впустую.


Про удобство разработки согласен.
Про скорость — да гонево, неотрубаемые проверки при индексации массива, при обращении к RefCell итд. Только на ансейфе Раст может вытащить. Ну либо это синтетический тест.
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Re[3]: Rust и экология
От: Pzz Россия https://github.com/alexpevzner
Дата: 22.02.22 16:12
Оценка: 1 (1)
Здравствуйте, netch80, Вы писали:

Pzz>>Реальный код на JS исполняется, в грубом приближении, раза в два медленнее, чем на C/C++.


N>В 6.52 раза.


Когда компилятор Go перевели с C на Go, более-менее 1:1, без изменения внутренней архитектуры, скорость упала в 2 раза. Вот это — какой-то осмысленный тест. Но таких тестов, к сожалению, очень мало.

А с синтетическими тестами та беда, что при желании их можно под любой результат подогнать.

Pzz>> Код на Rust'е, полагаю, мало чем отличается от кода на C/C++.


N>1.03-1.04, там же.


Ну, т.е., где-то в шуме.
Re[2]: Rust и экология
От: Shtole  
Дата: 22.02.22 16:16
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Я считаю, что это пример экошизы. Из разряда дня земли.


Гораздо хуже.

В Часе Земли смысл есть — привлечь внимание. (Считать, что это способ экономии, всё равно, что считать Ice Bucket Challenge способом охладиться в жару).

А вот в экономии энергии путём переписывания на Rust'е…
Do you want to develop an app?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.