Browse Source

Benchmark day 11

Tyler Hallada 4 years ago
parent
commit
55c949f796
3 changed files with 479 additions and 0 deletions
  1. 458 0
      Cargo.lock
  2. 7 0
      Cargo.toml
  3. 14 0
      benches/day_11.rs

+ 458 - 0
Cargo.lock

@@ -5,6 +5,7 @@ name = "advent-of-code-2018"
5 5
 version = "0.1.0"
6 6
 dependencies = [
7 7
  "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
8
+ "criterion 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
8 9
  "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
9 10
  "regex 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
10 11
 ]
@@ -17,6 +18,49 @@ dependencies = [
17 18
  "memchr 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
18 19
 ]
19 20
 
21
+[[package]]
22
+name = "arrayvec"
23
+version = "0.4.11"
24
+source = "registry+https://github.com/rust-lang/crates.io-index"
25
+dependencies = [
26
+ "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
27
+]
28
+
29
+[[package]]
30
+name = "atty"
31
+version = "0.2.13"
32
+source = "registry+https://github.com/rust-lang/crates.io-index"
33
+dependencies = [
34
+ "libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)",
35
+ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
36
+]
37
+
38
+[[package]]
39
+name = "bitflags"
40
+version = "1.1.0"
41
+source = "registry+https://github.com/rust-lang/crates.io-index"
42
+
43
+[[package]]
44
+name = "bstr"
45
+version = "0.2.6"
46
+source = "registry+https://github.com/rust-lang/crates.io-index"
47
+dependencies = [
48
+ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
49
+ "memchr 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
50
+ "regex-automata 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
51
+ "serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)",
52
+]
53
+
54
+[[package]]
55
+name = "byteorder"
56
+version = "1.3.2"
57
+source = "registry+https://github.com/rust-lang/crates.io-index"
58
+
59
+[[package]]
60
+name = "cast"
61
+version = "0.2.2"
62
+source = "registry+https://github.com/rust-lang/crates.io-index"
63
+
20 64
 [[package]]
21 65
 name = "cfg-if"
22 66
 version = "0.1.6"
@@ -32,6 +76,142 @@ dependencies = [
32 76
  "time 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
33 77
 ]
34 78
 
79
+[[package]]
80
+name = "clap"
81
+version = "2.33.0"
82
+source = "registry+https://github.com/rust-lang/crates.io-index"
83
+dependencies = [
84
+ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
85
+ "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
86
+ "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
87
+]
88
+
89
+[[package]]
90
+name = "cloudabi"
91
+version = "0.0.3"
92
+source = "registry+https://github.com/rust-lang/crates.io-index"
93
+dependencies = [
94
+ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
95
+]
96
+
97
+[[package]]
98
+name = "criterion"
99
+version = "0.2.11"
100
+source = "registry+https://github.com/rust-lang/crates.io-index"
101
+dependencies = [
102
+ "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
103
+ "cast 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
104
+ "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
105
+ "criterion-plot 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
106
+ "csv 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
107
+ "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
108
+ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
109
+ "libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)",
110
+ "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
111
+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
112
+ "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
113
+ "rand_xoshiro 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
114
+ "rayon 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
115
+ "rayon-core 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
116
+ "serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)",
117
+ "serde_derive 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)",
118
+ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
119
+ "tinytemplate 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
120
+ "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)",
121
+]
122
+
123
+[[package]]
124
+name = "criterion-plot"
125
+version = "0.3.1"
126
+source = "registry+https://github.com/rust-lang/crates.io-index"
127
+dependencies = [
128
+ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
129
+ "cast 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
130
+ "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
131
+]
132
+
133
+[[package]]
134
+name = "crossbeam-deque"
135
+version = "0.6.3"
136
+source = "registry+https://github.com/rust-lang/crates.io-index"
137
+dependencies = [
138
+ "crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
139
+ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
140
+]
141
+
142
+[[package]]
143
+name = "crossbeam-epoch"
144
+version = "0.7.2"
145
+source = "registry+https://github.com/rust-lang/crates.io-index"
146
+dependencies = [
147
+ "arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
148
+ "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
149
+ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
150
+ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
151
+ "memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
152
+ "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
153
+]
154
+
155
+[[package]]
156
+name = "crossbeam-queue"
157
+version = "0.1.2"
158
+source = "registry+https://github.com/rust-lang/crates.io-index"
159
+dependencies = [
160
+ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
161
+]
162
+
163
+[[package]]
164
+name = "crossbeam-utils"
165
+version = "0.6.6"
166
+source = "registry+https://github.com/rust-lang/crates.io-index"
167
+dependencies = [
168
+ "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
169
+ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
170
+]
171
+
172
+[[package]]
173
+name = "csv"
174
+version = "1.1.1"
175
+source = "registry+https://github.com/rust-lang/crates.io-index"
176
+dependencies = [
177
+ "bstr 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
178
+ "csv-core 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
179
+ "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
180
+ "ryu 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
181
+ "serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)",
182
+]
183
+
184
+[[package]]
185
+name = "csv-core"
186
+version = "0.1.6"
187
+source = "registry+https://github.com/rust-lang/crates.io-index"
188
+dependencies = [
189
+ "memchr 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
190
+]
191
+
192
+[[package]]
193
+name = "either"
194
+version = "1.5.2"
195
+source = "registry+https://github.com/rust-lang/crates.io-index"
196
+
197
+[[package]]
198
+name = "fuchsia-cprng"
199
+version = "0.1.1"
200
+source = "registry+https://github.com/rust-lang/crates.io-index"
201
+
202
+[[package]]
203
+name = "itertools"
204
+version = "0.8.0"
205
+source = "registry+https://github.com/rust-lang/crates.io-index"
206
+dependencies = [
207
+ "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
208
+]
209
+
210
+[[package]]
211
+name = "itoa"
212
+version = "0.4.4"
213
+source = "registry+https://github.com/rust-lang/crates.io-index"
214
+
35 215
 [[package]]
