<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-5601223690880447601.post6049611866953542780..comments</id><updated>2010-04-07T09:29:40.501+02:00</updated><category term='Personal'/><category term='AOP'/><category term='Dojo'/><category term='JPA'/><category term='JBoss'/><category term='jQuery'/><category term='MySQL'/><category term='Lift'/><category term='Velocity'/><category term='REST'/><category term='VirtualBox'/><category term='Hibernate'/><category term='HSQLDB'/><category term='AJAX'/><category term='Photography'/><category term='Java'/><category term='RichFaces'/><category term='Mercurial'/><category term='Programming'/><category term='EJB'/><category term='Scala'/><category term='AspectJ'/><category term='Firefox'/><category term='Git'/><category term='Maven'/><category term='Eclipse'/><category term='JSF'/><category term='CDI'/><category term='Spring'/><category term='JavaScript'/><category term='JEE'/><category term='Thought'/><title type='text'>Comments on blog.m1key.me: Scala performance - garbage collection analysis</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.m1key.me/feeds/6049611866953542780/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5601223690880447601/6049611866953542780/comments/default'/><link rel='alternate' type='text/html' href='http://blog.m1key.me/2010/04/scala-performance-garbage-collection.html'/><author><name>Michał Huniewicz</name><uri>http://www.blogger.com/profile/03904658492365257143</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_6T4pzuy2Nnk/S1w1vzXhE2I/AAAAAAAAAgA/h_zFiuSkaCs/S220/version5.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5601223690880447601.post-8026620767923219189</id><published>2010-04-07T09:29:40.492+02:00</published><updated>2010-04-07T09:29:40.492+02:00</updated><title type='text'>Thanks for all your replies.

