On Sat, May 22, 2021 at 5:49 AM David Bremner <[email protected]> wrote:
>
> Felipe Contreras <[email protected]> writes:
>
> > Ruby is a gc language, we shouldn't be doing workaround to free memory when
> > Ruby is perfectly
> > capable of doing so.
> >
> > The problem is that talloc wants to be smart, and Ruby and talloc both
> > fight to free memory. We can
> > let Ruby win by stealing all the objects from talloc control.
> >
> > Thanks to the previous cleanup patches it's now possible to easily do this.
> >
> > In order to test this series I've used the following script:
>
> I still haven't had a chance to look at the series, but how about making
> this script either a test or a performance-test, as appropriate?
I gave this a try, and even compiled Ruby with --with-valgrind
(apparently Arch Linux doesn't do that), but doesn't seem to work
right:
% valgrind /opt/ruby/bin/ruby -e 'p true'
HEAP SUMMARY:
in use at exit: 37,193,788 bytes in 21,951 blocks
total heap usage: 61,729 allocs, 39,778 frees, 51,503,615 bytes allocated
LEAK SUMMARY:
definitely lost: 510,491 bytes in 4,617 blocks
indirectly lost: 795,436 bytes in 9,411 blocks
possibly lost: 2,128,254 bytes in 7,100 blocks
still reachable: 33,759,607 bytes in 823 blocks
suppressed: 0 bytes in 0 blocks
Rerun with --leak-check=full to see details of leaked memory
Trying to run the simplest of Ruby commands throws a log 93,000 lines long.
I did try to search online resources to use valgrind with Ruby to no
avail. Apparently everyone is using valgrind with a baseline (if
valgrind shows 500 KiB lost as a start, how much does it change after
my changes?). Sure, we could try to massage a valgrind suppression
file, but is it worth the effort if the Ruby project itself hasn't
even tried to do that?
If we wanted to measure the memory performance of such a command
(which I think would be very nice) a different strategy is needed.
I also didn't see any talloc output.
For now I don't think the series should be blocked by this setback.
Just try to run the command yourself with top. You can see it works.
Cheers.
--
Felipe Contreras
_______________________________________________
notmuch mailing list -- [email protected]
To unsubscribe send an email to [email protected]