36 216
 name = "lazy_static"
37 217
 version = "1.2.0"
@@ -52,6 +232,19 @@ dependencies = [
52 232
  "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
53 233
 ]
54 234
 
235
+[[package]]
236
+name = "memoffset"
237
+version = "0.5.1"
238
+source = "registry+https://github.com/rust-lang/crates.io-index"
239
+dependencies = [
240
+ "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
241
+]
242
+
243
+[[package]]
244
+name = "nodrop"
245
+version = "0.1.13"
246
+source = "registry+https://github.com/rust-lang/crates.io-index"
247
+
55 248
 [[package]]
56 249
 name = "num-integer"
57 250
 version = "0.1.39"
@@ -65,6 +258,95 @@ name = "num-traits"
65 258
 version = "0.2.6"
66 259
 source = "registry+https://github.com/rust-lang/crates.io-index"
67 260
 
261
+[[package]]
262
+name = "num_cpus"
263
+version = "1.10.1"
264
+source = "registry+https://github.com/rust-lang/crates.io-index"
265
+dependencies = [
266
+ "libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)",
267
+]
268
+
269
+[[package]]
270
+name = "proc-macro2"
271
+version = "0.4.30"
272
+source = "registry+https://github.com/rust-lang/crates.io-index"
273
+dependencies = [
274
+ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
275
+]
276
+
277
+[[package]]
278
+name = "quote"
279
+version = "0.6.13"
280
+source = "registry+https://github.com/rust-lang/crates.io-index"
281
+dependencies = [
282
+ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
283
+]
284
+
285
+[[package]]
286
+name = "rand_core"
287
+version = "0.3.1"
288
+source = "registry+https://github.com/rust-lang/crates.io-index"
289
+dependencies = [
290
+ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
291
+]
292
+
293
+[[package]]
294
+name = "rand_core"
295
+version = "0.4.0"
296
+source = "registry+https://github.com/rust-lang/crates.io-index"
297
+
298
+[[package]]
299
+name = "rand_os"
300
+version = "0.1.3"
301
+source = "registry+https://github.com/rust-lang/crates.io-index"
302
+dependencies = [
303
+ "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
304
+ "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
305
+ "libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)",
306
+ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
307
+ "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
308
+ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
309
+]
310
+
311
+[[package]]
312
+name = "rand_xoshiro"
313
+version = "0.1.0"
314
+source = "registry+https://github.com/rust-lang/crates.io-index"
315
+dependencies = [
316
+ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
317
+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
318
+]
319
+
320
+[[package]]
321
+name = "rayon"
322
+version = "1.1.0"
323
+source = "registry+https://github.com/rust-lang/crates.io-index"
324
+dependencies = [
325
+ "crossbeam-deque 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
326
+ "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
327
+ "rayon-core 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
328
+]
329
+
330
+[[package]]
331
+name = "rayon-core"
332
+version = "1.5.0"
333
+source = "registry+https://github.com/rust-lang/crates.io-index"
334
+dependencies = [
335
+ "crossbeam-deque 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
336
+ "crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
337
+ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
338
+ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
339
+ "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
340
+]
341
+
342
+[[package]]
343
+name = "rdrand"
344
+version = "0.4.0"
345
+source = "registry+https://github.com/rust-lang/crates.io-index"
346
+dependencies = [
347
+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
348
+]
349
+
68 350
 [[package]]
