Skip to content

treewide: implement incremental evaluation* - #24

Merged
NotAShelf merged 9 commits into
mainfrom
notashelf/push-wlpwxuxntkrn
Oct 2, 2026
Merged

NotAShelf merged 9 commits into
mainfrom
notashelf/push-wlpwxuxntkrn

Conversation

@NotAShelf

Copy link
Copy Markdown
Member

Introduces an experimental "replay" feature for the evix CLI, allowing users to quickly replay the results of a previously completed daemon-backed evaluation without re-running Nix. The replay system is opt-in, does not check for changes in source files or environment variables, and is invalidated by certain actions like diff or watch. I've updated benchmarking scripts and documentation to measure and compare the performance of the replay feature alongside other evaluation modes. To nobody's surprise, replay is shown to be significantly faster in repeated runs.

*: not really incremental evaluation :)

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I8e42eec9749fa8b200bc49545a2987ff6a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ic801c5ec00560d18d48d2ace038b30c26a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I2d54424f11d6ecf0302cb4f77f9ffef06a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Idc64451478d1e163ac4308ffbb599a206a6a6964
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I3ea3252c6f8c205ec1e8a41bfa9349196a6a6964
@NotAShelf
NotAShelf requested a review from amaanq October 2, 2026 18:32
amaanq added 4 commits October 2, 2026 18:12
Recording in Session kept a second copy of every event for every
session, including local evals and embedders. Serializing lazily on
the first replay also let a concurrent diff land before the cache
write, so later replays served pre-diff output.
@NotAShelf
NotAShelf merged commit 36b1dcb into main Oct 2, 2026
3 checks passed
@NotAShelf
NotAShelf deleted the notashelf/push-wlpwxuxntkrn branch October 2, 2026 22:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants