Go: 40M Node: 64M Java: 4GB
Any Java service I've seen in production has similar numbers. Coupled with the incredible startup time it's hard for me to see why you'd pick it in 2018.
Go: 40M Node: 64M Java: 4GB
Any Java service I've seen in production has similar numbers. Coupled with the incredible startup time it's hard for me to see why you'd pick it in 2018.
This benchmark is completely useless unless you have 3 identical servers with identical algorithms using identical API and models with identical work load. so... why would you waste time writing them?
Also, these [1] benchmarks which are more reliable, because we know what servers they're run on and we can inspect source code, unless, of source, you can prove your statement.
[1] https://benchmarksgame-team.pages.debian.net/benchmarksgame/...
In most of the cases it's just a matter of setting a few Java runtime startup parameters.
> If you tell your Java application server "here you have 4GB, use it as you wish"
JS does frequent GC cycles because its unacceptable to let a webpage eat all the ram. Not sure why Go collects so frequently. Java's default IMO is the most reasonable of the three. If you have a server with 4gb the best choice is to let the garbage collector use all of it
So you actually haven't tried to run an application with those libraries, and you don't even know what libraries that particular application is using, and here you are speculating about something you don't know and/or understand.
There's a raft of more sane choices these days like Play, Dropwizard, Vert.X etc.. They all use far less resources. Spring Boot is huge because it has to support a decade of obsolete junk, its far more than just a REST app framework.
Checkout TechEmpower's framework benchmarks https://www.techempower.com/benchmarks/#section=data-r16&hw=...
(I added filters to limit to Java+Go+JS+Python and limited DB to Postgres and Mysql)
Java and Golang lead the pack, with JS a distant second and most Python frameworks hanging out near the bottom
I've encountered plenty of spring boot microservices in my work and, from what I hear of other companies, it's not particularly rare.
Most of the time, if you have a team that's productive in Spring, a manager or lead will be happy to spend some extra memory and get more features shipped.