69 351
 name = "redox_syscall"
70 352
 version = "0.1.44"
@@ -82,6 +364,14 @@ dependencies = [
82 364
  "utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
83 365
 ]
84 366
 
367
+[[package]]
368
+name = "regex-automata"
369
+version = "0.1.8"
370
+source = "registry+https://github.com/rust-lang/crates.io-index"
371
+dependencies = [
372
+ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
373
+]
374
+
85 375
 [[package]]
86 376
 name = "regex-syntax"
87 377
 version = "0.6.4"
@@ -90,6 +380,88 @@ dependencies = [
90 380
  "ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
91 381
 ]
92 382
 
383
+[[package]]
384
+name = "rustc_version"
385
+version = "0.2.3"
386
+source = "registry+https://github.com/rust-lang/crates.io-index"
387
+dependencies = [
388
+ "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
389
+]
390
+
391
+[[package]]
392
+name = "ryu"
393
+version = "1.0.0"
394
+source = "registry+https://github.com/rust-lang/crates.io-index"
395
+
396
+[[package]]
397
+name = "same-file"
398
+version = "1.0.5"
399
+source = "registry+https://github.com/rust-lang/crates.io-index"
400
+dependencies = [
401
+ "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
402
+]
403
+
404
+[[package]]
405
+name = "scopeguard"
406
+version = "1.0.0"
407
+source = "registry+https://github.com/rust-lang/crates.io-index"
408
+
409
+[[package]]
410
+name = "semver"
411
+version = "0.9.0"
412
+source = "registry+https://github.com/rust-lang/crates.io-index"
413
+dependencies = [
414
+ "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
415
+]
416
+
417
+[[package]]
418
+name = "semver-parser"
419
+version = "0.7.0"
420
+source = "registry+https://github.com/rust-lang/crates.io-index"
421
+
422
+[[package]]
423
+name = "serde"
424
+version = "1.0.98"
425
+source = "registry+https://github.com/rust-lang/crates.io-index"
426
+
427
+[[package]]
428
+name = "serde_derive"
429
+version = "1.0.98"
430
+source = "registry+https://github.com/rust-lang/crates.io-index"
431
+dependencies = [
432
+ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
433
+ "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
434
+ "syn 0.15.42 (registry+https://github.com/rust-lang/crates.io-index)",
435
+]
436
+
437
+[[package]]
438
+name = "serde_json"
439
+version = "1.0.40"
440
+source = "registry+https://github.com/rust-lang/crates.io-index"
441
+dependencies = [
442
+ "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
443
+ "ryu 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
444
+ "serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)",
445
+]
446
+
447
+[[package]]
448
+name = "syn"
449
+version = "0.15.42"
450
+source = "registry+https://github.com/rust-lang/crates.io-index"
451
+dependencies = [
452
+ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
453
+ "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
454
+ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
455
+]
456
+
457
+[[package]]
458
+name = "textwrap"
459
+version = "0.11.0"
460
+source = "registry+https://github.com/rust-lang/crates.io-index"
461
+dependencies = [
462
+ "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
463
+]
464
+
93 465
 [[package]]
94 466
 name = "thread_local"
95 467
 version = "0.3.6"
@@ -108,11 +480,30 @@ dependencies = [
108 480
  "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
109 481
 ]
110 482
 
483
+[[package]]
484
+name = "tinytemplate"
485
+version = "1.0.2"
486
+source = "registry+https://github.com/rust-lang/crates.io-index"
487
+dependencies = [
488
+ "serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)",
489
+ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
490
+]
491
+
111 492
 [[package]]
112 493
 name = "ucd-util"
113 494
 version = "0.1.3"
114 495
 source = "registry+https://github.com/rust-lang/crates.io-index"
115 496
 
497
+[[package]]
498
+name = "unicode-width"
499
+version = "0.1.5"
500
+source = "registry+https://github.com/rust-lang/crates.io-index"
501
+
502
+[[package]]
503
+name = "unicode-xid"
504
+version = "0.1.0"
505
+source = "registry+https://github.com/rust-lang/crates.io-index"
506
+
116 507
 [[package]]
117 508
 name = "utf8-ranges"
