5 ms·
Line for line Go will be faster it is compiled. It is the only thing that matters line for line.
by callesgg 9y ago
Line for line Go will be faster it is compiled.
It is the only thing that matters line for line.
- TheDong 9y agoNo, it's not the only thing that matters. Java's compiled too and was included here, but Go still beat it out. It's likely that C or Rust or C++ would be much faster than Java or Go since they have large runtime overheads; it turns out having a runtime and how heavy it is matter too, not just if it's compiled. There are also cases where non-compiled languages can beat out compiled ones. For example, lua with LuaJIT is incredibly fast, and beats out compiled languages with heavy runtimes (like java/C#) in quite a few microbenchmarks.
- issaria 9y agoJava is compile to bytecode which is then interpreted by a virtual machine, it's not compiled to native code, that's why you cannot distribute Java programs as executable like go.
- flavio81 9y agoJava has a JIT that will compile to machine language during run time.
- pjmlp 9y agoSure you can, https://www.excelsiorjet.com/ https://www.excelsiorjet.com/ Java has a specification and has lots of implementations. The majority of commercial implementations of Java have native code compilers, and Oracle is in the process of improving the AOT compiler introduced in Java 9.
- amorphid 9y agoIs there a way to bundle the JVM (or the parts you need) with the Java app you'd like to run? Erlang (and Elixir) does this with the Erlang VM (BEAM), allowing you to bundle VM+app as a release. The Erlang release must be compiled for the platforms on which that release will be run. It's not quite as elegant as a Go binary, but it's still pretty handy.
- issaria 9y agoYes, there is a javapackager in java 7 and 8, but with jigsaw that comes with java9, it becomes easier: https://steveperkins.com/using-java-9-modularization-to-ship-zero-dependency-native-apps/ https://steveperkins.com/using-java-9-modularization-to-ship...
- blattimwind 9y agoLine for line benchmarks are what-the-fuck-are-you-even-trying-to-do level cringe.