Commit graph

7 commits

Author SHA1 Message Date
Ibraheem Ahmed
dba66f1a37
Use inventory for static ingredient registration (#934)
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
* use `inventory` for static ingredient registration

* remove unnecessary synchronization from memo tables

* use global ingredient caches for database-independent ingredients

* add manual ingredient registration API

* remove static ingredient index optimization when manual registration is in use

* fix atomic imports

* simplify ingredient caches
2025-07-18 04:55:50 +00:00
Ibraheem Ahmed
b8cdd300a0
add an option to tune interned garbage collection (#911)
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
2025-06-13 06:17:45 +00:00
Ibraheem Ahmed
dc9066d667
use latest revision for dependencies on interned values (#908)
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-06-11 06:03:30 +00:00
Ibraheem Ahmed
4161bd727f
remove high-durability values from interned LRU (#907) 2025-06-11 05:28:08 +00:00
Ibraheem Ahmed
15c28cdf88
Simple LRU garbage collection for interned values (#839)
* simple LRU garbage collection for interned values

* shard interned values

* gate memo size assertion to 64-bit platforms

* extend internal documentation for interned structs

* remove `first_interned_at` field from interned values

* clarify difference between tracked and interned structs

* only keep track of low durability interned values for garbage collection
2025-06-04 08:09:04 +00:00
Micha Reiser
f7eea9d69b
Use DatabaseKey for interned events (#813)
* Use `DatabaseKey` for interned events

* Tame clippy
2025-04-24 10:38:46 +00:00
Ibraheem Ahmed
a86db59e99
Enable Garbage Collection for Interned Values (#602)
* remove table-wide dependencies

* add plumbing to reuse interned slots

* record durabilities on interned values

* appease clippy

* remove immortal interned value logic

* pass correct revision when tracking interned reads

* force new revision when resetting interned values

* avoid unnecessary calls to `Database::zalsa`

* add log events for value internment

* Only log event kind because thread id can differ between runs/computers

* cargo fmt

---------

Co-authored-by: Micha Reiser <micha@reiser.io>
2025-03-17 09:23:14 +00:00