Commit Graph

16 Commits

Author SHA1 Message Date
Jeff Washington (jwash) e6ca734ac4
disk index: include T on a few structs (#30983) 2023-03-30 07:44:50 -07:00
Jeff Washington (jwash) 4b7cfa23c1
disk index: introduce IndexEntryPlaceInBucket (#30944)
* refactor: move data_bucket_from_num_slots

* disk index: introduce IndexEntryPlaceInBucket

* remove <T> from IndexEntryPlaceInBucket

* fix and comment index_bucket_for_testing
2023-03-29 13:41:10 -07:00
Jeff Washington (jwash) 6285aaee89
store data and index occupy in bitvec (#30899) 2023-03-28 12:17:28 -07:00
Jeff Washington (jwash) 89bc86f11a
use trait for disk bucket header (#30875)
* use trait for disk bucket header

* pr feedback

* remove debug and default

* as_mut_ptr

* add comments

* verify slice is large enough
2023-03-27 11:07:02 -07:00
Jeff Washington (jwash) 4285cb2b84
remove uid concept from disk buckets (#30836)
* remove uid concept from disk buckets

* remove uid parameter from try_lock
2023-03-22 06:30:44 -07:00
Jeff Washington (jwash) d66d1f7a46
disk index handles empty slot list more correctly (#30752) 2023-03-16 12:34:45 -07:00
Michael Vines b05c7d91ed Fix derive_partial_eq_without_eq clippy lint 2022-05-22 22:22:21 -07:00
HaoranYi e7e7e87c93
Fast log2 ceiling (#24301)
* typo

* a fast way to compute log2 ceiling

* rename and assert

* clippy

* fix test return 0 for empty slice

* add test for empty slice
2022-04-14 22:22:08 -05:00
Brooks Prumo eaae2f3538
Use modular_bitfield to bitpack IndexEntry (#22447) 2022-01-12 14:37:34 -06:00
Jeff Washington (jwash) b11d3b5abf
Shrink disk buckets index record (#21973)
* Shrink index record

* Update bucket_map/src/index_entry.rs

Co-authored-by: Brooks Prumo <brooks@prumo.org>

Co-authored-by: Brooks Prumo <brooks@prumo.org>
2022-01-07 12:12:36 -06:00
Jeff Washington (jwash) 5f611723a5
disk buckets: helpers and test (#22339) 2022-01-06 15:45:47 -06:00
Jeff Washington (jwash) b36f7151fc
Disk buckets: abstract UID_UNLOCKED (#22051) 2021-12-21 14:51:38 -06:00
Jeff Washington (jwash) 70f96bda25
disk buckets: refactor (#21972) 2021-12-17 10:16:34 -06:00
Michael Vines b8837c04ec Reformat imports to a consistent style for imports
rustfmt.toml configuration:
  imports_granularity = "One"
  group_imports = "One"
2021-12-03 09:19:13 -08:00
Brooks Prumo 52de97e280
Add type alias for Uid (#20075) 2021-09-21 20:09:04 +00:00
Jeff Washington (jwash) b2152be3b2
introduce bucket map (#19848)
* introduce bucket map

* rename BucketMap bits to num_buckets_pow2

* use u64::BITS

* Store the number of buckets in BucketMapConfig as a regular number

* remove redundant type aliases

* use Slot from sdk

* use Arc::clone() instead

* fixup erase drives

* rename num_buckets to max_buckets

* add doc to BucketMapConfig::new()

* add more documentation

* rename to DEFAULT_CAPACITY_POW2

* doc

* add more traits while we can

* rename capacity to capacity_pow2

* fix a naming for max_buckets_pow2

* remove unused/incorrect DataBucket::bytes

* rework benches a bit

* fixup bench docs

* rename create_bucket_capacity_pow2 to bucket_capacity_when_created_pow2

* rename BucketMapKeyValue to BucketItem

* rename to items_in_range

* remove values()

* remove addref and unref

* remove more addref and unref

* resurect addref and unref since tests use 'em for now

* rename to BucketStorage

* move stats in bucket_stats

* remove specializations (i don't think they are needed)

* move MaxSearch and RefCount into lib.rs

* move BucketItem to bucket_item.rs

* add doc

* keys no longer returns an option

* Revert "remove specializations (i don't think they are needed)"

This reverts commit b22f78e072cf0f7107851b08e58c2e3fead3f64d.

Co-authored-by: Brooks Prumo <brooks@solana.com>
2021-09-17 15:11:27 -05:00