118 509
 version = "1.0.2"
@@ -123,6 +514,16 @@ name = "version_check"
123 514
 version = "0.1.5"
124 515
 source = "registry+https://github.com/rust-lang/crates.io-index"
125 516
 
517
+[[package]]
518
+name = "walkdir"
519
+version = "2.2.9"
520
+source = "registry+https://github.com/rust-lang/crates.io-index"
521
+dependencies = [
522
+ "same-file 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
523
+ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
524
+ "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
525
+]
526
+
126 527
 [[package]]
127 528
 name = "winapi"
128 529
 version = "0.3.6"
@@ -137,6 +538,14 @@ name = "winapi-i686-pc-windows-gnu"
137 538
 version = "0.4.0"
138 539
 source = "registry+https://github.com/rust-lang/crates.io-index"
139 540
 
541
+[[package]]
542
+name = "winapi-util"
543
+version = "0.1.2"
544
+source = "registry+https://github.com/rust-lang/crates.io-index"
545
+dependencies = [
546
+ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
547
+]
548
+
140 549
 [[package]]
141 550
 name = "winapi-x86_64-pc-windows-gnu"
142 551
 version = "0.4.0"
@@ -144,21 +553,70 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
144 553
 
145 554
 [metadata]
146 555
 "checksum aho-corasick 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" = "1e9a933f4e58658d7b12defcf96dc5c720f20832deebe3e0a19efd3b6aaeeb9e"
556
+"checksum arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)" = "b8d73f9beda665eaa98ab9e4f7442bd4e7de6652587de55b2525e52e29c1b0ba"
557
+"checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
558
+"checksum bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3d155346769a6855b86399e9bc3814ab343cd3d62c7e985113d46a0ec3c281fd"
559
+"checksum bstr 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "e0a692f1c740e7e821ca71a22cf99b9b2322dfa94d10f71443befb1797b3946a"
560
+"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
561
+"checksum cast 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "926013f2860c46252efceabb19f4a6b308197505082c609025aa6706c011d427"
147 562
 "checksum cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "082bb9b28e00d3c9d39cc03e64ce4cea0f1bb9b3fde493f0cbc008472d22bdf4"
148 563
 "checksum chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "45912881121cb26fad7c38c17ba7daa18764771836b34fab7d3fbd93ed633878"
564
+"checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
565
+"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
566
+"checksum criterion 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "0363053954f3e679645fc443321ca128b7b950a6fe288cf5f9335cc22ee58394"
567
+"checksum criterion-plot 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "76f9212ddf2f4a9eb2d401635190600656a1f88a932ef53d06e7fa4c7e02fb8e"
568
+"checksum crossbeam-deque 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "05e44b8cf3e1a625844d1750e1f7820da46044ff6d28f4d43e455ba3e5bb2c13"
569
+"checksum crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "fedcd6772e37f3da2a9af9bf12ebe046c0dfe657992377b4df982a2b54cd37a9"
570
+"checksum crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b"
571
+"checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
572
+"checksum csv 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "37519ccdfd73a75821cac9319d4fce15a81b9fcf75f951df5b9988aa3a0af87d"
573
+"checksum csv-core 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9b5cadb6b25c77aeff80ba701712494213f4a8418fcda2ee11b6560c3ad0bf4c"
574
+"checksum either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5527cfe0d098f36e3f8839852688e63c8fff1c90b2b405aef730615f9a7bcf7b"
575
+"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
576
+"checksum itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5b8467d9c1cebe26feb08c640139247fac215782d35371ade9a2136ed6085358"
577
+"checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f"
149 578
 "checksum lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a374c89b9db55895453a74c1e38861d9deec0b01b405a82516e9d5de4820dea1"
150 579
 "checksum libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)" = "2d2857ec59fadc0773853c664d2d18e7198e83883e7060b63c924cb077bd5c74"
151 580
 "checksum memchr 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "db4c41318937f6e76648f42826b1d9ade5c09cafb5aef7e351240a70f39206e9"
581
+"checksum memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ce6075db033bbbb7ee5a0bbd3a3186bbae616f57fb001c485c7ff77955f8177f"
582
+"checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945"
152 583
 "checksum num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "e83d528d2677f0518c570baf2b7abdcf0cd2d248860b68507bdcb3e91d4c0cea"
153 584
 "checksum num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0b3a5d7cc97d6d30d8b9bc8fa19bf45349ffe46241e8816f50f62f6d6aaabee1"
