4 ms·
Go’s GC is a generation behind Java’s, and while value types can alleviate the need of a good GC to a degree, long-living server applications do predominantly h
by kaba0 4y ago
Go’s GC is a generation behind Java’s, and while value types can alleviate the need of a good GC to a degree, long-living server applications do predominantly have very varying object lifetimes, so a GC is non-negotiable — Java usually has better performance in these use cases (it is not an accident that huge servers with terabytes of RAM running core internet services most often use Java, like Alibaba, AWS, many Google servers). Also, you sure know that Java spends most of its time executing native machine code for the architecture at hand, so your first paragraph is meaningless. On top, java’s ecosystem is much bigger than Go’s, and it has much better observability tools to monitor even prod instances.