this post was submitted on 29 Jul 2025
55 points (87.7% liked)
Programming
21880 readers
213 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
They presented their methodology in an open and clear way and provide their data for everyone to interpret. You can disagree with conclusions but it's pretty harsh to say it's "misleading" simply because you don't like the results.
They used two datasets, if you read the paper... It wasn't "one algorithm" it was several from publicly available implementations of those algorithms. They chose an "optimized" set of algorithms from "The Computer Language Benchmarks Game" to produce results for well-optimized code in each language. They then used implementations of various algorithms from Rosetta Code which contained more... typical implementations that don't have a heavy focus on performance.
In fact - using "typical language constructs or specificities" hurt the Java language implementations since List is slower than using arrays. It performed much better (surprisingly well actually) in the optimized tests than in the Rosetta Code tests.
Honestly that's all you need to know to throw this paper away.
Why?
It's a very heavily gamed benchmark. The most frequent issues I've seen are:
They've finally started labelling stupid submissions with "contentious" labels at least, but not when this study was done.
They provide the specific implementations used here: https://github.com/greensoftwarelab/Energy-Languages
I dislike the "I thought of something that may be an issue therefore just dismiss all of the work without thinking" approach.
I agree, but if you take away the hard numbers from this (which you should) all you're left with is what we all already knew from experience: fast languages are more energy efficient, C, Rust, Go, Java etc. are fast; Python, Ruby etc. are super slow.
It doesn't add anything at all.
Well... No. You're reading the title. Read the document.
"We all know" is the gateway to ignorance. You need to test common knowledge to see if it's really true. Just assuming it is isn't knowledge, it's guessing.
Second - it's not always true:
Thirdly - they also did testing of memory usage to see if it was involved in energy usage.