On Sat, May 22, 2021 at 5:49 AM David Bremner <da...@tethera.net> wrote: > > Felipe Contreras <felipe.contre...@gmail.com> 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 -- firstname.lastname@example.org To unsubscribe send an email to notmuch-le...@notmuchmail.org