Originally posted by vladpetric
View Post
Originally posted by vladpetric
View Post
Java doesn't have this which of course, it doesn't meant the JVM is "worse" because its not doing a pass that is not required by design
Originally posted by vladpetric
View Post
i.e. you are saying that this is a bad thing when in reality its not, otherwise the JVM wouldn't do it.
Originally posted by vladpetric
View Post
Hint, apart from some very basic rule of thumb optimizations, when doing micro-optimizations for C/C++ code a lot of the time programmers get it wrong, i.e. the optimizations they have generally are not useful for real world running of the program because their assumptions were incorrect.
Why do you think PGO (profile guided optimization) exists? Its basically doing the same thing as JVM but in reverse, i.e. JVM assumes everything is virtual and then optimizes when a method is actually a hotspot where as PGO takes runtime executions to profile a compiled program.
Originally posted by vladpetric
View Post
Also have a look at GraalVM, it does AOT compilation as much as possible and creates actual native image binaries, basically removing the startup issues of the traditional JVM as well as adding a lot more compilation phases (I mean compile time compilation, not runtime compilation), i.e. https://www.slideshare.net/scalaconf...-flavio-brasil
Originally posted by vladpetric
View Post
So yes Java has a head start, but Go is never going to be as fast as Java even if you account for this. There are also a lot of design reasons why Go is slow, i.e. it doesn't have generics/polymorphic parametirzation which means that runtime checks need to be carried out on generic algorithms (something that Java/C++ doesn't need to do).
Originally posted by vladpetric
View Post
This I agree with, but that is very different to saying that Java is generally slow which is what you are implying, its not. Python and Ruby are generally slow (at least when they are not using libraries that are just FFI to C libraries e.g. numpy)
Originally posted by vladpetric
View Post
Please don't post invalid benchmarks, its not doing you any favours.
Originally posted by vladpetric
View Post
Judging from your tone, you seem to have a personal problem with a language being successful, did Java kill your cat or something?
Also your understanding of the JVM is really outdated, like I am talking 15-20 years.
Comment