@jigarshah.net
You h...</title><content type='html'>Thanks for all your replies.&lt;br /&gt;&lt;br /&gt;@jigarshah.net&lt;br /&gt;You have these parameters you can pass on to the server:&lt;br /&gt;-XX:PermSize=&lt;br /&gt;-XX:MaxPermSize=&lt;br /&gt;As far as I know, the server is responsible for this, it has a memory leak of some sort. I found more information here:&lt;br /&gt;http://www.jroller.com/agileanswers/entry/preventing_java_s_java_lang&lt;br /&gt;&lt;br /&gt;&amp;quot;The message is a symptom of an incomplete garbage collection sweep where resources are not properly released upon unload/restart. [...] the finger of blame has been pointed at CGLIB, Hibernate, Tomcat, and even Sun&amp;#39;s JVM.&amp;quot;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5601223690880447601/6049611866953542780/comments/default/8026620767923219189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5601223690880447601/6049611866953542780/comments/default/8026620767923219189'/><link rel='alternate' type='text/html' href='http://blog.m1key.me/2010/04/scala-performance-garbage-collection.html?showComment=1270625380492#c8026620767923219189' title=''/><author><name>Michał Huniewicz</name><uri>http://www.blogger.com/profile/03904658492365257143</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_6T4pzuy2Nnk/S1w1vzXhE2I/AAAAAAAAAgA/h_zFiuSkaCs/S220/version5.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.m1key.me/2010/04/scala-performance-garbage-collection.html' ref='tag:blogger.com,1999:blog-5601223690880447601.post-6049611866953542780' source='http://www.blogger.com/feeds/5601223690880447601/posts/default/6049611866953542780' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1080192893'/></entry><entry><id>tag:blogger.com,1999:blog-5601223690880447601.post-5112796474014384847</id><published>2010-04-07T08:46:57.257+02:00</published><updated>2010-04-07T08:46:57.257+02:00</updated><title type='text'>jigarshah.net I am not sure mau be this can help y...</title><content type='html'>jigarshah.net I am not sure mau be this can help you with PermGen problem, see http://www.tomcatexpert.com/blog/2010/04/06/tomcats-new-memory-leak-prevention-and-detection</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5601223690880447601/6049611866953542780/comments/default/5112796474014384847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5601223690880447601/6049611866953542780/comments/default/5112796474014384847'/><link rel='alternate' type='text/html' href='http://blog.m1key.me/2010/04/scala-performance-garbage-collection.html?showComment=1270622817257#c5112796474014384847' title=''/><author><name>Vic</name><uri>http://www.blogger.com/profile/13876094455093082780</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://bp0.blogger.com/_FszOnV-9zV0/SEaT_ScT2cI/AAAAAAAAAAM/bJgL13HstNs/S220/12210025.JPG'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.m1key.me/2010/04/scala-performance-garbage-collection.html' ref='tag:blogger.com,1999:blog-5601223690880447601.post-6049611866953542780' source='http://www.blogger.com/feeds/5601223690880447601/posts/default/6049611866953542780' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1229888917'/></entry><entry><id>tag:blogger.com,1999:blog-5601223690880447601.post-680764274774917801</id><published>2010-04-07T08:38:42.464+02:00</published><updated>2010-04-07T08:38:42.464+02:00</updated><title type='text'>Hi thanks for brief overview about the same. Enjoy...</title><content type='html'>Hi thanks for brief overview about the same. Enjoyed it. I am facing another issue. Its PermGen space after redeployment. a well known issue on the web forums. Can you please suggest me how to look for details on the same ? Or can you point to some place Where i can get a little more help ?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5601223690880447601/6049611866953542780/comments/default/680764274774917801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5601223690880447601/6049611866953542780/comments/default/680764274774917801'/><link rel='alternate' type='text/html' href='http://blog.m1key.me/2010/04/scala-performance-garbage-collection.html?showComment=1270622322464#c680764274774917801' title=''/><author><name>jigarshah.net</name><uri>http://jigarshah.net/</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/openid16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.m1key.me/2010/04/scala-performance-garbage-collection.html' ref='tag:blogger.com,1999:blog-5601223690880447601.post-6049611866953542780' source='http://www.blogger.com/feeds/5601223690880447601/posts/default/6049611866953542780' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-408706994'/></entry><entry><id>tag:blogger.com,1999:blog-5601223690880447601.post-3314945403434801504</id><published>2010-04-06T21:10:37.539+02:00</published><updated>2010-04-06T21:10:37.539+02:00</updated><title type='text'>Good garbage optimization is better then no garbag...</title><content type='html'>Good garbage optimization is better then no garbage optimization.&lt;br /&gt;Can&amp;#39;t argue on that one :)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5601223690880447601/6049611866953542780/comments/default/3314945403434801504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5601223690880447601/6049611866953542780/comments/default/3314945403434801504'/><link rel='alternate' type='text/html' href='http://blog.m1key.me/2010/04/scala-performance-garbage-collection.html?showComment=1270581037539#c3314945403434801504' title=''/><author><name>gszech</name><uri>http://www.blogger.com/profile/01149067869898942590</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='02864083880752557379'/><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.m1key.me/2010/04/scala-performance-garbage-collection.html' ref='tag:blogger.com,1999:blog-5601223690880447601.post-6049611866953542780' source='http://www.blogger.com/feeds/5601223690880447601/posts/default/6049611866953542780' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-717746121'/></entry><entry><id>tag:blogger.com,1999:blog-5601223690880447601.post-8084631975682020231</id><published>2010-04-04T14:32:00.938+02:00</published><updated>2010-04-04T14:32:00.938+02:00</updated><title type='text'>Vincent, to partially answer your question, you mi...</title><content type='html'>Vincent, to partially answer your question, you might be interested in seeing the output generated by your program when the JVM is given the hprof option.&lt;br /&gt;&lt;br /&gt;java -Xrunhprof[:options] your_program&lt;br /&gt;&lt;br /&gt;It will generate a report for heap usage. If you ask it to generate a binary report (Xrunhprof:format=b), you can analyze it with Eclipse Memory Analyzer.&lt;br /&gt;&lt;br /&gt;I ran this for my Scala program and I guess the result was similar to the one you predicted. Quite a lot of Scala garbage, it even detected two potential memory leaks.&lt;br /&gt;&lt;br /&gt;Perhaps you&amp;#39;d like to try out this program yourself. It has quite a few options and you might find what you are looking for.&lt;br /&gt;http://www.eclipse.org/mat/</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5601223690880447601/6049611866953542780/comments/default/8084631975682020231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5601223690880447601/6049611866953542780/comments/default/8084631975682020231'/><link rel='alternate' type='text/html' href='http://blog.m1key.me/2010/04/scala-performance-garbage-collection.html?showComment=1270384320938#c8084631975682020231' title=''/><author><name>Michał Huniewicz</name><uri>http://www.blogger.com/profile/03904658492365257143</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_6T4pzuy2Nnk/S1w1vzXhE2I/AAAAAAAAAgA/h_zFiuSkaCs/S220/version5.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.m1key.me/2010/04/scala-performance-garbage-collection.html' ref='tag:blogger.com,1999:blog-5601223690880447601.post-6049611866953542780' source='http://www.blogger.com/feeds/5601223690880447601/posts/default/6049611866953542780' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1080192893'/></entry><entry><id>tag:blogger.com,1999:blog-5601223690880447601.post-7310893141825407837</id><published>2010-04-04T01:24:51.856+02:00</published><updated>2010-04-04T01:24:51.856+02:00</updated><title type='text'>I think this is a very interesting subject to stud...</title><content type='html'>I think this is a very interesting subject to study, as more languages are created (and migrate) to the JVM, there may be vastly different amounts and types of garbage generated for each.&lt;br /&gt;&lt;br /&gt;I wonder if there is an easy way to see the average object lifetime, and compare scala programs to java programs.&lt;br /&gt;&lt;br /&gt;My thought is scala will generate more short term garbage, but I don&amp;#39;t have any proof. &lt;br /&gt;&lt;br /&gt;The G1 Collector has some interesting properties, and though it was originally intended as a &amp;#39;concurrent&amp;#39; collector (which usually sacrifices overall througput), its certainly possible it could be even faster for scala like programs.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5601223690880447601/6049611866953542780/comments/default/7310893141825407837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5601223690880447601/6049611866953542780/comments/default/7310893141825407837'/><link rel='alternate' type='text/html' href='http://blog.m1key.me/2010/04/scala-performance-garbage-collection.html?showComment=1270337091856#c7310893141825407837' title=''/><author><name>Vincent</name><uri>http://www.blogger.com/profile/11423741726738312940</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.m1key.me/2010/04/scala-performance-garbage-collection.html' ref='tag:blogger.com,1999:blog-5601223690880447601.post-6049611866953542780' source='http://www.blogger.com/feeds/5601223690880447601/posts/default/6049611866953542780' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1131777086'/></entry><entry><id>tag:blogger.com,1999:blog-5601223690880447601.post-491885243352914042</id><published>2010-04-01T23:57:49.952+02:00</published><updated>2010-04-01T23:57:49.952+02:00</updated><title type='text'>Hey Vincent, thanks for your comment.

