Skip to content

Commit 18f2db7

Browse files
authored
Merge pull request #29 from cooklang/debloat
Remove and simplify
2 parents bb639e9 + af90b70 commit 18f2db7

File tree

18 files changed

+761
-535
lines changed

18 files changed

+761
-535
lines changed

Cargo.lock

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

Cargo.toml

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,36 +12,37 @@ readme = "README.md"
1212

1313
[dependencies]
1414
bitflags = { version = "2", features = ["serde"] }
15-
regex = "1"
1615
serde = { version = "1", features = ["derive", "rc"] }
1716
strum = { version = "0.26.1", features = ["derive"] }
18-
thiserror = "1"
19-
url = { version = "2", features = ["serde"] }
20-
pest = { version = "2", optional = true }
21-
pest_derive = { version = "2", optional = true }
22-
toml = { version = "0.8", optional = true }
23-
once_cell = "1"
17+
thiserror = "2"
2418
enum-map = { version = "2", features = ["serde"] }
2519
tracing = "0.1"
2620
codesnake = "0.2.1"
27-
unicode-width = "0.1.13"
28-
either = "1.8"
21+
unicode-width = "0.2"
2922
finl_unicode = { version = "1.2", features = ["categories"], default-features = false }
3023
smallvec = { version = "1" }
3124
unicase = "2.7.0"
3225
yansi = "1.0.1"
3326
serde_yaml = "0.9.34"
3427

3528
[dev-dependencies]
29+
toml = "0.8"
3630
serde_json = "1"
3731
criterion = "0.5"
3832
test-case = "3.2.1"
3933
indoc = "2.0.3"
4034

35+
[build-dependencies]
36+
toml = { version = "0.8", optional = true }
37+
prettyplease = { version = "0.2", optional = true }
38+
quote = { version = "1", optional = true }
39+
syn = { version = "2", optional = true }
40+
proc-macro2 = { version = "1", optional = true }
41+
4142
[features]
42-
default = ["bundled_units", "aisle"]
43-
bundled_units = ["dep:toml"]
44-
aisle = ["dep:pest", "dep:pest_derive"]
43+
default = ["aisle", "bundled_units"]
44+
bundled_units = ["toml", "prettyplease", "quote", "syn", "proc-macro2"]
45+
aisle = []
4546

4647
[[bench]]
4748
name = "parse"

benches/convert.rs

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use cooklang::{
2-
convert::{ConvertTo, System},
2+
convert::{ConvertTo, System, UnitsFile},
33
Converter, Quantity, Value,
44
};
55
use criterion::{black_box, criterion_group, criterion_main, Criterion};
@@ -43,5 +43,23 @@ fn conversions(c: &mut Criterion) {
4343
});
4444
}
4545

46-
criterion_group!(benches, conversions);
46+
fn bundled_units(c: &mut Criterion) {
47+
let mut group = c.benchmark_group("bundled_units");
48+
group.bench_function("get_bundled", |b| {
49+
b.iter_batched(
50+
|| {},
51+
|_| UnitsFile::bundled(),
52+
criterion::BatchSize::NumIterations((100_000_000 / size_of::<UnitsFile>()) as u64),
53+
);
54+
});
55+
group.bench_function("parse_toml", |b| {
56+
b.iter_batched(
57+
|| {},
58+
|_| toml::from_str::<UnitsFile>(include_str!("../units.toml")),
59+
criterion::BatchSize::NumIterations((100_000_000 / size_of::<UnitsFile>()) as u64),
60+
);
61+
});
62+
}
63+
64+
criterion_group!(benches, conversions, bundled_units);
4765
criterion_main!(benches);

bindings/src/model.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ trait Amountable {
176176

177177
impl Amountable for OriginalQuantity<OriginalScalableValue> {
178178
fn extract_amount(&self) -> Amount {
179-
let quantity = extract_quantity(&self.value);
179+
let quantity = extract_quantity(self.value());
180180

181181
let units = self.unit().as_ref().map(|u| u.to_string());
182182

0 commit comments

Comments
 (0)