{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,7]],"date-time":"2025-11-07T09:53:39Z","timestamp":1762509219085,"version":"3.41.2"},"reference-count":36,"publisher":"Frontiers Media SA","license":[{"start":{"date-parts":[[2025,4,2]],"date-time":"2025-04-02T00:00:00Z","timestamp":1743552000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["frontiersin.org"],"crossmark-restriction":true},"short-container-title":["Front. Robot. AI"],"abstract":"<jats:sec><jats:title>Introduction<\/jats:title><jats:p>The Robot Operating System (ROS) is a widely used framework for robotic software development, providing robust client libraries for both C++ and Python. These languages, with their differing levels of abstraction, exhibit distinct resource usage patterns, including power and energy consumption\u2013an increasingly critical quality metric in robotics.<\/jats:p><\/jats:sec><jats:sec><jats:title>Methods<\/jats:title><jats:p>In this study, we evaluate the energy efficiency of ROS two nodes implemented in C++ and Python, focusing on the primary ROS communication paradigms: topics, services, and actions. Through a series of empirical experiments, with programming language, message interval, and number of clients as independent variables, we analyze the impact on energy efficiency across implementations of the three paradigms.<\/jats:p><\/jats:sec><jats:sec><jats:title>Results<\/jats:title><jats:p>Our data analysis demonstrates that Python consistently demands more computational resources, leading to higher power consumption compared to C++. Furthermore, we find that message frequency is a highly influential factor, while the number of clients has a more variable and less significant effect on resource usage, despite revealing unexpected architectural behaviors of underlying programming and communication layers.<\/jats:p><\/jats:sec>","DOI":"10.3389\/frobt.2025.1548250","type":"journal-article","created":{"date-parts":[[2025,4,2]],"date-time":"2025-04-02T04:12:44Z","timestamp":1743567164000},"update-policy":"https:\/\/doi.org\/10.3389\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["Energy efficiency in ROS communication: a comparison across programming languages and workloads"],"prefix":"10.3389","volume":"12","author":[{"given":"Michel","family":"Albonico","sequence":"first","affiliation":[]},{"given":"Manuela Bechara","family":"Cannizza","sequence":"additional","affiliation":[]},{"given":"Andreas","family":"Wortmann","sequence":"additional","affiliation":[]}],"member":"1965","published-online":{"date-parts":[[2025,4,2]]},"reference":[{"key":"B1","first-page":"1","article-title":"Tukey\u2019s honestly significant difference (HSD) test","volume":"3","author":"Abdi","year":"2010","journal-title":"Encycl. Res. Des."},{"key":"B2","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1109\/IGCC.2014.7039169","article-title":"Program energy efficiency: the impact of language, compiler and implementation choices","volume-title":"International green computing conference","author":"Abdulsalam","year":"2014"},{"key":"B3","first-page":"1","volume-title":"Energy efficiency of ROS nodes in different languages: publisher\/subscriber case studies","author":"Albonico","year":"2024"},{"key":"B4","first-page":"528","article-title":"The goal question metric approach","author":"Basili","year":"1994","journal-title":"Encycl. Softw. Eng."},{"key":"B5","doi-asserted-by":"publisher","first-page":"330","DOI":"10.2307\/2332579","article-title":"On the comparison of several mean values: an alternative approach","volume":"38","author":"Bernard","year":"1951","journal-title":"Biometrika"},{"key":"B6","doi-asserted-by":"crossref","first-page":"164","DOI":"10.1007\/978-3-030-86044-8_11","article-title":"Architectural tactics for energy-aware robotics software: a preliminary study","volume-title":"European conference on software architecture","author":"Chinnappan","year":"2021"},{"key":"B7","doi-asserted-by":"crossref","first-page":"507","DOI":"10.1109\/ICSE-C.2017.167","article-title":"Engineering the software of robotic systems","volume-title":"2017 IEEE\/ACM 39th international conference on software engineering companion (ICSE-C)","author":"Ciccozzi","year":"2017"},{"key":"B8","doi-asserted-by":"publisher","first-page":"211","DOI":"10.1111\/j.2517-6161.1964.tb00553.x","article-title":"An analysis of transformations","volume":"26","author":"George","year":"1964","journal-title":"J. R. Stat. Soc. Ser. B Stat. Methodol."},{"key":"B9","doi-asserted-by":"publisher","first-page":"13","DOI":"10.1145\/2425248.2425252","article-title":"Measuring energy consumption for short code paths using RAPL","volume":"40","author":"H\u00e4hnel","year":"2012","journal-title":"ACM SIGMETRICS Perform. Eval. Rev."},{"key":"B10","doi-asserted-by":"crossref","first-page":"268","DOI":"10.1109\/ECODIM.2005.1619220","article-title":"Power consumption monitoring system for personal computers by analyzing their operating states","volume-title":"2005 4th international symposium on environmentally conscious design and inverse manufacturing","author":"Hirao","year":"2005"},{"key":"B11","doi-asserted-by":"publisher","first-page":"4","DOI":"10.3390\/computation8010004","article-title":"GPU computing with Python: performance, energy efficiency and usability","volume":"8","author":"Holm","year":"2020","journal-title":"Computation"},{"key":"B12","doi-asserted-by":"publisher","DOI":"10.48550\/arXiv.2406.17710","article-title":"GreenFaaS: maximizing energy efficiency of HPC workloads with FaaS","author":"Kamatar","year":"2024","journal-title":"arXiv Prepr. arXiv:2406.17710"},{"key":"B13","doi-asserted-by":"publisher","first-page":"1693","DOI":"10.1145\/3368089.3418777","article-title":"Impact of programming languages on energy consumption for mobile devices","author":"Kholmatova","year":"2020"},{"key":"B14","first-page":"1","article-title":"ROS as a service: web services for robot operating system","volume":"6","author":"Koubaa","year":"2015","journal-title":"J. Softw. Eng. Robotics"},{"key":"B15","doi-asserted-by":"publisher","first-page":"583","DOI":"10.1080\/01621459.1952.10483441","article-title":"Use of ranks in one-criterion variance analysis","volume":"47","author":"Kruskal","year":"1952","journal-title":"J. Am. Stat. Assoc."},{"key":"B16","doi-asserted-by":"crossref","first-page":"92","DOI":"10.1109\/SOSE62363.2024.00017","article-title":"An efficient storage solution for cloud\/edge computing infrastructures","volume-title":"2024 IEEE international conference on service-oriented system engineering (SOSE)","author":"Makris","year":"2024"},{"key":"B17","doi-asserted-by":"crossref","first-page":"58","DOI":"10.1145\/3661167.3661203","article-title":"An empirical study on the energy usage and performance of pandas and polars data analysis Python libraries","volume-title":"Proceedings of the 28th international conference on evaluation and assessment in software engineering","author":"Nahrstedt","year":"2024"},{"key":"B18","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/3177754","article-title":"RAPL in action: experiences in using RAPL for power measurements","volume":"3","author":"Nizam Khan","year":"2018","journal-title":"ACM Trans. Model. Perform. Eval. Comput. Syst."},{"key":"B19","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1109\/IE54923.2022.9826760","article-title":"Powerjoular and joularjx: multi-platform software power monitoring tools","volume-title":"2022 18th international conference on intelligent environments (IE)","author":"Noureddine","year":"2022"},{"key":"B20","first-page":"424","article-title":"Analyzing software energy consumption","volume-title":"Proceedings of the 2024 IEEE\/ACM 46th international Conference on software engineering: companion proceedings (lisbon, Portugal) (ICSE-Companion \u201924)","author":"Noureddine","year":"2024"},{"key":"B21","doi-asserted-by":"publisher","first-page":"52","DOI":"10.2307\/2282330","article-title":"Multiple comparisons among means","volume":"56","year":"1961","journal-title":"J. Am. Stat. Assoc."},{"key":"B22","doi-asserted-by":"crossref","first-page":"200","DOI":"10.1109\/ICDCSW.2003.1203555","article-title":"Omg data-distribution service: architectural overview","volume-title":"23rd international conference on distributed computing systems workshops, 2003. Proceedings","author":"Pardo-Castellote","year":"2003"},{"key":"B23","doi-asserted-by":"crossref","first-page":"256","DOI":"10.1145\/3136014.3136031","article-title":"Energy efficiency across programming languages: how do energy, time, and memory relate?","volume-title":"Proceedings of the 10th ACM SIGPLAN international conference on software language engineering","author":"Pereira","year":"2017"},{"key":"B24","doi-asserted-by":"publisher","first-page":"102609","DOI":"10.1016\/j.scico.2021.102609","article-title":"Ranking programming languages by energy efficiency","volume":"205","author":"Pereira","year":"2021","journal-title":"Sci. Comput. Program."},{"key":"B25","doi-asserted-by":"publisher","first-page":"68","DOI":"10.1145\/3154384","article-title":"Energy efficiency: a new concern for application software developers","volume":"60","author":"Pinto","year":"2017","journal-title":"Commun. ACM"},{"key":"B26","doi-asserted-by":"publisher","first-page":"591","DOI":"10.1093\/biomet\/52.3-4.591","article-title":"An analysis of variance test for normality (complete samples)","volume":"52","author":"Sanford Shapiro","year":"1965","journal-title":"Biometrika"},{"key":"B27","doi-asserted-by":"crossref","first-page":"4491","DOI":"10.1109\/IROS.2016.7759661","article-title":"A framework for quality assessment of ROS repositories","volume-title":"2016 IEEE\/RSJ international conference on intelligent robots and systems (IROS)","author":"Santos","year":"2016"},{"key":"B28","doi-asserted-by":"publisher","first-page":"259","DOI":"10.1016\/0169-7439(89)80095-4","article-title":"Analysis of variance (ANOVA)","volume":"6","author":"St","year":"1989","journal-title":"Chemom. intelligent laboratory Syst."},{"key":"B29","unstructured":"Robotic operating system\n          \n          \n          2024"},{"key":"B30","doi-asserted-by":"publisher","first-page":"19","DOI":"10.1109\/MRA.2010.940147","article-title":"Exponential growth of ros [ros topics]","volume":"1","author":"Steve","year":"2011","journal-title":"IEEE Robotics and Automation Mag."},{"key":"B31","doi-asserted-by":"crossref","first-page":"144","DOI":"10.1145\/3417113.3422997","article-title":"Energy efficiency in robotics software: a systematic literature review","volume-title":"Proceedings of the 35th IEEE\/ACM international conference on automated software engineering workshops","author":"Swanborn","year":"2020"},{"key":"B32","doi-asserted-by":"crossref","first-page":"177","DOI":"10.1007\/978-3-031-70245-7_13","article-title":"Electron vs. Web: a comparative analysis of energy and performance in communication apps","volume-title":"International conference on the quality of information and communications technology","author":"Thangadurai","year":"2024"},{"key":"B33","article-title":"Software quality metrics to identify risk","volume-title":"Department of homel and security software assurance working group","author":"Thomas","year":"2008"},{"key":"B34","first-page":"147","article-title":"Variations in CPU power consumption","volume-title":"Proceedings of the 7th ACM\/SPEC on international Conference on performance engineering (delft, The Netherlands) (ICPE \u201916)","author":"von Kistowski","year":"2016"},{"key":"B35","first-page":"129","article-title":"The impact of knowledge distillation on the energy consumption and runtime efficiency of NLP models","volume-title":"Proceedings of the IEEE\/ACM 3rd international Conference on AI engineering - software Engineering for AI (lisbon, Portugal) (CAIN \u201924)","author":"Yuan","year":"2024"},{"key":"B36","article-title":"A quantitative evaluation of the RAPL power control system","volume":"6","author":"Zhang","year":"2015","journal-title":"Feedback Comput."}],"container-title":["Frontiers in Robotics and AI"],"original-title":[],"link":[{"URL":"https:\/\/www.frontiersin.org\/articles\/10.3389\/frobt.2025.1548250\/full","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,4,2]],"date-time":"2025-04-02T04:14:50Z","timestamp":1743567290000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.frontiersin.org\/articles\/10.3389\/frobt.2025.1548250\/full"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,4,2]]},"references-count":36,"alternative-id":["10.3389\/frobt.2025.1548250"],"URL":"https:\/\/doi.org\/10.3389\/frobt.2025.1548250","relation":{},"ISSN":["2296-9144"],"issn-type":[{"type":"electronic","value":"2296-9144"}],"subject":[],"published":{"date-parts":[[2025,4,2]]},"article-number":"1548250"}}