On Thursday, 19 May 2016 at 22:04:56 UTC, Andrei Alexandrescu wrote:
On 05/19/2016 05:36 PM, Jens Müller wrote:
I removed the code to optimize for large gaps. Because it is only confusing. I may generate some benchmark data with larger gaps later to
see whether it is worthwhile for such data.

For skipping large gaps quickly, check galloping search (google for it, we also have it in phobos). -- Andrei

Sure. I've already seen this. It's nice. But you have to include it in the sparse dot product (or list intersection) algorithm somehow. Then you require random access and galloping is only beneficial if the gaps are large. As a library writer this is a difficult position because this turns easily into over engineering. Optimally one just exposes the primitives and the user plugs them together. Ideally without having to many knobs per algorithm.

Jens

Reply via email to