Performance History
No performance history available yetOnce you have some commits, you will be able to see the performance history of your primary branch. Latest Results
feat: add ExpiringCache, ExpiringLruCache, and expires = true macro attribute
Adds a new size-unbounded `ExpiringCache<K,V>` store (and `ExpiringCacheBuilder`)
alongside the existing `ExpiringLruCache<K,V>`, both using the `Expires` trait
for per-value expiration rather than a global TTL duration.
Extends `#[cached]` with `expires = true`: automatically selects `ExpiringCache`
(unbounded) or `ExpiringLruCache` (when `size` is also set). Compatible with
`result`, `option`, `result_fallback`, `sync_writes`, `key`/`convert`, and `size`.
Mutually exclusive with `ttl`, `ty`, `create`, `with_cached_flag`, `unsync_reads`,
`refresh`, and `unbound`.
Also adds `expires = true` to `#[once]` for single-value caches using the same
per-value expiry mechanism.
Other additions:
- Compile-fail trybuild tests for all mutual exclusions
- Smoke tests in `expires_macro_tests` (proc_macro only, no time_stores dependency)
- Integration tests in `time_store_tests` for result/option/result_fallback paths
- Debug + Clone impls for `ExpiringCache`
- Standardized micro-benchmarks across all 7 core in-memory stores
- `examples/expires_per_key.rs` demonstrating all four expiry patterns
- Documentation and quickstart in lib.rs / README.md
- CHANGELOG entry under [Unreleased] feat: add ExpiringCache, ExpiringLruCache, and expires = true macro attribute
Adds a new size-unbounded `ExpiringCache<K,V>` store (and `ExpiringCacheBuilder`)
alongside the existing `ExpiringLruCache<K,V>`, both using the `Expires` trait
for per-value expiration rather than a global TTL duration.
Extends `#[cached]` with `expires = true`: automatically selects `ExpiringCache`
(unbounded) or `ExpiringLruCache` (when `size` is also set). Compatible with
`result`, `option`, `result_fallback`, `sync_writes`, `key`/`convert`, and `size`.
Mutually exclusive with `ttl`, `ty`, `create`, `with_cached_flag`, `unsync_reads`,
`refresh`, and `unbound`.
Also adds `expires = true` to `#[once]` for single-value caches using the same
per-value expiry mechanism.
Other additions:
- Compile-fail trybuild tests for all mutual exclusions
- Smoke tests in `expires_macro_tests` (proc_macro only, no time_stores dependency)
- Integration tests in `time_store_tests` for result/option/result_fallback paths
- Debug + Clone impls for `ExpiringCache`
- Standardized micro-benchmarks across all 7 core in-memory stores
- `examples/expires_per_key.rs` demonstrating all four expiry patterns
- Documentation and quickstart in lib.rs / README.md
- CHANGELOG entry under [Unreleased] Latest Branches
+1%
N/A
codspeed-wizard-1779471234220 © 2026 CodSpeed Technology