# Divan first look I switched benchmarking frameworks to use Divan. I'm glad I started with Criterion, so I get a good idea of what the numbers should be, and also how stable each result should be. It took a while to get the same numbers and stability from Divan, and I don't think I would have made it as good had I not had the experience of Criterion first. Having said that, now that the switch has been made, the `cargo bench` runs much faster and more reliably, the results are easier to read and the code is easier to extend. Overall, I suspect that this will have been worth it. ```rs wsv fastest │ slowest │ median │ mean │ samples │ iters ╰─ io │ │ │ │ │ ╰─ benchmarks │ │ │ │ │ ├─ reader_lines_100 │ │ │ │ │ │ ├─ First 516.6 µs │ 5.232 ms │ 1.088 ms │ 964.5 µs │ 1000 │ 1000 │ ├─ Mealy 400.9 µs │ 6.252 ms │ 762.9 µs │ 707.9 µs │ 1000 │ 1000 │ ├─ Moore 692.5 µs │ 8.977 ms │ 1.305 ms │ 1.394 ms │ 1000 │ 1000 │ ├─ Nom 449.2 µs │ 5.779 ms │ 895.1 µs │ 913.8 µs │ 1000 │ 1000 │ ├─ Split 765.2 µs │ 10.46 ms │ 1.567 ms │ 1.501 ms │ 1000 │ 1000 │ ╰─ State 298.2 µs │ 4.162 ms │ 522.1 µs │ 512.1 µs │ 1000 │ 1000 ├─ reader_lines_100_000 │ │ │ │ │ │ ├─ First 612 ms │ 837.2 ms │ 622.9 ms │ 653.8 ms │ 10 │ 10 │ ├─ Mealy 489.3 ms │ 535.5 ms │ 494.9 ms │ 499.3 ms │ 10 │ 10 │ ├─ Moore 682.2 ms │ 766 ms │ 684.3 ms │ 693.7 ms │ 10 │ 10 │ ├─ Nom 412.7 ms │ 462.5 ms │ 413.8 ms │ 420.4 ms │ 10 │ 10 │ ├─ Split 730.4 ms │ 772.2 ms │ 742.5 ms │ 744.9 ms │ 10 │ 10 │ ╰─ State 310.6 ms │ 459.7 ms │ 378.7 ms │ 383.6 ms │ 10 │ 10 ├─ reader_one_big_line │ │ │ │ │ │ ├─ First 437.9 µs │ 3.586 ms │ 455.7 µs │ 612.8 µs │ 1000 │ 1000 │ ├─ Mealy 337 µs │ 1.242 ms │ 339.7 µs │ 378.8 µs │ 1000 │ 1000 │ ├─ Moore 492.7 µs │ 2.164 ms │ 496.4 µs │ 524.4 µs │ 1000 │ 1000 │ ├─ Nom 333.8 µs │ 994.6 µs │ 336.4 µs │ 361.6 µs │ 1000 │ 1000 │ ├─ Split 8.163 ms │ 77.4 ms │ 8.461 ms │ 11.29 ms │ 1000 │ 1000 │ ╰─ State 226.7 µs │ 991.1 µs │ 265.7 µs │ 314.8 µs │ 1000 │ 1000 ├─ string_lines_100 │ │ │ │ │ │ ├─ First 547.9 µs │ 1.721 ms │ 552.4 µs │ 605.9 µs │ 1000 │ 1000 │ ├─ Mealy 424.5 µs │ 11.19 ms │ 631 µs │ 814.9 µs │ 1000 │ 1000 │ ├─ Moore 934.3 µs │ 5.493 ms │ 1.252 ms │ 1.461 ms │ 1000 │ 1000 │ ├─ Nom 604.6 µs │ 4.829 ms │ 844.9 µs │ 1.026 ms │ 1000 │ 1000 │ ├─ Split 799.7 µs │ 13.74 ms │ 1.352 ms │ 1.695 ms │ 1000 │ 1000 │ ╰─ State 451.9 µs │ 15.22 ms │ 1.18 ms │ 1.36 ms │ 1000 │ 1000 ├─ string_lines_100_000 │ │ │ │ │ │ ├─ First 605.1 ms │ 1.271 s │ 618.4 ms │ 759.1 ms │ 10 │ 10 │ ├─ Mealy 478.6 ms │ 588.4 ms │ 485.7 ms │ 500.8 ms │ 10 │ 10 │ ├─ Moore 678.6 ms │ 863.8 ms │ 679.4 ms │ 698.9 ms │ 10 │ 10 │ ├─ Nom 404 ms │ 428.6 ms │ 405.1 ms │ 408.8 ms │ 10 │ 10 │ ├─ Split 731.5 ms │ 787.4 ms │ 739.4 ms │ 744 ms │ 10 │ 10 │ ╰─ State 276.8 ms │ 285.5 ms │ 279.3 ms │ 280.1 ms │ 10 │ 10 ╰─ string_one_big_line │ │ │ │ │ ├─ First 440.4 µs │ 9.431 ms │ 444.9 µs │ 469.6 µs │ 1000 │ 1000 ├─ Mealy 337 µs │ 841.4 µs │ 341.5 µs │ 352.9 µs │ 1000 │ 1000 ├─ Moore 498.6 µs │ 3.859 ms │ 500.9 µs │ 517.6 µs │ 1000 │ 1000 ├─ Nom 333.5 µs │ 875.8 µs │ 335.4 µs │ 347.1 µs │ 1000 │ 1000 ├─ Split 8.18 ms │ 19.2 ms │ 8.25 ms │ 8.398 ms │ 1000 │ 1000 ╰─ State 204.4 µs │ 652.6 µs │ 206.5 µs │ 218.9 µs │ 1000 │ 1000 ```