It's been a weekend of Ruby at Chez Box (ok, actually it's been a weekend of pollen and allergy meds but that's another story).
What I'm wondering about this evening is about how various mechanisms get used in the wild and how the ruby runtime handles them.
Here's what I wish I knew:
- What's the performance penalty for passing/calling a block vs. executing the code "directly" on the current frame? Does the cost go up/down if the block doesn't reference any symbols in the enclosing frame? I know the answers for the CLR and C#, but I'm not sure my intuitions from that environment apply here.
- Do people wind up using blocks to model simple CPS-like idioms and if so, how does the runtime's stack management hold up?
- Are there lots of uses of Kernel.callcc in the wild, or is it a niche feature? How's the implementation on various OSs? How does the runtime deal with extern "C" calls that may be on the stack?
Posted
May 08 2006, 04:16 AM
by
don-box