safareli / free

Combination of a free applicative functor and free monad
MIT License
57 stars 3 forks source link

add benchmarks #26

Open safareli opened 7 years ago

safareli commented 7 years ago

After we add benchmarks first step should be to optimise Par either port purescript-freeap or do DList like optimisation https://www.eyrie.org/~zednenem/2013/05/27/freeapp

pbadenski commented 2 years ago

FYI sanctuary typeclasses and daggy are very inefficient.

They're causing massive slowdown of traversal - 2 orders of magnitude in my tests: 50k ops/sec with sanctuary typeclasses & daggy vs 3M ops/sec handrolled.

I believe they're also responsible for linear degradation of traversal performance. Handrolled version is relatively stable for small trees and becomes linear only for large trees. For large trees this might have more to do with hardware limitations - but that's only a guess.