Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Improve compilation time

Aperta
#458 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Refactoring
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
haskell

Direzione di ricerca

Inizia misurando le compilazioni pulite di vector e confrontandole con quelle di containers e unordered-containers. Esamina le possibilità elencate, inclusi la fusione implicita in #457, la suddivisione del pacchetto, i flag di ottimizzazione, l’inlining e la specializzazione; il lavoro è concluso quando è stato definito un approccio concreto che riduca il tempo di compilazione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.

Lingua principale
Haskell
Stelle
401
Fork
145
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di haskell/vector

Tutte le issue di haskell/vector

Issue simili

Altre issue su Haskell

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.