
hectorandheihutu
e4cf0189fb
perf(ecstore): add bucket existence cache and allocator feature flags
## Bucket existence cache
- Add BucketExistenceCache in crates/ecstore/src/disk/fs.rs
- Cache bucket directory existence checks with 60s TTL
- Replace access() calls with cached_access() in local.rs
- Add invalidate_bucket_cache() for cache invalidation on create/delete
- Reduces statx syscalls by 89% (from 10,716/s to 1,186/s)
## Allocator feature flags
- Add mimalloc and jemalloc features to rustfs/Cargo.toml
- Default: system allocator (Rust built-in)
- --features mimalloc: mimalloc allocator
- --features jemalloc: jemalloc allocator
- Allows A/B testing different allocators
## Performance impact
- 1KiB PUT: 861 obj/s (unchanged, futex is main bottleneck)
- statx reduction: 89% (from 10,716/s to 1,186/s)
- Main bottleneck remains mimalloc internal synchronization
Ref: rustfs/backlog#2005
Ref: microsoft/mimalloc#1372
Co-Authored-By: heihutu <[email protected]>
2026-08-24 05:54:05 +00:00
..
2026-08-22 08:19:53 +08:00
2026-08-17 11:34:47 +08:00
2026-08-22 14:38:18 +00:00
2026-08-18 12:51:44 +08:00
2026-08-23 13:47:33 +08:00
2026-08-19 10:59:54 +08:00
2026-08-22 13:56:58 +00:00
2026-08-23 01:45:15 +08:00
2026-08-24 05:54:05 +00:00
2026-08-18 21:45:38 +08:00
2026-08-23 04:24:48 +08:00
2026-08-22 08:19:53 +08:00
2026-08-19 11:01:20 +08:00
2026-08-23 01:15:38 +08:00
2026-08-17 11:34:47 +08:00
2026-08-23 12:32:11 +08:00
2026-08-22 00:30:30 +00:00
2026-08-19 14:47:33 +08:00
2026-08-14 23:49:31 +08:00
2026-08-22 14:38:18 +00:00
2026-08-22 08:19:53 +08:00
2026-08-22 00:30:30 +00:00
2026-08-19 21:58:22 +08:00
2026-08-22 00:30:30 +00:00
2026-08-23 01:40:44 +08:00
2026-08-21 00:15:33 +08:00
2026-08-22 17:07:02 +08:00
2026-08-22 20:43:52 +08:00
2026-08-18 14:49:19 +08:00
2026-08-16 14:05:27 +00:00
2026-08-19 11:01:20 +08:00
2026-08-21 01:18:53 +00:00
2026-08-22 14:38:18 +00:00
2026-08-19 17:55:58 +00:00
2026-08-22 11:39:01 +00:00
2026-08-22 08:19:53 +08:00
2026-08-23 04:24:48 +08:00
2026-08-17 11:34:47 +08:00
2026-08-22 14:38:18 +00:00
2026-08-18 18:27:01 +08:00
2026-08-22 08:19:53 +08:00