aejenk / glitchup

A databender library/executable made in Rust.
Mozilla Public License 2.0
1 stars 0 forks source link

Feature/add parallellism #27

Closed aejenk closed 5 years ago

aejenk commented 5 years ago

Added parallellism (with regards to rows of mutations) - which ended up resulting in a major refactor of the code, with movement of code all over the place, and multiple Trait inclusions.

The end result is an estimated 36% performance increase for 4 rows of 4 mutations each. Since the performance increase should only be reasonably associated with the number of rows - then 4 parallel rows coincide with a performance of 136% (meaning a ratio of 50:17, or 1:0.34)

Note: Mutations weren't parallellized because

  1. Some of them couldn't be.
  2. The ones that were presented a heavy performance decrease.

The latter could be coincidental, but I decided against implementing it at the end.