Skip to content

Commit 89b8b71

Browse files
committed
Shorter bytecode by leveraging repeatitive patterns
1 parent f9a9f71 commit 89b8b71

6 files changed

+149
-128
lines changed

Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ description = "Fast integer compression/decompression via SIMD bit-packing. Port
99
edition = "2018"
1010

1111
[dependencies]
12-
crunchy = "0.2"
12+
unroll = "0.1"
1313

1414
[dev-dependencies]
1515
rand = "0.8"

src/bitpacker1x.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ mod scalar {
1111

1212
type DataType = u32;
1313

14-
fn set1(el: i32) -> DataType {
14+
const fn set1(el: i32) -> DataType {
1515
el as u32
1616
}
1717

src/bitpacker4x.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ mod scalar {
7373

7474
type DataType = [u32; 4];
7575

76-
fn set1(el: i32) -> DataType {
76+
const fn set1(el: i32) -> DataType {
7777
[el as u32; 4]
7878
}
7979

src/bitpacker8x.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ mod scalar {
8282

8383
type DataType = [u32; 8];
8484

85-
fn set1(el: i32) -> DataType {
85+
const fn set1(el: i32) -> DataType {
8686
[el as u32; 8]
8787
}
8888

src/bitpacking_bench.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ fn criterion_benchmark_bitpacker<TBitPacker: BitPacker + 'static>(
151151
bitpacker: TBitPacker,
152152
criterion: &mut Criterion,
153153
) {
154-
for &num_bit in [1u8, 15u8, 31u8].iter() {
154+
for &num_bit in [1u8, 24u8, 31u8].iter() {
155155
let num_bits = [num_bit; NUM_BLOCKS];
156156
criterion.bench(
157157
name,

0 commit comments

Comments
 (0)