Whataboutism leads to such odd rhetorical distractions. This isn't a deal about Gaza, Afghanistan, or Iraq, and the only reason to discuss them is to distract from Russia's military aggression.
9 karma · joined November 21, 2021
Whataboutism leads to such odd rhetorical distractions. This isn't a deal about Gaza, Afghanistan, or Iraq, and the only reason to discuss them is to distract from Russia's military aggression.
Russia is a nuclear state, and will in no rational scenario ever "come under attack by the entire world" due to the inevitable consequences. On the other hand, manufacturing casus belli again and invading Ukraine in a few years is an obvious outcome.
Pattern matching, nullable types, and the Try* method conventions are also ways of representing the potential for failure explicitly.
Other languages use union types, enums, or other type system constructs to represent operations which may have multiple possible outcomes. You're correct that these languages don't support business logic exceptions, but that also isn't an acceptable practice outside of Java.
There are many simpler implementations in all languages. I actually like that there are multiple implementations, as this lets us estimate the benefit and complexity of adopting various optimizations. Limiting the benchmark to naive implementations would penalize languages with more broad capabilities for optimization.
I'd personally prefer a benchmark limited to memory-safe implementations, though.
A lot of the coding style seems optimized around copy-pasting the C code, e.g. trying to alias the Vector methods (Vector256.Create) to their instruction name (_mm256_set1_pd). That makes the code non-idiomatic, but it also doesn't really help performance, just makes the porting easier.
The F# example is on the same runtime and a better view of using the numerics directly. As a trade-off of performance, memory, and code complexity it is actually a pretty solid balance, which I wouldn't have expected.
https://benchmarksgame-team.pages.debian.net/benchmarksgame/...
What in the Java world is in the same maturity tier as ASP.NET is open to opinion, but at least local Java devs seem to consider Spring or Micronaut as sane defaults, and of course modern ASP.NET runs circles around those.
https://www.techempower.com/benchmarks/#section=test&runid=9...