Person reinvents data oriented design.
So, Java is fast if you use it like C.
When I worked for Amazon, someone had created a command line tool to be used in builds, but repeatedly starting up JVMs is painfully slow. I rewrote the app in C++ and it could be invoked 81 times vs one invocation of Java version.
If I need speed, I’ll use C++. If I need developer productivity, I’ll use Ruby.
Why in the world would you rewrite it when you could take an hour and get it compiling with graalvm and it would be just as fast as c++?
Tbf he’s also suggesting that Ruby is the most dev friendly language he could use, so I’m already a bit skeptical lol
I’ve never tried Graal. Is it easy to use? Like, is it a dropin replacement for javac or what?
It’s pretty easy to use. If you are using a lot of reflection you might have trouble, but if you’re using a standard large framework like spring, quarkus, or micronaut you’ll be fine. Quarkus makes it dead simple honestly. We deploy all of our Kotlin lambdas on AWS using Graal. It’s faster than node and much easier to write safe code.
And this is how people build the largest (in terms of the actual size of the binary on the disk) command line utilities in history.
I don’t know why you would think that. GraalVM can compile tiny tiny packages, and you can easily remove features from the JVM if you don’t need them. It’s a terrible myth that JVM means massive binaries.
I’m not so sure if the JVM startup was the culprit in your situation. The Computer Language Benchmarks Game shows that even for short runtimes, the startup doesn’t affect their performance numbers that much
That link just compares benchmarks with and without warmup, but not without startup. The JVM’s startup can take upwards of 2 seconds, depending on the program.
Oh, I’m dumb. Thanks for clearing this up :)
…If you need both, you use Rust
You hand me till “Ruby” ROFL.
Every language is fast, as long as it can be somehow (at least) jit compiled, and you’re not allocating much.
The 5950x has a large L3 cache compared to other cpus so these benchmarks probably represent the least worst case scenario.
deleted by creator
deleted by creator