Very nice presentation. However much of this can be actually discovered and felt first hand just by playing with profilers that support memory profiling (such as yourkit[1]).<p>After a few hours playing with it, you will never forget the precious lessons on this presentation.<p>[1] <a href="http://www.yourkit.com/" rel="nofollow">http://www.yourkit.com/</a>
This is probably an 'apple and oranges' type of question, but I haven't used Erlang, nor Java to build large applications.<p>Does anyone know how Erlang compares to Java in regards to memory usage/performance?
For those of you who may not be familiar with them, using <a href="http://fastutil.dsi.unimi.it/" rel="nofollow">http://fastutil.dsi.unimi.it/</a> collections instead of Java collections is essentially the work-around for most things you'll use. Fastutil has custom classes that remove the pointer overhead associated with storing primitives. Unfortunately, Java really falls apart at the primitives aren't objects thing when it comes to performance.
Some (not all) of these cases would be helped massively if the JVM gained an equivalent of the fixnum/flonum types from the LISP world. This has been proposed kind-of seriously in the past, e.g.:<p><a href="http://blogs.oracle.com/jrose/entry/fixnums_in_the_vm" rel="nofollow">http://blogs.oracle.com/jrose/entry/fixnums_in_the_vm</a><p>Has anyone seen anything more recent?
from 2008. slide 25:<p><i>experiments on a sampling of different JVMs.</i><p>More recent :<p><a href="http://vanillajava.blogspot.com/2011/07/java-getting-size-of-object.html" rel="nofollow">http://vanillajava.blogspot.com/2011/07/java-getting-size-of...</a><p><a href="http://vanillajava.blogspot.com/2011/07/java-how-much-memory-do-different.html" rel="nofollow">http://vanillajava.blogspot.com/2011/07/java-how-much-memory...</a><p><a href="http://kohlerm.blogspot.com/2008/10/knowledge-about-much-memory-things-need.html" rel="nofollow">http://kohlerm.blogspot.com/2008/10/knowledge-about-much-mem...</a><p><a href="http://kohlerm.blogspot.com/2009/02/how-to-really-measure-memory-usage-of.html" rel="nofollow">http://kohlerm.blogspot.com/2009/02/how-to-really-measure-me...</a><p><a href="http://marxsoftware.blogspot.com/2011/12/estimating-java-object-sizes-with.html" rel="nofollow">http://marxsoftware.blogspot.com/2011/12/estimating-java-obj...</a><p>(i have zillions bookmarks on this)