From: Brian Candler Date: 2008-12-01T18:29:00+09:00 Subject: [ruby-core:20185] Re: Promising C coding techniques to reduce MRI's memory use > What I did come up with was not ugly at all. Factor the unwieldy switch > statement of rb_eval() into separate functions to handle each node > type Did you replace the whole switch statement with a dispatch table? That sounds like a sensible thing to do anyway. OTOH, if this is for ruby 1.8.x, I'm afraid you may not find much interest in such changes while the focus is all on 1.9. Perhaps worth checking how 1.9's bytecode interpreter stacks up under the same conditions? OTOH, 1.9 doesn't have callcc anyway, so maybe your application code would need a lot of restructuring to use Fiber instead. I don't know if it's possible to implement callcc in terms of Fiber. Regards, Brian.