Как стать автором
Обновить

Green Code и березки. Основные принципы зеленого кода в разработке

Время на прочтение 7 мин
Количество просмотров 6K
Всего голосов 22: ↑19 и ↓3 +16
Комментарии 12

Комментарии 12

После этой статьи в кафе где собираются стартаперы началась драка.

Твоё лицо когда узнал что фронтендеры запускают webpack --watch чуть более чем всегда
image
По вашим расчётам выходит, что за 5 минут ноутбук сжирает 1% всей энергии, которую я трачу за месяц во всём доме (120 кВт*ч в месяц в моём случае).

Умножая ватты на секунды вы получаете Вт*с, то есть значение 4389 — это не ватты а Вт*с, и это значение надо поделить на 3600, чтобы вышли Вт*час, а затем поделить ещё на 1000, чтобы вышли кВт*час.

Если сразу перевести мощности в первом уравнении в кВт, то выйдет
0,01439 кВт * 305/3600 часов = 0,0012 кВт*час.

Эта ошибка девальвирует всё последующее рассуждение о зеленом коде.
Да, вы совершенно правы. Исправил математику. Большое спасибо!
Далее 1900 кВт*час — это для дров, которые имеют достаточно рыхлую структуру с большим количеством воздуха. Раз вы потом пересчитываете на бревна, то было бы уместнее использовать параметр 4,1 кВт*час/кг, что даёт 923 кг берёзы в год, или 1,38 кубометра, а не 2,7.

Вот так при помощи математики можно сэкономить сразу половину деревьев :-).
Более того, если условный скрипт исполняется 1 секунду из 10, то за год набегает 365*24*3600/10 =3153600 секунд или 876 часов исполнения.
Расход энергии соответственно 876*0,0012 =1,05 кВт или 250 грамм древесины.
Нагруженный сервис на Python (если он выполняет простую операцию) имеет смысл переписать на C/C+


Наверное есть смысл новый сервис переписать на Go — это будет менее затратно по ресурсам(при наличии экспертизы в языке), а в скорости по сравнению с Python прирост будет значительным.
Либо «узкое горлышко» в коде переписать на Cython, без переписывания сервиса целиком.

Спасибо за статью, было интересно посмотреть все «зелёные» подходы, собранные в одном месте

Давайте начнём с простого и выкинем интерпретируемые языки программирования. С — и вперёд. Не нравится C и хочется сахара? Rust на помощь. Пока что-то считают на питоне или js'е, ни о каком green речь не идёт.

А давайте оставим всё как есть? Я вычисления проверил и оказалось, что автор завышает разницу в 3600 раз, и что разница в потребляемой энергии 1 кВт*час в год.
Помню, во времена дикой необузданной молодости, писал парсер для CDR файлов. Нужно было в ночь с 31-го на 1-е обработать и забиллинговать терабайт CDR записей (Call Details Record, телефония).

Сначала, как советовали пацаны из вейп-бара, написал на Ruby. Написал быстро, работало оно в среднем 3 дня на неслабом по тем временам серваке. Многопоточность не помогала, потому что GIL.

Переделал на C++, 40 минут.
<боль души started>
ИМХО придать зелености всему этому проекту (ДомКлик) могла бы более продуманная организация: в своё время пришлось сделать миллион звонков менеджерам, которые «забыли» (или забили?) сказать, что их взаимодействие со мной кончается после заключения договора ипотеки и задавать хоть какие-нибудь вопросы далее им бесполезно.
По моим ощущениям на передачу всех перепалок тогда работала пара ТЭЦ средней мощности.
<выдох… фффух...>
! Это сарказм!

Самая «зелёная» технология — поменьше упоминать «зелёные» мотивы в прессе, хабре и других местах. Сэкономится огроменное количество электроэнергии (и дров в том числе).

Посудите сами: когда упоминали про озоновую дыру над землёй — она росла и крепла.
15+ лет про неё никто не вспоминает — и нет никакой дыры!!!

Поэтому если не вспоминать про «зелёных» — мир здоровее будет!

После предположения что ЦОД получает электропитание от берёзовых дров остальное можно и не читать...

Зарегистрируйтесь на Хабре , чтобы оставить комментарий