Who Wins the Race? (R Vs Python) - An Exploratory Study on Energy Consumption of Machine Learning Algorithms
2508.17344v1
cs.SE, cs.LG, cs.PF, cs.PL
2025-08-27
Авторы:
Rajrupa Chattaraj, Sridhar Chimalakonda, Vibhu Saujanya Sharma, Vikrant Kaulgud
Резюме на русском
## Контекст
Машинное обучение (ML) широко используется в современных системах, но является ресурсоемким и способствует повышенному потреблению энергии, что приводит к высоким уровням углеродных выбросов. Хотя существует много исследований, посвященных оценке производительности и точности методов машинного обучения, мало численных исследований направлены на изучение их энергоэффективности. Ранее проводились попытки сравнить энергоэффективность различных программных языков для решения конкретных задач, но до сих пор не было подробного исследования, посвященного сравнению энергоэффективности языков Python и R при выполнении задач машинного обучения. Целью данного исследования является изучение энергоэффективности Python и R при реализации задач машинного обучения, чтобы повысить осознание энергозатрат при разработке и использовании моделей машинного обучения.
## Метод
В ходе исследования были реализованы 10 задач машинного обучения (5 задач регрессии и 5 задач классификации), которые были реализованы в Python и R. Для измерения энергоэффективности использовался энергоснаряд, определяющий затраты энергии в процессе обучения и использования моделей. Для сравнения использовались статистические методы, чтобы выявить статистически значимые различия в потреблении энергии и производительности между Python и R.
## Результаты
Исследование показало, что Python и R в 95% случаев отличаются статистически значимо по потреблению энергии при обучении и использовании моделей. Особенно выраженным было различие при выполнении моделей на оптимизацию, где затраты энергии Python были до 99.16% меньше, чем у R. Для процессов инференса разница достигала 99.8%. Эти результаты свидетельствуют о значительном влиянии выбора языка программирования на энергоэффективность машинных обучающих моделей.
## Значимость
Результаты исследования имеют большое значение для разработчиков, которые стремятся оптимизировать энергопотребление своих моделей машинного обучения. Python оказался более энергоэффективным, что может привести к снижению затрат на вычисления и сокращению энергозатрат во время обучения и использования моделей. Эти материалы могут использоваться для разработки более экологичных и энергоэффективных систем машинного обучения.
## Выводы
Исследование подтвердило, что язык программирования может значительно влиять на энергоэффективность машинных обучающих моделей. Python показал себя более энергоэффективным в сравнении с R. Будущие исследования могут сосредоточиться на расширении этого исследования для других языков и задач, а также на изучении альтер
Abstract
The utilization of Machine Learning (ML) in contemporary software systems is
extensive and continually expanding. However, its usage is energy-intensive,
contributing to increased carbon emissions and demanding significant resources.
While numerous studies examine the performance and accuracy of ML, only a
limited few focus on its environmental aspects, particularly energy
consumption. In addition, despite emerging efforts to compare energy
consumption across various programming languages for specific algorithms and
tasks, there remains a gap specifically in comparing these languages for
ML-based tasks. This paper aims to raise awareness of the energy costs
associated with employing different programming languages for ML model training
and inference. Through this empirical study, we measure and compare the energy
consumption along with run-time performance of five regression and five
classification tasks implemented in Python and R, the two most popular
programming languages in this context. Our study results reveal a statistically
significant difference in costs between the two languages in 95% of the cases
examined. Furthermore, our analysis demonstrates that the choice of programming
language can influence energy efficiency significantly, up to 99.16% during
model training and up to 99.8% during inferences, for a given ML task.