I believe matz tried incorporating it about a year ago, but there were
too many changes in the code since I patched it. You might find a
discussion from then.
The message above also has a testbench (for some reason it is
base-64). Last I tried it, there were some improvements, but there
were still some tests that looked clearly leaky and/or slow.
Eric
···
On 10/25/07, Robert Dober <robert.dober@gmail.com> wrote:
On 10/25/07, Bob Hutchison <hutch@recursive.ca> wrote:
>
> On 25-Oct-07, at 12:40 PM, Eric Mahurin wrote:
> > The problem is that Ruby's COW (copy-on-write) scheme is messed up for
> > arrays. I've found much worse cases performance and memory-wise. Try
> > doing a small #slice on a big array a bunch and modify the small
> > slices. I made a 1.9 patch a couple years ago that fixed the problem
> > and made ALL operations near the front just as fast as the operations
> > on the back. Unfortunately, it never made it in. The way I did it
> > might be unique, not sure. I thought C++ deque does something
> > similiar, but it doesn't. When I find time, I'll try to do the fix
> > again.
>
> Eric, thanks for the information.
>
Now this is all very great but could you share with us what is going
on, right now I just see people complaining that it is broken, no
reference to a bug report, no test code, I feel that this is highly
unfair to Ruby.
Whatever I am not going to try to reproduce an error that might not
even be there.
I have not found any reference to this on Ruby core, could you please
give a pointer to your patch Eric?
Great thx
message to Bob: no it did not degenerate I only felt that your code
did not at all allow to test this.
But the discussion is all I need to get into this and no more tests are needed.
Sorry if I was to harsh, somehow I interpreted your posts as cynical,
but that might have been my fault.
But no real problem.
Robert
···
On 10/25/07, Eric Mahurin <eric.mahurin@gmail.com> wrote:
On 10/25/07, Robert Dober <robert.dober@gmail.com> wrote:
> On 10/25/07, Bob Hutchison <hutch@recursive.ca> wrote:
> >
> > On 25-Oct-07, at 12:40 PM, Eric Mahurin wrote:
> > > The problem is that Ruby's COW (copy-on-write) scheme is messed up for
> > > arrays. I've found much worse cases performance and memory-wise. Try
> > > doing a small #slice on a big array a bunch and modify the small
> > > slices. I made a 1.9 patch a couple years ago that fixed the problem
> > > and made ALL operations near the front just as fast as the operations
> > > on the back. Unfortunately, it never made it in. The way I did it
> > > might be unique, not sure. I thought C++ deque does something
> > > similiar, but it doesn't. When I find time, I'll try to do the fix
> > > again.
> >
> > Eric, thanks for the information.
> >
> Now this is all very great but could you share with us what is going
> on, right now I just see people complaining that it is broken, no
> reference to a bug report, no test code, I feel that this is highly
> unfair to Ruby.
>
> Whatever I am not going to try to reproduce an error that might not
> even be there.
> I have not found any reference to this on Ruby core, could you please
> give a pointer to your patch Eric?
>
> Robert