3 ms·
Are there downsides to using the stream-fusion package? If not, why hasn't it been made the default so that the first naive version is fast?
by vinkelhake 13y ago
Are there downsides to using the stream-fusion package? If not, why hasn't it been made the default so that the first naive version is fast?
- mietek 13y agoAs I understand, stream fusion is still subject of active research. A paper showing generalised stream fusion in Haskell was submitted to this year's ICFP. There is also no benevolent dictator in charge of Haskell. http://research.microsoft.com/en-us/um/people/simonpj/papers/ndp/haskell-beats-C.pdf http://research.microsoft.com/en-us/um/people/simonpj/papers... http://www.reddit.com/r/haskell/comments/1br0ls/haskell_beats_c_using_generalised_stream_fusion/ http://www.reddit.com/r/haskell/comments/1br0ls/haskell_beat...
- carterschonwald 13y agoindeed. The generalized stream fusion work is about lifting pointwise operations to their SIMD vectorized analogue. Likewise, stream fusion isn't always a win! Stream fusion and its siblings are great for pointwise operations, but aren't always a good idea for computations with heavy reuse, like nested convolutions or performant matrix multipy
- dons 13y agoComplexity of concatMap operations. Nested things don't always fuse. If you want to use fusion, the best place is the `vector` package.