|Think about Loose Coupling|
Re: Optimizing with Caching vs. Parallelizing (MCE::Map)by Laurent_R (Canon)
|on Apr 14, 2020 at 11:16 UTC ( #11115516=note: print w/replies, xml )||Need Help??|
for some reason, I somehow missed your very interesting post and the rest of this thread until just now.
In fact, a couple of days after I submitted my solution to the Perl Weekly Challenge and posted my blog post you refer to above, I figured out that my caching strategy was in fact quite inefficient: the program doesn't need to store in the cache the full sequence, it would be enough to just store the number of its items. And that reduces considerably the overhead of the cache.
I did not try this change in Perl so far, but I did it with the Raku solution. Changing the caching strategy made the Raku program 6 times faster. It seems the changes I made are quite similar to what vr suggested. These results are described in another blog that I haven't completed yet, but will be published hopefully soon.
Now that I see that you have brought this up, I feel compelled to implement this change in the Perl version. I don't have time right now, but will come back with my updated version and the relevant timings soon. (Update: see below.)
Thank you anyway for your very interesting post and for the just as interesting discussion it triggered.
In Section Meditations