Jeff Washington (jwash)
514816a31f
disk index: move key enum to bitvec ( #31026 )
2023-04-04 08:21:29 -07:00
Jeff Washington (jwash)
b0540ff5ad
disk index: add `Capacity` ( #31031 )
...
* disk index: add `Capacity`
* pr feedback
2023-04-04 06:57:09 -07:00
Jeff Washington (jwash)
bc343a431c
disk index: set_anticipated_count to optimally grow disk buckets at startup ( #31033 )
...
* disk index: set_anticipated_count to optimally grow disk buckets at startup
* remove atomic
2023-04-03 20:28:50 -07:00
Jeff Washington (jwash)
05f2a01a80
disk index: refactor OccupiedEnumTag ( #31028 )
2023-04-03 13:12:06 -07:00
Jeff Washington (jwash)
f289a0726b
disk index: refactoring get/get_mut fns ( #31025 )
2023-04-03 11:40:49 -07:00
Jeff Washington (jwash)
7edef94088
disk index: remove Option on read_value ( #31023 )
2023-04-03 11:36:58 -07:00
Jeff Washington (jwash)
ef6b6793dd
disk bucket: add trait fn copying_entry ( #31024 )
2023-04-03 11:35:15 -07:00
Jeff Washington (jwash)
9219a16c42
disk bucket: new_map takes bytes ( #31020 )
2023-04-03 06:57:06 -07:00
Jeff Washington (jwash)
8051aea88e
disk index: store single slot list in index entry ( #31002 )
2023-04-03 06:51:59 -07:00
Jeff Washington (jwash)
fc2bcdffe2
fix up refcounts on disk bucket test ( #31001 )
2023-03-31 12:37:21 -07:00
Jeff Washington (jwash)
a2797ebfa9
disk index: use bits in ref count to store occupied ( #31004 )
2023-03-31 10:50:55 -07:00
Jeff Washington (jwash)
db5cdbedae
disk index remove dead code ( #30999 )
2023-03-31 09:08:16 -07:00
Jeff Washington (jwash)
3f6c33d7e2
disk index: break ref_count u64 into reserved bits ( #30997 )
2023-03-31 06:51:00 -07:00
Jeff Washington (jwash)
32780353c7
disk index: move fn data_loc to MultipleSlots ( #30993 )
...
disk index: move fn `data_loc` to `MultipleSlots`
2023-03-30 16:23:57 -07:00
Brooks
399b7ba722
Removes unnecessary Sized bounds in bucket map ( #30990 )
2023-03-30 16:34:59 -04:00
Jeff Washington (jwash)
89f7d4ab9a
Move `data_bucket_ix()` method to `MultipleSlots` ( #30992 )
...
move data_bucket_ix to MultipleSlots
2023-03-30 13:20:10 -07:00
Jeff Washington (jwash)
b5afcbb72f
disk index: move num_slots() to MultipleSlots ( #30991 )
2023-03-30 12:39:15 -07:00
Jeff Washington (jwash)
2672637395
disk index: move fns to MultipleSlots ( #30989 )
2023-03-30 12:00:43 -07:00
Jeff Washington (jwash)
2cafd641fe
disk index: introduce MultipleSlots ( #30988 )
...
* disk index: introduce MultipleSlots
* pr feedback
2023-03-30 11:27:45 -07:00
Brooks
eb47e44c6b
disk bucket: refactor storage get/get_mut fns ( #30985 )
2023-03-30 12:38:35 -04:00
Jeff Washington (jwash)
5ae3288a0b
disk index IndexEntry gets <T> ( #30984 )
...
* disk index IndexEntry gets <T>
* remove unused phantom
2023-03-30 09:23:51 -07:00
Jeff Washington (jwash)
e6ca734ac4
disk index: include T on a few structs ( #30983 )
2023-03-30 07:44:50 -07:00
Jeff Washington (jwash)
38e054f4a6
disk bucket: get mut right on get_mut_cell_slice ( #30972 )
2023-03-30 05:19:29 -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)
97af6aad4a
remove unused bucket map direct add/unref calls ( #30942 )
2023-03-29 10:26:53 -07:00
Jeff Washington (jwash)
823d55ea9f
disk index find_entry -> find_index_entry ( #30941 )
2023-03-29 06:54:03 -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)
b54c2cc1e3
refactor disk index bucket::find_entry_mut ( #30877 )
2023-03-23 18:48:35 -07:00
Jeff Washington (jwash)
9f3381c771
disk bucket allocated bit can be not in header ( #30834 )
2023-03-22 15:11:35 -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)
d4a6e00ffc
rework find_entry_mut for missing case ( #30833 )
...
* rework find_entry_mut for missing case
* clippy
2023-03-21 14:09:17 -07:00
Jeff Washington (jwash)
df2c95119c
add buckets stats for # files and total file size ( #30780 )
...
* add buckets stats for # files and total file size
* change metrics to bytes
* get index file size correct
2023-03-20 08:22:31 -07:00
Jeff Washington (jwash)
6dd5a22926
when writing to disk bucket index, tune towards packing tighter ( #30761 )
...
* when writing to disk bucket index, tune towards packing tighter
* switch to min
2023-03-17 12:34:56 -07:00
Jeff Washington (jwash)
d66d1f7a46
disk index handles empty slot list more correctly ( #30752 )
2023-03-16 12:34:45 -07:00
Jeff Washington (jwash)
2441a06e78
drop default from PhantomData::default() ( #30476 )
2023-02-23 14:59:08 -08:00
Jeff Washington (jwash)
1269011477
bucket map try_write takes iter ( #30440 )
2023-02-22 14:43:10 -08:00
HaoranYi
d3daea65b9
use atomicu64 for bucket maxsize instead of lock ( #29569 )
2023-01-10 09:15:27 -06:00
HaoranYi
aa3aa5cc9c
extract max_size stat update for disk buckets ( #29487 )
2023-01-07 09:25:04 -06:00
behzad nouri
5c9beef498
fixes errors from clippy::useless_conversion ( #29534 )
...
https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion
2023-01-05 18:05:32 +00:00
HaoranYi
95ecd38af5
typo ( #29485 )
2023-01-03 13:32:45 -06:00
HaoranYi
33b15240ac
Revert #28945 ( #29127 )
...
revert #28945
2022-12-06 17:08:56 -06:00
behzad nouri
9524c9dbff
patches errors from clippy::uninlined_format_args
...
https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
2022-12-06 19:32:15 +00:00
behzad nouri
401f66c830
patches errors from clippy::seek_to_start_instead_of_rewind
...
https://rust-lang.github.io/rust-clippy/master/index.html#seek_to_start_instead_of_rewind
2022-12-06 19:32:15 +00:00
Haoran Yi
bbd49acb2f
fix merge error
2022-12-06 13:31:50 -06:00
haoran
824473a3a5
comments
2022-12-06 13:31:50 -06:00
haoran
7a512d7f27
report number of open files
2022-12-06 13:31:50 -06:00
haoran
f716cad4af
don't use procfs as it is not supported on mac and windows.
...
make open_fd stats only on linux platform
2022-12-06 13:31:50 -06:00
haoran
6c613e3a39
wc-l-copy
2022-12-06 13:31:50 -06:00
haoran
2e078bb42c
alternative impl
2022-12-06 13:31:50 -06:00
haoran
fc97d818b6
share code
2022-12-06 13:31:50 -06:00
haoran
5aadaa4172
clippy
2022-12-06 13:31:50 -06:00
haoran
36dc3a457f
get mmap with wc-l
2022-12-06 13:31:50 -06:00
haoran
75fc87f330
review feedbacks
2022-12-06 13:31:50 -06:00
Haoran Yi
37306f1762
log mmap count
2022-12-06 13:31:50 -06:00
Haoran Yi
703511c3e8
log number of open files when panic
2022-12-06 13:31:50 -06:00
apfitzge
42cc76e33d
use a tempdir in test_bucket_storage ( #28819 )
2022-11-15 14:26:19 -06:00
Brooks Prumo
d1ba42180d
clippy for rust 1.65.0 ( #28765 )
2022-11-09 19:39:38 +00:00
behzad nouri
9a57c64f21
patches clippy errors from new rust nightly release ( #27996 )
2022-09-22 22:23:03 +00:00
Jeff Washington (jwash)
4d15e774ee
insert perf improvement on bucket map ( #26754 )
...
perf on bucket map
2022-07-29 13:58:05 -05:00
Jeff Washington (jwash)
6f5995c841
add stats for disk_index_find_entry_mut_us ( #26753 )
2022-07-25 14:47:17 -05:00
behzad nouri
ba785cf8ab
removes erroneous uses of std::mem::swap ( #26536 )
...
All instances should be replace by std::mem::{replace,take},
or just plain assignment.
2022-07-11 11:33:15 +00:00
HaoranYi
995756a550
Use RefCount type alias instead of u64 ( #26472 )
...
use RefCount type alias instead of u64
2022-07-08 13:51:16 -05: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)
2be139ca61
Disk Buckets: cleanup api (is_free) ( #22068 )
2021-12-22 15:12:34 -06:00
Jeff Washington (jwash)
5b464a32f5
Disk Buckets: unlock verifies expected ( #22052 )
2021-12-21 16:35:59 -06:00
Jeff Washington (jwash)
1c0cd2cbb4
DiskBuckets: remove unnecessary atomic on uid ( #22039 )
2021-12-21 15:50:39 -06:00
Jeff Washington (jwash)
b36f7151fc
Disk buckets: abstract UID_UNLOCKED ( #22051 )
2021-12-21 14:51:38 -06:00
Jeff Washington (jwash)
711856cad3
disk buckets: clone_from_slice -> copy_from_slice ( #22038 )
2021-12-21 13:52:03 -06:00
Jeff Washington (jwash)
84eaaae062
disk_buckets: factor out unsafe code ( #22028 )
2021-12-21 13:50:04 -06:00
Jeff Washington (jwash)
70f96bda25
disk buckets: refactor ( #21972 )
2021-12-17 10:16:34 -06:00
Jeff Washington (jwash)
6374995522
AcctIdx: share bucket map size for perf ( #21935 )
2021-12-16 21:25:54 -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
Jeff Washington (jwash)
f598ee696c
AcctIdx: disk bucket cleanup ( #21520 )
2021-12-01 12:17:32 -06:00
Jeff Washington (jwash)
ebea3297f9
AcctIdx: generate index inserts/updates directly to disk ( #21363 )
...
* when initially creating account index, write directly to disk
* AcctIdx: generate index inserts/updates directly to disk
2021-11-19 17:17:07 -06:00
Jeff Washington (jwash)
4f6a0b2650
AcctIdx: stats for buckets on disk, add median ( #20528 )
2021-10-08 13:58:38 -05:00
Brooks Prumo
839edd35a4
Correctly constrain BucketStorage Header's memory ordering ( #20507 )
2021-10-07 13:32:40 -05:00
Michael Vines
7027d56064
Resolve nightly-2021-10-05 clippy complaints
2021-10-06 10:37:58 -07:00
Jeff Washington (jwash)
18e47ab9f9
AcctIdx: remove duplicate mmap creation ( #20453 )
2021-10-06 00:58:25 +00:00
Jeff Washington (jwash)
6ea96b3274
AcctIdx: grow data buckets to default size on creation ( #20454 )
2021-10-05 19:16:02 -05:00
Jeff Washington (jwash)
d03bf2bbfe
AcctIdx: metrics fixes ( #20449 )
2021-10-05 22:26:29 +00:00
Jeff Washington (jwash)
71ec05e2f6
AcctIdx: cleanup ( #20443 )
2021-10-05 19:59:08 +00:00
Jeff Washington (jwash)
dc47a56c22
AcctIdx: bucket map grows with read lock ( #20397 )
2021-10-05 09:59:17 -05:00
Jeff Washington (jwash)
196cc8cfdf
AcctIdx: Remove unnecessary Arc ( #20412 )
2021-10-04 16:05:16 -05:00
Jeff Washington (jwash)
cbf427228c
AcctIdx: misc cleanup ( #20398 )
2021-10-04 11:49:20 -05:00
Jeff Washington (jwash)
8da2eb980a
AcctIdx: introduce BucketApi for access to a specific bucket ( #20359 )
2021-10-04 11:48:09 -05:00
Jeff Washington (jwash)
5e05f12c48
AcctIdx: bucket perf improvements ( #20328 )
2021-09-30 01:53:26 +00:00
Brooks Prumo
72f5bfbae2
bucket_map: rename num_cells() to capacity() ( #20150 )
2021-09-24 01:08:06 +00:00
Tyera Eulberg
98af19bde3
Fix fmt
2021-09-23 13:39:53 -06:00
Jeff Washington (jwash)
254d9c8903
range takes a ref ( #20140 )
2021-09-23 13:57:56 -05:00
Jeff Washington (jwash)
476124de50
AcctIdx: report disk bucket stats ( #20120 )
2021-09-22 18:17:20 -05:00
Brooks Prumo
52de97e280
Add type alias for Uid ( #20075 )
2021-09-21 20:09:04 +00:00
Brooks Prumo
0b6e9d861e
Remove unnecessary cfgs in bucket map ( #20068 )
2021-09-21 19:45:34 +00:00
Brooks Prumo
c88fb6952c
Use a constant for unlocked header uid ( #20048 )
...
Instead of just a literal `0` for UID when the header is unlocked, make a constant to give additional context.
2021-09-21 08:53:26 -05:00
Brooks Prumo
afa04f7abd
Fixup atomic ordering on BucketStorage Header ( #20005 )
...
Lock-type operations should be atomic::acquire, and unlock-type
operations should be atomic::release, so setting that here.
Additionally, change `unlock()` so it cannot fail.
2021-09-20 21:59:41 -05:00
Jeff Washington (jwash)
4716cd518d
bucketmap items_in_range does not return Option ( #20036 )
2021-09-20 17:18:12 +00:00