Skip to content

Optimise IFD? #1522

Closed
Closed
@L-as

Description

@L-as

Currently, AFAICT, haskell.nix makes extensive use of IFD in the form of essentially importing the materialisation.
This is problematic because of many obvious reasons:

  • IFD blocks evaluation, so if you have (import x.outPath) + (import y.outPath), they will be built sequentially, rather than in parallel, which is a huge issue.
  • Hydra doesn't work well with it.

A very related issue on GH is NixOS/rfcs#109

By putting all IFD into a separate derivation, e.g. Hydra could build this before building everything else, thus ensuring correct functioning. It would also fix the issue with parallelism.
This seems like a big undertaking to me however?

However, it seems to me like the problem also lies with Nix. There doesn't seem to be a good reason for the sequential behavior of IFD, see NixOS/nix#6299.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions