In #9 we added parallelization. Then for #11 we ditched it again in favor of a much faster algorithm. That's a good thing and we're much faster now even back on just one CPU thread.
However that puts some speed back on the table. It's going to be harder to get now and probably means using one thread to scan ahead for some meta data and other threads with a work queue to look through the memory for data.
That or perhaps switching to Gitoxide (c.f. #8) will play nicer with threads. I still don't know.
In #9 we added parallelization. Then for #11 we ditched it again in favor of a much faster algorithm. That's a good thing and we're much faster now even back on just one CPU thread.
However that puts some speed back on the table. It's going to be harder to get now and probably means using one thread to scan ahead for some meta data and other threads with a work queue to look through the memory for data.
That or perhaps switching to Gitoxide (c.f. #8) will play nicer with threads. I still don't know.