> I just bang on Ruby 1.6.8 for our robotics application.

I was wondering why the older version :)

> You seem to already be doing a lot of excellent Ruby testing with current
> versions.
> If I spent a couple days developing these two patches for Ruby 1.8.7,
> would you be willing to run
> regression tests against them and to report the results here?

Absolutely.  I'll test them against some trivial stuff and a small
rails app and see if they help memory wise and check for speed :)


> P.P.S.  The way GC is currently invoked causes it to occur when that stack
> is already near its maximum depth.  This patch tries to make GC normally
> occur is part of CHECK_INTS, when the stack tends to be shallower.
> At that point, clearing the stack can be much more effective.

I wonder if there are less intrusive ways, like changing [from a previous post]

          VALUE l = rb_eval(self,node->nd_recv);
           VALUE r = rb_eval(self,node->nd_value);
           result = rb_reg_match(l, r);
       }
       break;

       /* nodes for speed-up(literal match) */
     case NODE_MATCH3:
       {
           VALUE r = rb_eval(self,node->nd_recv);
           VALUE l = rb_eval(self,node->nd_value);
....
to
...

VALUE l = NULL;
VALUE r = NULL;


           l = rb_eval(self,node->nd_recv);
           r = rb_eval(self,node->nd_value);
           result = rb_reg_match(l, r);
       }
       break;

       /* nodes for speed-up(literal match) */
     case NODE_MATCH3:
       {
           r = rb_eval(self,node->nd_recv);
           l = rb_eval(self,node->nd_value);

[reuse same variable].


Also re: size --doesn't 1.9 have rubygems pre-installed so that it
isn't as large of a standard library? [just pointing out that maybe it
could use some minimizing love still?] :)
Thanks!
-=R