585
+"checksum num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bcef43580c035376c0705c42792c294b66974abbfd2789b511784023f71f3273"
586
+"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
587
+"checksum quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1"
588
+"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
589
+"checksum rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d0e7a549d590831370895ab7ba4ea0c1b6b011d106b5ff2da6eee112615e6dc0"
590
+"checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
591
+"checksum rand_xoshiro 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "03b418169fb9c46533f326efd6eed2576699c44ca92d3052a066214a8d828929"
592
+"checksum rayon 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a4b0186e22767d5b9738a05eab7c6ac90b15db17e5b5f9bd87976dd7d89a10a4"
593
+"checksum rayon-core 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ebbe0df8435ac0c397d467b6cad6d25543d06e8a019ef3f6af3c384597515bd2"
594
+"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
154 595
 "checksum redox_syscall 0.1.44 (registry+https://github.com/rust-lang/crates.io-index)" = "a84bcd297b87a545980a2d25a0beb72a1f490c31f0a9fde52fca35bfbb1ceb70"
155 596
 "checksum regex 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "37e7cbbd370869ce2e8dff25c7018702d10b21a20ef7135316f8daecd6c25b7f"
597
+"checksum regex-automata 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "92b73c2a1770c255c240eaa4ee600df1704a38dc3feaa6e949e7fcd4f8dc09f9"
156 598
 "checksum regex-syntax 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "4e47a2ed29da7a9e1960e1639e7a982e6edc6d49be308a3b02daf511504a16d1"
599
+"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
600
+"checksum ryu 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c92464b447c0ee8c4fb3824ecc8383b81717b9f1e74ba2e72540aef7b9f82997"
601
+"checksum same-file 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "585e8ddcedc187886a30fa705c47985c3fa88d06624095856b36ca0b82ff4421"
602
+"checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d"
603
+"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
604
+"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
605
+"checksum serde 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)" = "7fe5626ac617da2f2d9c48af5515a21d5a480dbd151e01bb1c355e26a3e68113"
606
+"checksum serde_derive 1.0.98 (registry+https://github.com/rust-lang/crates.io-index)" = "01e69e1b8a631f245467ee275b8c757b818653c6d704cdbcaeb56b56767b529c"
607
+"checksum serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)" = "051c49229f282f7c6f3813f8286cc1e3323e8051823fce42c7ea80fe13521704"
608
+"checksum syn 0.15.42 (registry+https://github.com/rust-lang/crates.io-index)" = "eadc09306ca51a40555dd6fc2b415538e9e18bc9f870e47b1a524a79fe2dcf5e"
609
+"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
157 610
 "checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
158 611
 "checksum time 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "847da467bf0db05882a9e2375934a8a55cffdc9db0d128af1518200260ba1f6c"
612
+"checksum tinytemplate 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4574b75faccaacddb9b284faecdf0b544b80b6b294f3d062d325c5726a209c20"
159 613
 "checksum ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "535c204ee4d8434478593480b8f86ab45ec9aae0e83c568ca81abf0fd0e88f86"
614
+"checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"
615
+"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
160 616
 "checksum utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "796f7e48bef87609f7ade7e06495a87d5cd06c7866e6a5cbfceffc558a243737"
161 617
 "checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
618
+"checksum walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)" = "9658c94fa8b940eab2250bd5a457f9c48b748420d71293b165c8cdbe2f55f71e"
162 619
 "checksum winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "92c1eb33641e276cfa214a0522acad57be5c56b10cb348b3c5117db75f3ac4b0"
163 620
 "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
621
+"checksum winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9"
164 622
 "checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"

+ 7 - 0
Cargo.toml

@@ -8,3 +8,10 @@ edition = "2018"
8 8
 chrono = "0.4"
9 9
 lazy_static = "1.2.0"
10 10
 regex = "1"
11
+
12
+[dev-dependencies]
13
+criterion = "0.2"
14
+
15
+[[bench]]
16
+name = "day_11"
17
+harness = false

+ 14 - 0
benches/day_11.rs

@@ -0,0 +1,14 @@
1
+#[macro_use]
2
+extern crate criterion;
3
+
4
+use criterion::Criterion;
5
+
6
+#[path = "../src/day11.rs"]
7
+mod day11;
8
+
9
+fn criterion_benchmark(c: &mut Criterion) {
10
+    c.bench_function("day 11", |b| b.iter(|| day11::solve_part2()));
11
+}
12
+
13
+criterion_group!(benches, criterion_benchmark);
14
+criterion_main!(benches);