Context. Nowadays, 83% of software developers use Large Language Models (LLMs) to generate code. LLMs recently became essential to increase the productivity of software developers and decrease the time and cost of software development. Developers ranging from novices to experts use LLM tools not only to detect and patch bugs, but also to integrate generated code into their software. However, as of today there is no objective assessment of the energy efficiency of the source code generated by LLM tools. Released in August 2023, Code Llama is one of the most recent LLM tools. Goal. In this paper, we present an empirical study that assesses the energy efficiency of Code Llama with respect to human-written source code. Method. We design an experiment involving three human-written benchmarks implemented in C++, JavaScript, and Python. We ask Code Llama to generate the code of the benchmarks using different prompts and temperatures. Therefore, we execute both implementations and profile their energy efficiency. Results. Our study shows that the energy efficiency of code generated by Code Llama is heavily-dependent on the chosen programming language and the specific code problem at hand. Also, human implementations tend to be more energy efficient overall, with generated JavaScript code outperforming its human counterpart. Moreover, explicitly asking Code Llama to generate energy-efficient code results in an equal or worse energy efficiency, as well as using different temperatures seems not to affect the energy efficiency of generated code. Conclusions. According to our results, code generated using Code Llama does not guarantee energy efficiency, even when prompted to do so. Therefore, software developers should evaluate the energy efficiency of generated code before integrating it into the software system under development.
翻译:背景。如今,83%的软件开发者使用大型语言模型(LLMs)生成代码。LLMs近期已成为提升开发者生产力、降低软件开发时间与成本的关键工具。从新手到专家,开发者不仅利用LLM工具检测和修复程序缺陷,还将生成的代码集成到软件中。然而,目前尚无针对LLM工具生成代码能源效率的客观评估。Code Llama于2023年8月发布,是最新的LLM工具之一。目标。本文提出一项实证研究,评估Code Llama相较于人工编写代码的能源效率。方法。我们设计了一项实验,采用C++、JavaScript和Python三种人工编写基准程序。通过不同提示词和温度参数,要求Code Llama生成对应基准代码,随后执行两种实现并分析其能源效率。结果。研究表明,Code Llama生成代码的能源效率高度依赖于所选编程语言及具体代码问题。整体而言,人工实现更具能源效率,但生成的JavaScript代码性能优于人工实现。此外,明确要求生成节能代码会导致同等或更差的能源效率,而不同温度参数似乎对生成代码的能源效率无显著影响。结论。根据实验结果,即使明确要求生成节能代码,Code Llama生成的代码仍无法保证能源效率。因此,开发者在将生成代码集成到待开发软件系统前,应评估其能源效率。