From: Brent Roman Date: 2009-03-25T11:15:13+09:00 Subject: [ruby-core:23017] MBARI patches for 1.8 HEAD Hi, I recently pushed the MBARI patches to my repo on github. They are finer grained than the original MBARI patch sequence. Patches that add features are separate from those that fix bugs and/or improve performance. All API changes are conditionally compiled on MBARI_API, which can be set via the --enable-mbari-api configure parameter. Or, you could choose not to apply those particular patches. Anyone interested can fetch these from here: git://github.com/brentr/matzruby.git Each patch is also available a web interface for reveiw, here: http://github.com/brentr/matzruby/commits/ruby_1_8-mbari/ Questions/Comments: I did notice that the new thread anchor code is slowing down my, rather extreme, threading test cases. I think I know why and will work on improving this. Performance on these tests is still significantly better than unpatched. The patched version, rebased to the ruby_1_8 I pulled this evening, runs the test suite without error. Run time when stack clearing is disabled is slightly faster. With stack clearing enabled, its slightly slower, but uses less memory. Note that there is one test that does fail in all MBARI patched versions. The file: test/ruby/suicide.rb does this: at_exit{Process.kill(:INT, $$)} This signal is not trapped because it is the very last thing eval'd. The process terminates before the trap is executed. I believe this is inherently a race condition. One could CHECKINTS more often, but that slows things down for no good reason. So, I changed the test to: at_exit{Process.kill(:INT, $$); sleep 0} #to keep the interpreter alive long enough to get the signal. - brent -- View this message in context: http://www.nabble.com/MBARI-patches-for-1.8-HEAD-tp22694009p22694009.html Sent from the ruby-core mailing list archive at Nabble.com.