|
|
|
|
|
by CHY872
1495 days ago
|
|
The JVM is a master of gradually closing the gap. Over the last decade: - Garbage collectors have required far less tuning; with G1, Shenandoah, ZGC it's likely that your application will need little tuning on normal sized heaps. - modules, jlink etc allow one to build a much smaller Java application by including only those parts of the JVM that one needs. - Graal native images are real. These boast a far lower startup overhead and much lower steady state memory usage for simpler applications. Probably my counterexample of choice is this: https://github.com/dainiusjocas/lucene-grep - it uses Lucene, one of the best search libraries (core of Elasticsearch, Solr, most websites), which is notoriously not simple code, to implement grep-like functionality. In simple cases, they demonstrate a 30ms whole process runtime with no more than 32MB of RAM used (which looks suspiciously like a default). The JVM is fast becoming a bit like Postgres... one of those 'second best at everything' pieces of tech. |
|