Skip to content

Commit c4b7482

Browse files
committed
add skip list
1 parent dab9b8e commit c4b7482

File tree

13 files changed

+735
-247
lines changed

13 files changed

+735
-247
lines changed

Cargo.lock

Lines changed: 59 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@ keywords = ["arc", "lru", "lfu", "timerwheel", "slab"]
1616
[dependencies]
1717
lazy_static = "1.5.0"
1818
hashbrown = "0.15.2"
19-
log = "0.4.26"
19+
log = "0.4.27"
20+
rand = "0.9.0"
2021

2122
[dependencies.algorithm-macro]
2223
# path = "algorithm-macro"
2324
version = "0.1"
2425

2526
[dev-dependencies]
26-
rand = "0.8.5"
2727
libc = "0.2.169"
2828
slab = "0.4.9"
2929

examples/bench_lru.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ fn build_freq_data(num: usize) -> Vec<(usize, usize)> {
3939
data.push((i, i + 1));
4040
let ridx = i / 4 + 1;
4141
for _ in 0..1 {
42-
data.push((rand::random::<usize>() % ridx, 0));
42+
data.push((rand::random::<u32>() as usize % ridx, 0));
4343
}
4444
}
4545
data
@@ -53,10 +53,10 @@ fn build_high_freq_data(num: usize) -> Vec<(usize, usize)> {
5353
data.push((i, i + 1));
5454
let ridx = (i / 4 + 1).min(1000);
5555
for _ in 0..10 {
56-
data.push((rand::random::<usize>() % ridx, 0));
56+
data.push((rand::random::<u32>() as usize % ridx, 0));
5757
}
5858
for _ in 0..5 {
59-
data.push((i + num + rand::random::<usize>() % num, i + 1));
59+
data.push((i + num + rand::random::<u32>() as usize % num, i + 1));
6060
}
6161
}
6262
data

src/arr/mod.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11

22
mod circular_buffer;
33
mod fix_vec;
4+
mod skip_list;
45

56
pub use circular_buffer::CircularBuffer;
6-
pub use fix_vec::FixedVec;
7+
pub use fix_vec::FixedVec;
8+
pub use skip_list::{SkipList, SkipNode};

0 commit comments

Comments
 (0)