Twinside/Rasterific

How much parallel speedup is there on multicore CPUs?

Closed this issue · 2 comments

How much parallel speedup is there? None? Or a bit? Or full support?

Also how much effort would it be to rewrite the library in with parallel support?

PS: very impressed with the Rasterific library! Fantastic! Also because there is not so much documentation on gezira that I found. Even more impressive.

Right now, absolutely none. The biggest bottleneck is the edge sample: sorting

What could be parallelized easily:

  • Composition, after the sorting, all CoverageSpan can be applied to the canvas in parallel
  • Primitive decomposition, but the cost to recombine them before sorting could be high

Maybe sorting in parallel could be done, but tuning performance can be tricky. A word of warning though, lists are used lazily across the library, and changing allocation/storage can also be tricky.

I am closing this issue; it is more a feature request than a bug.

See also the discussion on reddit.