Well, if an...</title><content type='html'>Hey Vincent, thanks for your comment.&lt;br /&gt;&lt;br /&gt;Well, if an object lives a long life it will enter another generation (tenured). Then it is no longer subject to minor collections.&lt;br /&gt;&lt;br /&gt;But you&amp;#39;re right. If they all die young enough - then major collections will not run at all. I will update the article.&lt;br /&gt;&lt;br /&gt;Best regards.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5601223690880447601/6049611866953542780/comments/default/491885243352914042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5601223690880447601/6049611866953542780/comments/default/491885243352914042'/><link rel='alternate' type='text/html' href='http://blog.m1key.me/2010/04/scala-performance-garbage-collection.html?showComment=1270159069952#c491885243352914042' title=''/><author><name>Michał Huniewicz</name><uri>http://www.blogger.com/profile/03904658492365257143</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://3.bp.blogspot.com/_6T4pzuy2Nnk/S1w1vzXhE2I/AAAAAAAAAgA/h_zFiuSkaCs/S220/version5.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.m1key.me/2010/04/scala-performance-garbage-collection.html' ref='tag:blogger.com,1999:blog-5601223690880447601.post-6049611866953542780' source='http://www.blogger.com/feeds/5601223690880447601/posts/default/6049611866953542780' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1080192893'/></entry><entry><id>tag:blogger.com,1999:blog-5601223690880447601.post-1208174237815401426</id><published>2010-04-01T23:50:01.365+02:00</published><updated>2010-04-01T23:50:01.365+02:00</updated><title type='text'>&amp;quot;the bigger the young generation, the less of...</title><content type='html'>&amp;quot;the bigger the young generation, the less often minor collections happen - but the more often major collections will)&amp;quot;&lt;br /&gt;&lt;br /&gt;I&amp;#39;m not sure this is true, I think it would depend on your average object lifetime.&lt;br /&gt;&lt;br /&gt;If no object exists for more than a few milliseconds, why would there be more major collections? They should never make it to the old generation to begin with.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5601223690880447601/6049611866953542780/comments/default/1208174237815401426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5601223690880447601/6049611866953542780/comments/default/1208174237815401426'/><link rel='alternate' type='text/html' href='http://blog.m1key.me/2010/04/scala-performance-garbage-collection.html?showComment=1270158601365#c1208174237815401426' title=''/><author><name>Vincent</name><uri>http://www.blogger.com/profile/11423741726738312940</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.m1key.me/2010/04/scala-performance-garbage-collection.html' ref='tag:blogger.com,1999:blog-5601223690880447601.post-6049611866953542780' source='http://www.blogger.com/feeds/5601223690880447601/posts/default/6049611866953542780' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1131777086'/></entry></feed>
