Skip to content

Commit d43dd14

Browse files
committed
graph: impl graph data parser
1 parent 00684c4 commit d43dd14

File tree

9 files changed

+250
-52
lines changed

9 files changed

+250
-52
lines changed

Cargo.lock

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

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ path = "src/lib.rs"
1212

1313
[dependencies]
1414
libc = "0.2"
15+
nom = "6.2.1"
1516
rand = "0.8.0"
1617

1718
[dev-dependencies]

benches/dp.rs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,6 @@ fn make_changes_classic(b: &mut Bencher) {
1212
b.iter(|| dp::coin::make_change_classic(&coins, MAKE_CHANGES_AMOUNT));
1313
}
1414

15-
#[bench]
16-
fn make_changes_cache(b: &mut Bencher) {
17-
let coins = vec![1, 2, 5];
18-
b.iter(|| dp::coin::make_change_cache(&coins, MAKE_CHANGES_AMOUNT));
19-
}
20-
2115
#[bench]
2216
fn make_changes_iter(b: &mut Bencher) {
2317
let coins = vec![1, 2, 5];

benches/sort.rs

Lines changed: 20 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@ use test::Bencher;
99
fn small_merge_v1(b: &mut Bencher) {
1010
b.iter(|| {
1111
let mut numbs = [1, 2, 4, 8, 9, 9, 13, 17, 22];
12-
let f = |x: i32, y: i32| x > y;
13-
sort::merge::v1::sort(&mut numbs, &f);
12+
sort::merge::v1::sort(&mut numbs);
1413
});
1514
}
1615

@@ -19,8 +18,7 @@ fn large_merge_v1(b: &mut Bencher) {
1918
let data = util::random_data(util::DATA_LEN);
2019
b.iter(|| {
2120
let mut numbs = data.clone();
22-
let f = |x: i32, y: i32| x > y;
23-
sort::merge::v1::sort(&mut numbs, &f);
21+
sort::merge::v1::sort(&mut numbs);
2422
});
2523
}
2624

@@ -29,8 +27,7 @@ fn large_sorted_asc_merge_v1(b: &mut Bencher) {
2927
let data = util::sorted_data_asc(util::DATA_LEN);
3028
b.iter(|| {
3129
let mut numbs = data.clone();
32-
let f = |x: i32, y: i32| x > y;
33-
sort::merge::v1::sort(&mut numbs, &f);
30+
sort::merge::v1::sort(&mut numbs);
3431
});
3532
}
3633

@@ -39,8 +36,7 @@ fn large_sorted_desc_merge_v1(b: &mut Bencher) {
3936
let data = util::sorted_data_desc(util::DATA_LEN);
4037
b.iter(|| {
4138
let mut numbs = data.clone();
42-
let f = |x: i32, y: i32| x > y;
43-
sort::merge::v1::sort(&mut numbs, &f);
39+
sort::merge::v1::sort(&mut numbs);
4440
});
4541
}
4642

@@ -49,17 +45,15 @@ fn eq_data_merge_v1(b: &mut Bencher) {
4945
let data = util::eq_data(util::DATA_LEN);
5046
b.iter(|| {
5147
let mut numbs = data.clone();
52-
let f = |x: i32, y: i32| x > y;
53-
sort::merge::v1::sort(&mut numbs, &f);
48+
sort::merge::v1::sort(&mut numbs);
5449
});
5550
}
5651

5752
#[bench]
5853
fn small_merge_v2(b: &mut Bencher) {
5954
b.iter(|| {
6055
let mut numbs = [1, 2, 4, 8, 9, 9, 13, 17, 22];
61-
let f = |x: i32, y: i32| x > y;
62-
sort::merge::v2::sort(&mut numbs, &f);
56+
sort::merge::v2::sort(&mut numbs);
6357
});
6458
}
6559

@@ -68,8 +62,7 @@ fn large_merge_v2(b: &mut Bencher) {
6862
let data = util::random_data(util::DATA_LEN);
6963
b.iter(|| {
7064
let mut numbs = data.clone();
71-
let f = |x: i32, y: i32| x > y;
72-
sort::merge::v2::sort(&mut numbs, &f);
65+
sort::merge::v2::sort(&mut numbs);
7366
});
7467
}
7568

@@ -78,8 +71,7 @@ fn large_sorted_asc_merge_v2(b: &mut Bencher) {
7871
let data = util::sorted_data_asc(util::DATA_LEN);
7972
b.iter(|| {
8073
let mut numbs = data.clone();
81-
let f = |x: i32, y: i32| x > y;
82-
sort::merge::v2::sort(&mut numbs, &f);
74+
sort::merge::v2::sort(&mut numbs);
8375
});
8476
}
8577

@@ -88,8 +80,7 @@ fn large_sorted_desc_merge_v2(b: &mut Bencher) {
8880
let data = util::sorted_data_desc(util::DATA_LEN);
8981
b.iter(|| {
9082
let mut numbs = data.clone();
91-
let f = |x: i32, y: i32| x > y;
92-
sort::merge::v2::sort(&mut numbs, &f);
83+
sort::merge::v2::sort(&mut numbs);
9384
});
9485
}
9586

@@ -98,17 +89,15 @@ fn eq_data_merge_v2(b: &mut Bencher) {
9889
let data = util::eq_data(util::DATA_LEN);
9990
b.iter(|| {
10091
let mut numbs = data.clone();
101-
let f = |x: i32, y: i32| x > y;
102-
sort::merge::v2::sort(&mut numbs, &f);
92+
sort::merge::v2::sort(&mut numbs);
10393
});
10494
}
10595

10696
#[bench]
10797
fn small_merge_v3(b: &mut Bencher) {
10898
b.iter(|| {
10999
let mut numbs = [1, 2, 4, 8, 9, 9, 13, 17, 22];
110-
let f = |x: &i32, y: &i32| x > y;
111-
sort::merge::v3::sort(&mut numbs, &f);
100+
sort::merge::v3::sort(&mut numbs);
112101
});
113102
}
114103

@@ -117,8 +106,7 @@ fn large_merge_v3(b: &mut Bencher) {
117106
let data = util::random_data(util::DATA_LEN);
118107
b.iter(|| {
119108
let mut numbs = data.clone();
120-
let f = |x: &i32, y: &i32| x > y;
121-
sort::merge::v3::sort(&mut numbs, &f);
109+
sort::merge::v3::sort(&mut numbs);
122110
});
123111
}
124112

@@ -127,8 +115,7 @@ fn large_sorted_asc_merge_v3(b: &mut Bencher) {
127115
let data = util::sorted_data_asc(util::DATA_LEN);
128116
b.iter(|| {
129117
let mut numbs = data.clone();
130-
let f = |x: &i32, y: &i32| x > y;
131-
sort::merge::v3::sort(&mut numbs, &f);
118+
sort::merge::v3::sort(&mut numbs);
132119
});
133120
}
134121

@@ -137,8 +124,7 @@ fn large_sorted_desc_merge_v3(b: &mut Bencher) {
137124
let data = util::sorted_data_desc(util::DATA_LEN);
138125
b.iter(|| {
139126
let mut numbs = data.clone();
140-
let f = |x: &i32, y: &i32| x > y;
141-
sort::merge::v3::sort(&mut numbs, &f);
127+
sort::merge::v3::sort(&mut numbs);
142128
});
143129
}
144130

@@ -147,17 +133,15 @@ fn eq_data_merge_v3(b: &mut Bencher) {
147133
let data = util::eq_data(util::DATA_LEN);
148134
b.iter(|| {
149135
let mut numbs = data.clone();
150-
let f = |x: &i32, y: &i32| x > y;
151-
sort::merge::v3::sort(&mut numbs, &f);
136+
sort::merge::v3::sort(&mut numbs);
152137
});
153138
}
154139

155140
#[bench]
156141
fn small_quick(b: &mut Bencher) {
157142
b.iter(|| {
158143
let mut numbs = [1, 2, 4, 8, 9, 9, 13, 17, 22];
159-
let f = |x: &i32, y: &i32| x > y;
160-
sort::quick::sort(&mut numbs, &f);
144+
sort::quick::sort(&mut numbs);
161145
});
162146
}
163147

@@ -166,8 +150,7 @@ fn large_quick(b: &mut Bencher) {
166150
let data = util::random_data(util::DATA_LEN);
167151
b.iter(|| {
168152
let mut numbs = data.clone();
169-
let f = |x: &i32, y: &i32| x > y;
170-
sort::quick::sort(&mut numbs, &f);
153+
sort::quick::sort(&mut numbs);
171154
});
172155
}
173156

@@ -176,8 +159,7 @@ fn large_sorted_asc_quick(b: &mut Bencher) {
176159
let data = util::sorted_data_asc(util::DATA_LEN);
177160
b.iter(|| {
178161
let mut numbs = data.clone();
179-
let f = |x: &i32, y: &i32| x > y;
180-
sort::quick::sort(&mut numbs, &f);
162+
sort::quick::sort(&mut numbs);
181163
});
182164
}
183165

@@ -186,8 +168,7 @@ fn large_sorted_desc_quick(b: &mut Bencher) {
186168
let data = util::sorted_data_desc(util::DATA_LEN);
187169
b.iter(|| {
188170
let mut numbs = data.clone();
189-
let f = |x: &i32, y: &i32| x > y;
190-
sort::quick::sort(&mut numbs, &f);
171+
sort::quick::sort(&mut numbs);
191172
});
192173
}
193174

@@ -196,8 +177,7 @@ fn eq_data_quick(b: &mut Bencher) {
196177
let data = util::eq_data(util::DATA_LEN);
197178
b.iter(|| {
198179
let mut numbs = data.clone();
199-
let f = |x: &i32, y: &i32| x > y;
200-
sort::quick::sort(&mut numbs, &f);
180+
sort::quick::sort(&mut numbs);
201181
});
202182
}
203183

0 commit comments

Comments
 (0)