{"id":639,"date":"2008-02-02T10:09:43","date_gmt":"2008-02-02T14:09:43","guid":{"rendered":"http:\/\/www.wehuberconsultingllc.com\/wordpress\/?p=639"},"modified":"2008-02-02T10:09:43","modified_gmt":"2008-02-02T14:09:43","slug":"nimble-method-garbage-collection-is-why-ruby-on-rails-is-slow-patches-to-improve-performance-5x-memory-profiling","status":"publish","type":"post","link":"https:\/\/wehuberconsultingllc.com\/wordpress\/2008\/02\/02\/nimble-method-garbage-collection-is-why-ruby-on-rails-is-slow-patches-to-improve-performance-5x-memory-profiling\/","title":{"rendered":"Nimble Method: Garbage Collection is Why Ruby on Rails is Slow: Patches to Improve Performance 5x; Memory Profiling"},"content":{"rendered":"<p>&nbsp;<\/p>\n<blockquote>\n<ul>\n<li>\n<p><strong>The News<\/strong>: Ruby on Rails performance is dominated by garbage collection. We present a set of patches to greatly improve Rails performance and show how to profile memory usage to get further performance gains.<\/p>\n<\/li>\n<li>\n<p><strong>What&#8217;s at Stake<\/strong>: Rails is slow for many uses and did not lend itself well to optimization. Significant performance gains could only be achieved at application level at large development cost.<\/p>\n<\/li>\n<li>\n<p><strong>The Upside<\/strong>:  <\/p>\n<ul>\n<li>5x potential performance gains;  <\/li>\n<li>easy way to identify whether GC is a bottleneck;  <\/li>\n<li>deterministic process to fix memory bottlenecks;  <\/li>\n<li>set of canned patches to solve the biggest problems;  <\/li>\n<li>you can help <\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/blockquote>\n<p><a href=\"http:\/\/blog.pluron.com\/2008\/01\/ruby-on-rails-i.html\">Nimble Method: Garbage Collection is Why Ruby on Rails is Slow: Patches to Improve Performance 5x; Memory Profiling<\/a><br \/>arunthampi <br \/>Sat, 02 Feb 2008 05:30:00 GMT <\/p>\n<p><em>Okay, a couple of weeks ago I installed <a href=\"http:\/\/www.ruby-lang.org\/\">Ruby<\/a> so that I could run <a href=\"http:\/\/www.metaspoit.org\/\">Metasploit<\/a>. Installing Ruby was a challenge since I needed to install several dependencies so that I could install RubyGems. Fortunately Simon had the <a href=\"http:\/\/blog.simb.net\/2007\/08\/21\/installing-ruby-and-gems-on-centos-5\/\">answer<\/a>. When I cranked up the GUI version of Metasploit, the GUI seemed slow and the console messages showed Ruby to be busier than I thought it should be. I hadn&#8217;t asked it do anything yet.&nbsp; Maybe this will help! Then again maybe if I upgrade to the latest version of Metasploit(3.1) will help.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; The News: Ruby on Rails performance is dominated by garbage collection. We present a set of patches to greatly improve Rails performance and show how to profile memory usage to get further performance gains. What&#8217;s at Stake: Rails is slow for many uses and did not lend itself well to optimization. Significant performance gains &hellip; <a href=\"https:\/\/wehuberconsultingllc.com\/wordpress\/2008\/02\/02\/nimble-method-garbage-collection-is-why-ruby-on-rails-is-slow-patches-to-improve-performance-5x-memory-profiling\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Nimble Method: Garbage Collection is Why Ruby on Rails is Slow: Patches to Improve Performance 5x; Memory Profiling&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[5,7],"tags":[130,36],"class_list":["post-639","post","type-post","status-publish","format-standard","hentry","category-linux","category-open-source","tag-linux","tag-opensource"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p4iN3d-aj","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wehuberconsultingllc.com\/wordpress\/wp-json\/wp\/v2\/posts\/639","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wehuberconsultingllc.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wehuberconsultingllc.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wehuberconsultingllc.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wehuberconsultingllc.com\/wordpress\/wp-json\/wp\/v2\/comments?post=639"}],"version-history":[{"count":0,"href":"https:\/\/wehuberconsultingllc.com\/wordpress\/wp-json\/wp\/v2\/posts\/639\/revisions"}],"wp:attachment":[{"href":"https:\/\/wehuberconsultingllc.com\/wordpress\/wp-json\/wp\/v2\/media?parent=639"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wehuberconsultingllc.com\/wordpress\/wp-json\/wp\/v2\/categories?post=639"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wehuberconsultingllc.com\/wordpress\/wp-json\/wp\/v2\/tags?post=639"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}