4 ms·
well compared to dotnet core 3 the java memory management is really really bad. in java memory is not more efficient than in node.js/php/ruby or python it's wor
by merb 7y ago
well compared to dotnet core 3 the java memory management is really really bad.
in java memory is not more efficient than in node.js/php/ruby or python it's worse. what is better is the performance, especially when you have a lot of stuff on the heap the performance is predictable even with a memory size of > 16gb where the other languages lack of. GraalVM still misses a lot of stuff and is slower.
so I think the biggest buck for the bang actual is dotnet (maybe go is as good as well, but does not really play in the same league). I think once valhalla hits the tables might change, but even than ReadOnlySpan<T> is way too awesume than just value types.
- bad_user 7y agoSpeaking of the mainstream scripting languages ... Python often leaks memory, the GC being built on top of reference counting to solve cycles, isn't compacting and can also be left disabled for performance, which is a trap. This is made worse by native libraries that also leak. It has gotten better, Python apps being one of the most deployed. But I haven't seen a Python app that's memory efficient yet, except for short lived shell scripts. PHP uses tens of MB per request, which due to its "shared nothing" policy means you need several GBs of RAM for serving a Wordpress website that can withstand traffic spikes. Many companies actually deploy their Ruby apps on top of the JVM, via JRuby, due to better memory usage. Node.js is the only one that's more efficient out of this bunch, the GCs have similar implementations to the JVM and optimized for devices that are memory constrained, the problem being that Node.js processes are single threaded, so to distribute the load, you end up with multiple processes, plus due to JavaScript you also get more garbage. > the biggest buck for the bang actual is dotnet Not in my experience, but granted I haven't tested .NET Core yet.
- rb808 7y agoI agree dotnet is great technically but it'll never be fashionable, SV just doesn't do MS.
- vips7L 7y ago>GraalVM still misses a lot of stuff and is slower. Are there benchmarks for this?
- merb 7y agowell he talked about the AOT stuff. which is not on par as dotnet core's aot approach in 3.0, however default graalvm is quite fast (but still memory hungry)
- jdc 7y ago> well compared to dotnet core 3 the java memory management is really really bad. Can you be more specific? What kind of workload and which JVM are you talking about?