After seeing this a couple years ago I started to be more responsible for my PHP code, writing it even with the slightest micro-optimizations possible, since more times people use my code (especially due to nature of PHP being executed in every http request), more energicity they waste because of my lazyness and more they pollute the planet. JIT was NOT included in this experiment, so the number can be much more lower.
I hope you will be responsible for your code so on too (generally I mean people using interpreted languages).
Quite a few unexpected results here…
Without any information how this test result got achieved. It’s kind of useless. It’s like to read the headline of a paper. So sure you should question the accuracy of this image. But i would agree it’s fun to look at it
But the paper is right there in the post
https://states.github.io/files/j2.pdf
Maybe i was blind, haven’t seen it. Thx, I look into it because i’m curious, but it’s long, so need first some time for it
The JS one is not surprising at all. There’s no other loosely typed multi-paradigm scripting language where such insane shitloads of money and developer time have been spent for optimizing its execution (by some of the largest tech companies). Kinda funny considering that the language design is complete horse shit.
Your 2nd point is really quite surprising. I also wouldn’t have thought that java would beat Go in both energy and time by that margin!
Pascal is a simpler and more limited language, so it’s not entirely surprising. It also has less and smaller standard libraries to link in.
As to C# and F#, what’s wrong with the difference? The functional coding style of F# prefers immutable data over possibly mutable ones in C# and that requires more allocations and garbage collection.
I haven’t looked into the details of the actual code, but I would expect the compiler optimizations and JIT to figure it all out and end up with very similar native code. Especially since both languages are mature and had enough time to reach such goals. But it’s quite possible my assumptions are incorrect.