Improve compilation time
- 主要语言
- Haskell
- 星标
- 400
- 派生
- 145
- PR 合并指标
- 30 天内没有已合并 PR
描述
I was wondering if it is possible to improve the compilation time for `vector`. On my machine, compiling it from scratch currently takes about 1.5 minutes (1 m 35 s), which I feel like is too long. For comparison, `containers` takes 45 seconds and `unordered-containers` takes 23 seconds. Yes, I know, cabal caches the build, but it's still annoying (you still have to compile it when switching to a new GHC version, contributing to `vector`, in CI, when non-Haskell people want to install a tool using `vector`,...).
Some ideas that might help to decrease compilation time:
* disable implicit fusion (#457)
* split `vector` into several smaller packages (e.g. `vector-core`, `vector-storable`, `vector-unboxed`), so that users only have to depend on the parts they actually use (`vector` would stay the same, so people could just keep using it)
* don't use `-O2` (find out which flags significantly improve performance and only enable those)
* reduce inlining (this is probably hard without also reducing performance)
* avoid redefinitions for specialization (this would be a breaking change, but idk how big the impact would be)
I'm curious how realistic you find my ideas and if you have other ideas to improve compilation time.
贡献指南
这个仓库没有索引到贡献指南
评估
这个 Issue 还没有评估数据。