fusion-plugin
GHC plugin to make stream fusion more predictable (by composewell)
linear-builder
Strict Text and ByteString builder, which hides mutable buffer behind linear types and takes amortized linear time. (by Bodigrim)
fusion-plugin | linear-builder | |
---|---|---|
2 | 5 | |
16 | 87 | |
- | - | |
3.7 | 7.1 | |
6 months ago | 6 days ago | |
Haskell | Haskell | |
Apache License 2.0 | BSD 3-clause "New" or "Revised" License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
fusion-plugin
Posts with mentions or reviews of fusion-plugin.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-25.
-
[ANN] Haskell Streamly 0.9.0 Release!
Our goal is to completely fuse the loops in a fused stream pipeline. fusion-plugin https://github.com/composewell/fusion-plugin ensures that these loops get fused completely, if they don't, it reports that it did not fuse (reporting can be made better though). In most cases (for almost all cases for which we have benchmarks, and we have a lot of benchmarks) these loops fuse.
-
High-Performance Haskell?
If you want to get stream-fusion in base then I think you should first try to get https://github.com/composewell/fusion-plugin in GHC. It takes care of most of the optimization corner cases that you will invariably run into if you want to use stream-fusion reliably.
linear-builder
Posts with mentions or reviews of linear-builder.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-03-05.
- New release of Builder with linear types, now renderable both to Text and ByteString
-
High-Performance Haskell?
Another interesting area of performance optimisation is linear types. It's already possible to take advantage of them in libraries https://github.com/Bodigrim/linear-builder with real world performance gains and in the future in GHC. More about this here https://www.reddit.com/r/haskell/comments/5z6mxb/linear_types_make_performance_more_predictable/?utm_source=share&utm_medium=ios_app&utm_name=iossmf
- Linear Text Builder: up to 20x faster than alternatives
-
Strict Text builder with linear types, up to 10x faster than Data.Text.Lazy.Builder
I've been toying with a strict Text builder, backed by linear types, and benchmarks look very good, up to 10x faster than Data.Text.Lazy.Builder. I'd like to collect more feedback before releasing it, so I'd appreciate people taking a look at https://github.com/Bodigrim/linear-builder/ or rendered haddocks.
-
Seeking feedback for Text Builder with linear types
I've been playing around with linear types, attempting to design a strict Text builder. Admittedly I know too little about both topics, so I'd appreciate some feedback about my ramblings, because benchmarks look suspiciously good: https://github.com/Bodigrim/linear-builder/
What are some alternatives?
When comparing fusion-plugin and linear-builder you can also consider the following projects:
streamly-examples - Examples for Streamly
emoji - emoji utility for haskell
thyme - A faster date and time library based on time
linear-base - Standard library for linear types in Haskell.
text - Haskell library for space- and time-efficient operations over Unicode text.
text-rope - A wrapper around Text for fast line/column navigation and logarithmic concatenation
text-short - Memory-efficient representation of Unicode text strings
countwords - Playing with counting word frequencies (and performance) in various languages.