4 ms·
Okay, I'll bite. So why not distribute a most likely even smaller jar file?
by winrid 5y ago
Okay, I'll bite. So why not distribute a most likely even smaller jar file?
- theshrike79 5y agoSaid servers would also need Java installed and updated. The Go version needs that executable, nothing else.
- Cthulhu_ 5y agoDoesn't GraalVM as mentioned in the root comment solve that problem? IIRC Graal can compile a JVM + Java application to a single binary, but I could be mistaken.
- latchkey 5y agoThat's the issue with the size of the binaries produced... you're effectively bundling a JVM. In the same way that golang is bundling a GC implementation... except it is orders of magnitude smaller than a JVM.
- AmpsterMan 5y agoNot the commenter: I presume it would have to be because there is no guarantee that the JVM will be installed and configured exactly correctly on all of those machines a priori. Jlink helps solve that problem if you have a properly modularized project, but that's hard to do if your dependencies aren't also properly modularized.
- kaba0 5y agoIsn’t that the case with libc and the like even in case of go? You can’t just expect any program to run correctly on an environment you don’t control.
- latchkey 5y agoThe majority of these machines are PXE booted, with a super minimal ubuntu based OS distribution... which would mean distributing a JVM as well. Total boot payload is about 160megs... which I need to do some more work on... I think I can get this down to about 120megs, but it hasn't been a priority yet since this is working well enough for now. About 54megs of that boot is just some third party drivers and right now, those are .gz encoded... need to switch to xz to bring it down.