Benchmark (1k iterations with 1k routes)
+---------------------+------+--------------+--------+
| subject | its | mean | diff |
+---------------------+------+--------------+--------+
| benchAttogramMatch | 1000 | 948.786μs | 1.00x |
| benchSunriseMatch | 1000 | 2,857.826μs | 3.01x |
| benchFastRouteMatch | 1000 | 3,373.769μs | 3.56x |
| benchAuraMatch | 1000 | 5,949.371μs | 6.27x |
| benchZendMatch | 1000 | 18,767.892μs | 19.78x |
+---------------------+------+--------------+--------+
+---------------------+------+--------------+--------+
| subject | its | mean | diff |
+---------------------+------+--------------+--------+
| benchAttogramMatch | 1000 | 1,007.592μs | 1.00x |
| benchSunriseMatch | 1000 | 2,922.666μs | 2.90x |
| benchFastRouteMatch | 1000 | 3,289.040μs | 3.26x |
| benchAuraMatch | 1000 | 5,832.127μs | 5.79x |
| benchZendMatch | 1000 | 18,620.681μs | 18.48x |
+---------------------+------+--------------+--------+
+---------------------+------+--------------+-------+
| subject | its | mean | diff |
+---------------------+------+--------------+-------+
| benchSunriseMatch | 1000 | 3,285.527μs | 1.00x |
| benchFastRouteMatch | 1000 | 3,424.920μs | 1.04x |
| benchAuraMatch | 1000 | 5,727.049μs | 1.74x |
| benchZendMatch | 1000 | 19,213.987μs | 5.85x |
+---------------------+------+--------------+-------+
+---------------------+------+--------------+-------+
| subject | its | mean | diff |
+---------------------+------+--------------+-------+
| benchSunriseMatch | 1000 | 17,856.609μs | 1.00x |
| benchFastRouteMatch | 1000 | 20,920.968μs | 1.17x |
| benchAuraMatch | 1000 | 44,480.588μs | 2.49x |
| benchZendMatch | 1000 | 96,778.725μs | 5.42x |
+---------------------+------+--------------+-------+