Commit graph

2171 commits

Author SHA1 Message Date
github-actions[bot]
e72b228b4c
chore: release v0.25.2 (#1040)
Some checks failed
Release-plz / Release-plz release (push) Has been cancelled
Release-plz / Release-plz PR (push) Has been cancelled
Test / Test (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Shuttle (push) Has been cancelled
Book / Book (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-17 09:33:28 +01:00
Chayim Refael Friedman
07310800eb
Revert #958 (#1039)
This PR can create deadlocks - there is nothing synchronizing the mutex/condvar with the `Arc` of the `Zalsa`, therefore code may wake up by the `Condvar` but not see an updated refcount, go to sleep again, and never wake up.
2025-12-17 08:16:07 +00:00
github-actions[bot]
0a3eec6e65
chore: release v0.25.1 (#1038)
Some checks are pending
Book / Book (push) Waiting to run
Book / Deploy (push) Blocked by required conditions
Release-plz / Release-plz release (push) Waiting to run
Release-plz / Release-plz PR (push) Waiting to run
Test / Test (push) Waiting to run
Test / Miri (push) Waiting to run
Test / Shuttle (push) Waiting to run
Test / Benchmarks (push) Waiting to run
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-16 14:34:24 +01:00
Chayim Refael Friedman
65aee805e8
Fix a remainder that was forgotten in #1036 (#1037) 2025-12-16 13:20:51 +00:00
github-actions[bot]
3dc8e72491
chore: release v0.25.0 (#1002)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-16 13:13:27 +01:00
Chayim Refael Friedman
804e05703f
Require interned structs' fields to be Update (#1036)
To fix an unsoundness - #985.

There are two breaking changes here:

 1. Interned fields and interned function fields are required to be `Update` (or `'static`)
 2. `unsafe(non_update_return_types)` in tracked fn options was renamed to `unsafe(non_update_types)` (and includes interned parameters as well now).
2025-12-16 08:33:54 +00:00
Jack O'Connor
55e5e7d32f
Make ordermap an optional feature (#1034)
Some checks failed
Test / Shuttle (push) Has been cancelled
Book / Book (push) Has been cancelled
Release-plz / Release-plz release (push) Has been cancelled
Release-plz / Release-plz PR (push) Has been cancelled
Test / Test (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Test / Miri (push) Has been cancelled
Book / Deploy (push) Has been cancelled
2025-12-04 17:52:00 +00:00
Jack O'Connor
60d029a4d9
implement Update for OrderMap and OrderSet (#1033)
Some checks are pending
Book / Book (push) Waiting to run
Book / Deploy (push) Blocked by required conditions
Release-plz / Release-plz release (push) Waiting to run
Release-plz / Release-plz PR (push) Waiting to run
Test / Test (push) Waiting to run
Test / Miri (push) Waiting to run
Test / Shuttle (push) Waiting to run
Test / Benchmarks (push) Waiting to run
2025-12-04 07:14:18 +00:00
Andrew Lilley Brinker
59aa1075e8
Fully qualify std Result type (#1025)
Some checks failed
Book / Book (push) Has been cancelled
Release-plz / Release-plz release (push) Has been cancelled
Release-plz / Release-plz PR (push) Has been cancelled
Test / Test (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Shuttle (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
* Fully qualify std Result type

The prior macro expansion could produce errors if the macros were
called in a context where `Result` is redefined, for example in a
crate with its own `Result` type which pre-fills the error type. This
replaces existing `Result` uses with `std::result::Result` to avoid
the compilation error in that case.

Signed-off-by: Andrew Lilley Brinker <alilleybrinker@gmail.com>

* Use qualified names

---------

Signed-off-by: Andrew Lilley Brinker <alilleybrinker@gmail.com>
Co-authored-by: Micha Reiser <micha@reiser.io>
2025-11-26 07:38:31 +00:00
Shunsuke Shibayama
17bc55d699
pass Cycle to the cycle recovery function (#1028)
Some checks failed
Test / Test (push) Has been cancelled
Release-plz / Release-plz release (push) Has been cancelled
Release-plz / Release-plz PR (push) Has been cancelled
Book / Book (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Shuttle (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
* pass `CycleHeads` to the cycle recovery function

* remove the second parameter `Id` of `cycle_fn`

* Update cycle.rs

* Revert "Update cycle.rs"

This reverts commit cc35b82a99.

* partially revert changes in #1021

There was actually no need to run `recover_from_cycle` if the query is converged

* Expose `Cycle` instead of `CycleHeads`

* add `Cycle::map`

* Separate `previous_value` from `Cycle`

This is more ergonomic when sharing `Cycle`

* `Cycle` should be passed by ref

* add `Cycle::id`

* Update execute.rs

* Update memo.rs

* defer `head_ids` creation

* Revert "defer `head_ids` creation"

This reverts commit 23b4ba79e7.

* make all `Cycle` fields private and provide public accessor methods
2025-11-21 07:39:30 +00:00
Micha Reiser
a885bb4c4c
Fix cycle head durability (#1024)
Some checks failed
Release-plz / Release-plz release (push) Has been cancelled
Release-plz / Release-plz PR (push) Has been cancelled
Test / Test (push) Has been cancelled
Book / Book (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Shuttle (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
2025-11-13 09:17:44 +00:00
Micha Reiser
05a9af7f55
Call cycle_fn for every iteration (#1021)
Some checks failed
Book / Book (push) Has been cancelled
Release-plz / Release-plz release (push) Has been cancelled
Release-plz / Release-plz PR (push) Has been cancelled
Test / Test (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Shuttle (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
* Call `cycle_fn` for every iteration

* Update documentation

* Clippy

* Remove `CycleRecoveryAction`
2025-11-05 12:37:23 +00:00
Micha Reiser
664750a6e5
Track cycle function dependencies as part of the cyclic query (#1018)
Some checks failed
Test / Test (push) Has been cancelled
Book / Book (push) Has been cancelled
Release-plz / Release-plz release (push) Has been cancelled
Release-plz / Release-plz PR (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Test / Shuttle (push) Has been cancelled
Book / Deploy (push) Has been cancelled
* Track cycle function dependenciees as part of the cyclic query

* Add regression test

* Discard changes to src/function/backdate.rs

* Update comment

* Fix merge error

* Refine comment
2025-11-03 20:44:22 +00:00
Micha Reiser
c762869fd5
Always increment iteration count (#1017)
Some checks failed
Book / Book (push) Has been cancelled
Release-plz / Release-plz release (push) Has been cancelled
Release-plz / Release-plz PR (push) Has been cancelled
Test / Test (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Shuttle (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
2025-11-01 00:36:55 +00:00
Micha Reiser
46aa2cfadc
Update compile fail snapshots to match new rust stable output (#1020)
* Update expected test output to match new rust stable output

* Remove 1.90 constraint from compile_fail tests

* Discard changes to tests/persistence.rs

* Update snapshot on unix

* Update with the correct rust version

* Discard changes to tests/compile_fail.rs
2025-10-31 21:55:41 +00:00
Micha Reiser
671c3dcba6
Only use provisional values from the same revision (#1019)
Some checks failed
Test / Test (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Shuttle (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Book (push) Has been cancelled
Release-plz / Release-plz release (push) Has been cancelled
Release-plz / Release-plz PR (push) Has been cancelled
Book / Deploy (push) Has been cancelled
2025-10-29 19:29:46 +00:00
Shunsuke Shibayama
76e65b1890
doc: Explain the motivation for breaking API changes made in #1012 and #1015 (#1016)
Some checks are pending
Book / Book (push) Waiting to run
Test / Miri (push) Waiting to run
Test / Shuttle (push) Waiting to run
Book / Deploy (push) Blocked by required conditions
Release-plz / Release-plz release (push) Waiting to run
Release-plz / Release-plz PR (push) Waiting to run
Test / Benchmarks (push) Waiting to run
Test / Test (push) Waiting to run
* doc: Explain the motivation for breaking API changes made in #1012 and #1015

* Update book/src/cycles.md

---------

Co-authored-by: Micha Reiser <micha@reiser.io>
2025-10-29 13:33:51 +00:00
Shunsuke Shibayama
cdd0b85516
Expose the Input query Id with cycle_initial (#1015)
Some checks failed
Release-plz / Release-plz PR (push) Has been cancelled
Release-plz / Release-plz release (push) Has been cancelled
Book / Book (push) Has been cancelled
Test / Test (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Shuttle (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
2025-10-27 12:27:09 +00:00
Lukas Wirth
e8ddb4dbf7
pref: Add SyncTable::peek_claim fast path for function::Ingredient::wait_for (#1011)
Some checks failed
Release-plz / Release-plz release (push) Has been cancelled
Book / Book (push) Has been cancelled
Release-plz / Release-plz PR (push) Has been cancelled
Test / Test (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Shuttle (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
2025-10-26 14:44:49 +00:00
Micha Reiser
25b3ef146c
Fix cache invalidation when cycle head becomes non-head (#1014)
Some checks failed
Test / Test (push) Has been cancelled
Book / Book (push) Has been cancelled
Release-plz / Release-plz release (push) Has been cancelled
Release-plz / Release-plz PR (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Shuttle (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
* Fix cache invalidation when cycle head becomes non-head

* Discard changes to src/function/fetch.rs

* Inline comment
2025-10-24 15:58:45 +00:00
Micha Reiser
d38145c295
Expose the query ID and the last provisional value to the cycle recovery function (#1012)
Some checks failed
Test / Shuttle (push) Has been cancelled
Release-plz / Release-plz release (push) Has been cancelled
Test / Test (push) Has been cancelled
Test / Miri (push) Has been cancelled
Book / Book (push) Has been cancelled
Release-plz / Release-plz PR (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
* Expose the query ID and the last provisional value to the cycle recovery function

* Mark cycle as converged if fallback value is the same as the last provisional

* Make `cycle_fn` optional
2025-10-23 06:36:56 +00:00
Micha Reiser
16d51d63d5
Fix hangs in multithreaded fixpoint iteration (#1010)
* Fix race condition between releasing a transferred query's lock and the
same query blocking on the outer head in `provisional_retry`

* Fix infinite loop in `provisional_retry
2025-10-23 06:15:01 +00:00
Micha Reiser
ffa811dca2
Remove experimental parallel feature (#1013)
Some checks are pending
Book / Deploy (push) Blocked by required conditions
Release-plz / Release-plz release (push) Waiting to run
Book / Book (push) Waiting to run
Release-plz / Release-plz PR (push) Waiting to run
Test / Test (push) Waiting to run
Test / Miri (push) Waiting to run
Test / Shuttle (push) Waiting to run
Test / Benchmarks (push) Waiting to run
2025-10-22 11:41:56 +00:00
Lukas Wirth
a4113cd472
Simplify WaitGroup implementation (#958)
Some checks failed
Book / Book (push) Has been cancelled
Release-plz / Release-plz release (push) Has been cancelled
Release-plz / Release-plz PR (push) Has been cancelled
Test / Test (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Shuttle (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
* Simplify `WaitGroup` implementation

* Slightly cheaper `get_mut`

Co-authored-by: Ibraheem Ahmed <ibraheem@ibraheem.ca>

---------

Co-authored-by: Ibraheem Ahmed <ibraheem@ibraheem.ca>
2025-10-20 11:32:46 +00:00
Ben Beasley
9cfe41c343
Fix missing license files in published macros/macro-rules crates (#1009)
Some checks are pending
Book / Book (push) Waiting to run
Book / Deploy (push) Blocked by required conditions
Release-plz / Release-plz release (push) Waiting to run
Test / Miri (push) Waiting to run
Release-plz / Release-plz PR (push) Waiting to run
Test / Test (push) Waiting to run
Test / Shuttle (push) Waiting to run
Test / Benchmarks (push) Waiting to run
2025-10-19 10:17:05 +00:00
Micha Reiser
ef9f9329be
Run fixpoint per strongly connected component (#999)
Some checks failed
Book / Book (push) Has been cancelled
Release-plz / Release-plz release (push) Has been cancelled
Release-plz / Release-plz PR (push) Has been cancelled
Test / Test (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Shuttle (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
* Run nested cycles in a single fixpoint iteration

Fix serde attribute

* Remove inline from `validate_same_iteration`

* Nits

* Move locking into sync table

* More trying

* More in progress work

* More progress

* Fix most parallel tests

* More bugfixes

* Short circuit in some cases

* Short circuit in drop

* Delete some unused code

* A working solution

* Simplify more

* Avoid repeated query lookups in `transfer_lock`

* Use recursion for unblocking

* Fix hang in `maybe_changed_after`

* Move claiming of transferred memos into a separate function

* More aggressive use of attributes

* Make re-entrant a const parameter

* Smaller clean-ups

* Only collect cycle heads one level deep

* More cleanups

* More docs

* More comments

* More documentation, cleanups

* More documentation, cleanups

* Remove inline attribute

* Fix failing tracked structs test

* Fix panic

* Fix persistence test

* Add test for panic in nested cycle

* Allow cycle initial values same-stack

* Try inlining fetch

* Remove some inline attributes

* Add safety comment

* Clippy

* Panic if `provisional_retry` runs too many times

* Better handling of panics in cycles

* Don't use const-generic for `REENTRANT`

* More nit improvements

* Remove `IterationCount::panicked`

* Prefer outer most cycles in `outer_cycle`

* Code review feedback

* Iterate only once in panic test when running with miri
2025-10-16 09:23:03 +00:00
Micha Reiser
8b0831f2a3
Add benchmark for a fixpoint iteration with nested cycles (#1001)
Some checks failed
Test / Test (push) Has been cancelled
Book / Book (push) Has been cancelled
Release-plz / Release-plz release (push) Has been cancelled
Release-plz / Release-plz PR (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Shuttle (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
* Add benchmark for a fixpoint iteration with nested cycles

* Fix clippy warning
2025-10-09 15:43:52 +00:00
github-actions[bot]
adf0556ed7
chore: release v0.24.0 (#929)
Some checks failed
Release-plz / Release-plz PR (push) Has been cancelled
Test / Test (push) Has been cancelled
Book / Book (push) Has been cancelled
Release-plz / Release-plz release (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Shuttle (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-05 08:11:53 +02:00
Micha Reiser
9c3278f8f0
Replace unsafe unwrap with expect call (#998)
Some checks failed
Book / Book (push) Has been cancelled
Release-plz / Release-plz release (push) Has been cancelled
Release-plz / Release-plz PR (push) Has been cancelled
Test / Test (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Shuttle (push) Has been cancelled
Book / Deploy (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
2025-09-30 12:36:56 +00:00
Micha Reiser
4a26bf9e49
refactor: Push active query in execute (#996)
* refactor: Push active query in execute

* Remove inline from `execute_maybe_iterate`

* Pass Zalsa and ZalsaLocal

* Remove inline from `push_query`

* Remove `id` from `execute_query`

* Discard changes to src/zalsa_local.rs
2025-09-30 12:22:03 +00:00
Micha Reiser
5c826b59da
Update codspeed action (#997) 2025-09-30 11:48:35 +00:00
Astavie
5330dd99b9
Add implementations for Lookup and HashEqLike for CompactString (#988)
Some checks failed
Book / Book (push) Has been cancelled
Release-plz / Release-plz release (push) Has been cancelled
Release-plz / Release-plz PR (push) Has been cancelled
Test / Test (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Shuttle (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
2025-09-26 09:29:39 +00:00
Micha Reiser
29ab321b45
fix: Cleanup provisional cycle head memos when query panics (#993)
Some checks failed
Test / Test (push) Has been cancelled
Book / Book (push) Has been cancelled
Release-plz / Release-plz release (push) Has been cancelled
Release-plz / Release-plz PR (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Shuttle (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
* fix: Cleanup provisional cycle head memos on panic

* Update test outputs
2025-09-24 17:49:24 +00:00
Chayim Refael Friedman
e257df12ea
Provide a method to attach a database even if it's different from the current attached one (#992)
Some checks failed
Test / Test (push) Has been cancelled
Book / Book (push) Has been cancelled
Test / Shuttle (push) Has been cancelled
Release-plz / Release-plz release (push) Has been cancelled
Release-plz / Release-plz PR (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
* Provide a method to attach a database even if it's different from the current attached one

rust-analyzer needs this.

* Fix Clippy on beta

* Update compile fail test outputs

---------

Co-authored-by: Lukas Wirth <lukas@zed.dev>
2025-09-18 08:57:22 +00:00
Carl Meyer
3713cd7eb3
Allow fallback to take longer than one iteration to converge (#991)
Some checks failed
Release-plz / Release-plz PR (push) Has been cancelled
Release-plz / Release-plz release (push) Has been cancelled
Test / Test (push) Has been cancelled
Book / Book (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Shuttle (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
2025-09-10 19:18:30 +00:00
Ibraheem Ahmed
a0e7a0660c
refactor entries API (#987)
Some checks failed
Release-plz / Release-plz release (push) Has been cancelled
Release-plz / Release-plz PR (push) Has been cancelled
Test / Test (push) Has been cancelled
Test / Miri (push) Has been cancelled
Book / Book (push) Has been cancelled
Test / Shuttle (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
2025-08-22 21:54:46 +00:00
Micha Reiser
a3ffa22cb2
fix: Runaway for unchanged queries participating in cycle (#981)
Some checks failed
Test / Test (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Shuttle (push) Has been cancelled
Book / Book (push) Has been cancelled
Release-plz / Release-plz PR (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Release-plz / Release-plz release (push) Has been cancelled
Book / Deploy (push) Has been cancelled
* fix: Runaway for unchanged queries participating in cycle

* Another regression test

* Fix runaway situation

* Discard changes to src/function/fetch.rs

* Undo tracing changes

* Move accumulated write outside of non-cycle branch

* Short circuit if cycle head is executing

* Inline

* Update expected test output

* Fix double execution

* Simplify check in `validate_same_iteration`

* Some more inline

* Pass references
2025-08-20 07:15:36 +00:00
Ibraheem Ahmed
fb4cb24cea
Persistent caching fixes (#982)
Some checks are pending
Book / Book (push) Waiting to run
Book / Deploy (push) Blocked by required conditions
Release-plz / Release-plz release (push) Waiting to run
Release-plz / Release-plz PR (push) Waiting to run
Test / Test (push) Waiting to run
Test / Miri (push) Waiting to run
Test / Shuttle (push) Waiting to run
Test / Benchmarks (push) Waiting to run
* reduce `serde` overhead

* avoid adding dependencies on interned values where garbage collection is disabled

* add compatibility with non-self-describing `serde` formats

* reuse edge traversal allocation

* correctly deserialize singleton inputs
2025-08-19 20:48:30 +00:00
Ibraheem Ahmed
b92180bdcf
outline cold path of lookup_ingredient (#984) 2025-08-19 20:40:38 +00:00
Micha Reiser
0656eca815
fix: Delete not re-created tracked structs after fixpoint iteration (#979)
Some checks are pending
Book / Book (push) Waiting to run
Book / Deploy (push) Blocked by required conditions
Release-plz / Release-plz release (push) Waiting to run
Release-plz / Release-plz PR (push) Waiting to run
Test / Test (push) Waiting to run
Test / Miri (push) Waiting to run
Test / Shuttle (push) Waiting to run
Test / Benchmarks (push) Waiting to run
* Fix tracked structs diffing in cycles

* Proper fix

* Clippy

* Add regression test

* Discard changes to src/function/maybe_changed_after.rs

* Improve comemnt

* Suppress clippy error in position where I don't control the types
2025-08-19 11:59:11 +00:00
Micha Reiser
411f8448e8
Update snapshot to fix nightly type rendering (#983) 2025-08-19 11:39:23 +00:00
Ibraheem Ahmed
52a40577a7
avoid cycles during serialization (#977)
Some checks failed
Release-plz / Release-plz release (push) Has been cancelled
Release-plz / Release-plz PR (push) Has been cancelled
Book / Book (push) Has been cancelled
Test / Test (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Shuttle (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
2025-08-14 15:19:23 +00:00
Ibraheem Ahmed
c380f1924b
fix assertion during interned deserialization (#978)
Some checks are pending
Book / Book (push) Waiting to run
Book / Deploy (push) Blocked by required conditions
Release-plz / Release-plz release (push) Waiting to run
Release-plz / Release-plz PR (push) Waiting to run
Test / Test (push) Waiting to run
Test / Miri (push) Waiting to run
Test / Shuttle (push) Waiting to run
Test / Benchmarks (push) Waiting to run
2025-08-14 01:47:27 +00:00
Ibraheem Ahmed
34882a129b
Flatten unserializable query dependencies (#975)
Some checks are pending
Test / Miri (push) Waiting to run
Test / Shuttle (push) Waiting to run
Test / Benchmarks (push) Waiting to run
Book / Book (push) Waiting to run
Book / Deploy (push) Blocked by required conditions
Release-plz / Release-plz release (push) Waiting to run
Release-plz / Release-plz PR (push) Waiting to run
Test / Test (push) Waiting to run
* flatten unserializable query dependencies

* avoid allocating intermediary serialized dependency edges
2025-08-13 20:49:01 +00:00
Ibraheem Ahmed
5aab823a76
optimize Id::hash (#974) 2025-08-13 17:04:05 +00:00
Micha Reiser
918d35d873
Make thin-vec/serde dependency dependent on persistence feature (#973)
Some checks failed
Book / Book (push) Has been cancelled
Release-plz / Release-plz release (push) Has been cancelled
Release-plz / Release-plz PR (push) Has been cancelled
Test / Test (push) Has been cancelled
Test / Miri (push) Has been cancelled
Test / Shuttle (push) Has been cancelled
Test / Benchmarks (push) Has been cancelled
Book / Deploy (push) Has been cancelled
2025-08-12 10:09:41 +00:00
Micha Reiser
e5bd9eb673
refactor: Remove tracked structs from query outputs (#969)
* refactor: Remove tracked structs from outputs

* clean up

* fix `IdentityMap::is_active`

* Update persistence snapshot

* Perf?

* Other nit

* Remove Deref

* Split `diff_stale_outputs`

* More short circuits

* Remove shrink to fit?

* Undo shrink-to-fit removal

* Pass CompletedQuery to diff_outputs

---------

Co-authored-by: Ibraheem Ahmed <ibraheem@ibraheem.ca>
2025-08-12 09:48:58 +00:00
Micha Reiser
a2cd1b8a72
Remove jemalloc (#972) 2025-08-12 09:30:59 +00:00
Lukas Wirth
be1b76b78b
fix: Do not unnecessarily require Debug on fields for interned structs (#951) 2025-08-12 07:12:48 +00:00
Ibraheem Ahmed
1ffb32f54c
Initial persistent caching prototype (#967)
Some checks are pending
Book / Book (push) Waiting to run
Book / Deploy (push) Blocked by required conditions
Release-plz / Release-plz PR (push) Waiting to run
Release-plz / Release-plz release (push) Waiting to run
Test / Test (push) Waiting to run
Test / Miri (push) Waiting to run
Test / Shuttle (push) Waiting to run
Test / Benchmarks (push) Waiting to run
* persistent caching prototype

* move serialization arguments under `persist` attribute

* move `serde` dependency under `persistence` feature

* avoid serializing provisional memos

* use exhaustive checking for manual `Serialize` implementations

* update tests

* remove distinction between ingredient `entries` and `instances`

* avoid enabling `shuttle` feature in CI

* serialize ingredients by index
2025-08-11 19:02:49 +00:00