Kurt StephensNerd Up! | ||||||||||||||||||||
rubyCheapAdvice
The Broken Promises of MRI/REE/YARV
Joe Damato drills deep into the implied contracts of the MRI/C API: http://timetobleed.com/the-broken-promises-of-mrireeyarv/The need for RB_GC_GUARD(v) is probably due to faulty register spilling in the MRI eval/thread/GC machinery; the PRE_GETCONTEXT() and POST_GETCONTEXT() macros in MRI eval.c might be the real problem. In contrast, the Boehm-Demers-Weiser (BDW) GC library manages to scan registers without demanding client code to explicitly flush pointers to the stack. However, in general, it is problematic, in language design practice to make GC contracts completely transparent to API client code. This difficultly is explicitly solved in the design of Lua: Ruby: REE RUBY_HEAP allocation parameter and page alignment improvements.
http://code.google.com/p/rubyenterpriseedition/issues/detail?id=67
Patch: MRI 1.8.7: syck: fix buffer overflow when parsing YAML from a String.
Ruby: Thread stack leak patch accepted into REE.
This patch reduces the stack buffer memory footprint of dead Threads as early as possible, rather than waiting until the Thread can be GCed. This is applicable only to the zero-copy context switch patch. http://code.google.com/p/rubyenterpriseedition/issues/detail?id=57 http://blog.phusion.nl/2011/02/12/ruby-enterprise-edition-1-8-7-2011-01-... Ruby: MRI WeakRefs in C
Simple patch for C WeakRefs in MRI 1.9. http://redmine.ruby-lang.org/issues/show/4168 https://github.com/kstephens/ruby/commit/0942a955c649c39d3be4db13dbfb0ba... Concrete Partial Evaluation in Ruby
http://www.computer.org/portal/web/csdl/doi/10.1109/eScience.2008.141 Abstract:
ChicagoRuby Ruby Code Tweaks slides, code and video
The slides from my ChicagoRuby 2010/5/4 presentation : http://kurtstephens.com/pub/ruby/ruby_code_tweaks/ All the raw data used to generate the graph should be referenced in the slides. The code used to generate the slides is here: http://github.com/kstephens/ruby_code_tweaks I’m looking to increase the set of code “Problems” to cover other tiny code idioms and platform issues, for example: regular expressions, numerics, etc. If you have ideas, take a look at the code and contact me. Justin Love gave a fantastic presentation on lambda and closure. Thanks to everyone who came — hope it was helpful. Video from the talk: Ruby Code Performance Tweaks by Kurt Stephens from ChicagoRuby on Vimeo. Ruby: Excellent MRI GC Slides
Excellent introduction to Ruby MRI’s GC and memory debugging: http://timetobleed.com/garbage-collection-slides-from-la-ruby-conference... |
||||||||||||||||||||
Recent comments
9 weeks 2 days ago
19 weeks 3 days ago
38 weeks 1 day ago
1 year 2 weeks ago
1 year 35 weeks ago
1 year 48 weeks ago
1 year 50 weeks ago
1 year 51 weeks ago
1 year 51 weeks ago
1 year 51 weeks ago