Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lazy, async instantiation and fetching (tracking) #11161

Open
9 tasks
roberth opened this issue Jul 23, 2024 · 1 comment
Open
9 tasks

Lazy, async instantiation and fetching (tracking) #11161

roberth opened this issue Jul 23, 2024 · 1 comment
Labels
feature Feature request or proposal fetching Networking with the outside (non-Nix) world, input locking language The Nix expression language; parser, interpreter, primops, evaluation, etc performance store Issues and pull requests concerning the Nix store

Comments

@roberth
Copy link
Member

roberth commented Jul 23, 2024

A description of the solution space from an instantiation angle, having commonalities with eval-time fetching.

Is your feature request related to a problem? Please describe.

  • Instantiation should be quick.
  • Instantiation process forms a DAG, which allows some parallel processing.
  • Instantiation isn't I/O but O; fundamentally only output, so most processing can happen asynchronously after being initiated from the evaluator; only IFD and the evaluator's callers may need to await.
  • Fetching of sources has significant latent parallelism.

Ideally the I/O is non-blocking, so as not to need unnecessary thread blocking / switching / syncing, but I don't think this should be the focus yet. My use of "asynchronous" here mostly describes the computational nature of the domain; not necessarily its I/O control flow implementation.

Describe the solution you'd like

Describe alternatives you've considered

Additional context

Priorities

Add 👍 to issues you find important.

@roberth roberth added feature Feature request or proposal language The Nix expression language; parser, interpreter, primops, evaluation, etc performance store Issues and pull requests concerning the Nix store fetching Networking with the outside (non-Nix) world, input locking labels Jul 23, 2024
@nixos-discourse
Copy link

This issue has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/2024-08-07-nix-team-meeting-minutes-167/50287/1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Feature request or proposal fetching Networking with the outside (non-Nix) world, input locking language The Nix expression language; parser, interpreter, primops, evaluation, etc performance store Issues and pull requests concerning the Nix store
Projects
None yet
Development

No branches or pull requests

2 participants