{"id":14965486,"url":"https://github.com/divineniiquaye/php-routers-benchmarks","last_synced_at":"2025-10-25T11:32:02.205Z","repository":{"id":47040635,"uuid":"330341808","full_name":"divineniiquaye/php-routers-benchmarks","owner":"divineniiquaye","description":"PHP Routers Benchmarks","archived":false,"fork":false,"pushed_at":"2023-04-10T06:02:11.000Z","size":129,"stargazers_count":7,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-31T07:05:09.378Z","etag":null,"topics":["altorouter","benchmark","fastroute","flight-routing","laravel","nette","php","router","spiral","symfony"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/divineniiquaye.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"patreon":"biurad","custom":["https://biurad.com/sponsor"]}},"created_at":"2021-01-17T07:57:30.000Z","updated_at":"2024-12-28T23:41:48.000Z","dependencies_parsed_at":"2024-09-18T03:33:46.741Z","dependency_job_id":null,"html_url":"https://github.com/divineniiquaye/php-routers-benchmarks","commit_stats":{"total_commits":69,"total_committers":3,"mean_commits":23.0,"dds":"0.13043478260869568","last_synced_commit":"b3de1f9259d9846d3e626781c29e56b9c2766f2f"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":"biurad/php-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divineniiquaye%2Fphp-routers-benchmarks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divineniiquaye%2Fphp-routers-benchmarks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divineniiquaye%2Fphp-routers-benchmarks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divineniiquaye%2Fphp-routers-benchmarks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/divineniiquaye","download_url":"https://codeload.github.com/divineniiquaye/php-routers-benchmarks/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238128656,"owners_count":19421076,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["altorouter","benchmark","fastroute","flight-routing","laravel","nette","php","router","spiral","symfony"],"created_at":"2024-09-24T13:34:49.062Z","updated_at":"2025-10-25T11:32:01.913Z","avatar_url":"https://github.com/divineniiquaye.png","language":"PHP","funding_links":["https://patreon.com/biurad","https://biurad.com/sponsor"],"categories":[],"sub_categories":[],"readme":"# The PHP Routers Benchmark\n\n[![Software License](https://img.shields.io/badge/License-BSD--3-brightgreen.svg?style=flat-square)](LICENSE)\n[![Workflow Status](https://img.shields.io/github/workflow/status/divineniiquaye/php-routers-benchmark/Tests?style=flat-square)](https://github.com/divineniiquaye/php-routers-benchmark/actions?query=workflow%3ATests)\n[![Code Maintainability](https://img.shields.io/codeclimate/maintainability/divineniiquaye/php-routers-benchmark?style=flat-square)](https://codeclimate.com/github/divineniiquaye/php-routers-benchmark)\n[![Quality Score](https://img.shields.io/scrutinizer/g/divineniiquaye/php-routers-benchmark.svg?style=flat-square)](https://scrutinizer-ci.com/g/divineniiquaye/php-routers-benchmark)\n[![Sponsor development of this project](https://img.shields.io/badge/sponsor%20this%20package-%E2%9D%A4-ff69b4.svg?style=flat-square)](https://biurad.com/sponsor)\n\nThe intent here is to benchmark and also inventory all popular PHP routing solutions around.\n\n## 📦 Installation \u0026 Basic Usage\n\nThis project requires [PHP] 7.4 or higher. The recommended way to install, is via [Composer] and [GitHub Ci](https://cli.github.com/) to clone the repo.:\n\n```bash\n$ gh repo clone divineniiquaye/php-routers-benchmark\n$ cd php-routers-benchmark \u0026\u0026 composer install\n$ php vendor/bin/phpbench run --report default\n```\n\n## 🧪 Benchmarking Process\n\nThe benchmarking process uses [phpbench](https://github.com/phpbench/phpbench). I can say of the benchmarks projects I've seen, my benchmark process is one of the best out there. With much reading and experimenting, I took inspiration from [Nikita Popov's](https://www.npopov.com/) blog post [\"Fast request routing using regular expressions\"](https://www.npopov.com/2014/02/18/Fast-request-routing-using-regular-expressions.html) and [Nicolas Grekas](https://nicolas-grekas.medium.com/) blog posts [Making Symfony’s Router 77.7x faster - 1/2](https://nicolas-grekas.medium.com/making-symfonys-router-77-7x-faster-1-2-958e3754f0e1), and [Making Symfony router lightning fast - 2/2 ](https://nicolas-grekas.medium.com/making-symfony-router-lightning-fast-2-2-19281dcd245b) in creating the benchmark process.\n\nAll router creates a total of about 1,600 unique routes, either up to, or lesser. With each having 400 for static paths, dynamic paths of 1 variable placeholders, a domain with static path, and a domain with dynamic path having 1 variable placeholder.\n\nBenchmarks runs on three cases:\n\n- **benchStaticRoutes**: match the best, average, worst, and invalid method route from the list of routing definitions. If domain is supported by router, matching is applied.\n- **benchDynamicRoutes**: match the best, average, worst, and invalid method route from the list of routing definitions. If domain is supported by router, matching is applied.\n- **benchOtherRoutes**: match other scenarios such as non existent route from routing definitions.\n- **benchRealStaticCase**: Runs both the dispatcher and scenerio all together against static routes and finds a match. If domain is supported by the router, matching is applied.\n- **benchRealDynamicCase**: Runs both the dispatcher and scenerio all together against dynamic routes and finds a match. If domain is supported by the router, matching is applied.\n\nAll the routers follows a set of [Parameterized Benchmarking](https://phpbench.readthedocs.io/en/latest/annotributes.html#id5):\n\n- in the first set of benchmarking, routers are to match only a single(GET) HTTP method.\n- in the second set of benchmarking, routers are to match all(GET,POST,PATCH,PUT,DELETE) HTTP methods.\n- in the third and last set of benchmarking, routers are to match the first set including a domain if available.\n\nBenchmarking were conducted on the following routers:\n\n- [Flight Routing](https://github.com/divineniiquaye/flight-routing)\n- [FastRoute](https://github.com/nikic/FastRoute)\n- [Symfony](https://github.com/symfony/routing)\n- [Laravel](https://github.com/illuminate/routing)\n- [Aura3](https://github.com/auraphp/Aura.Router)\n- [AltoRouter](https://github.com/altorouter/altorouter)\n- [Nette](https://github.com/nette/routing)\n- [Sunrise](https://github.com/sunrise-php/http-router)\n- [SpiralRouter](https://github.com/spiral/router)\n- [RareloopRouter](https://github.com/Rareloop/router)\n\n\n## ✳️ BenchMark Results\n\nThis is a benchmarked results runned on [GitHub Action] with Ubuntu 18, and PHP 7.4.\n\n```\nAltRouter\n+--------------------+----------------------------+----------+-------------+-------------+-------------+-------------+-----------+--------+\n| subject            | set                        | mem_peak | mode        | best        | mean        | worst       | stdev     | rstdev |\n+--------------------+----------------------------+----------+-------------+-------------+-------------+-------------+-----------+--------+\n| benchStaticRoutes  | GET Method,Best Case       | 3.821mb  | 2.389μs     | 2.260μs     | 2.356μs     | 2.430μs     | 0.065μs   | ±2.75% |\n| benchStaticRoutes  | ALL Methods,Best Case      | 3.823mb  | 10.865μs    | 10.770μs    | 10.948μs    | 11.210μs    | 0.167μs   | ±1.52% |\n| benchStaticRoutes  | GET Method,Average Case    | 3.821mb  | 923.173μs   | 879.470μs   | 913.298μs   | 955.430μs   | 29.595μs  | ±3.24% |\n| benchStaticRoutes  | ALL Methods,Average Case   | 3.823mb  | 4,639.312μs | 4,463.200μs | 4,613.920μs | 4,724.050μs | 84.770μs  | ±1.84% |\n| benchStaticRoutes  | GET Method,Worst Case      | 3.821mb  | 1,773.426μs | 1,689.640μs | 1,758.124μs | 1,812.670μs | 43.567μs  | ±2.48% |\n| benchStaticRoutes  | ALL Methods,Worst Case     | 3.823mb  | 9,706.135μs | 9,165.860μs | 9,613.744μs | 9,950.180μs | 268.004μs | ±2.79% |\n| benchStaticRoutes  | GET Method,Invalid Method  | 3.821mb  | 365.586μs   | 360.040μs   | 369.942μs   | 388.100μs   | 9.674μs   | ±2.61% |\n| benchStaticRoutes  | ALL Methods,Invalid Method | 3.823mb  | 351.925μs   | 328.770μs   | 344.936μs   | 353.420μs   | 10.263μs  | ±2.98% |\n| benchDynamicRoutes | GET Method,Best Case       | 3.821mb  | 4.439μs     | 4.370μs     | 4.510μs     | 4.730μs     | 0.130μs   | ±2.88% |\n| benchDynamicRoutes | ALL Methods,Best Case      | 3.823mb  | 25.765μs    | 25.470μs    | 26.050μs    | 27.220μs    | 0.617μs   | ±2.37% |\n| benchDynamicRoutes | GET Method,Average Case    | 3.821mb  | 916.927μs   | 906.630μs   | 929.296μs   | 953.610μs   | 18.711μs  | ±2.01% |\n| benchDynamicRoutes | ALL Methods,Average Case   | 3.823mb  | 4,609.892μs | 4,410.820μs | 4,619.008μs | 4,838.240μs | 137.662μs | ±2.98% |\n| benchDynamicRoutes | GET Method,Worst Case      | 3.821mb  | 1,716.790μs | 1,646.540μs | 1,694.282μs | 1,738.350μs | 36.871μs  | ±2.18% |\n| benchDynamicRoutes | ALL Methods,Worst Case     | 3.823mb  | 9,050.575μs | 8,659.000μs | 9,001.608μs | 9,270.910μs | 200.057μs | ±2.22% |\n| benchDynamicRoutes | GET Method,Invalid Method  | 3.821mb  | 338.236μs   | 334.790μs   | 343.004μs   | 351.560μs   | 7.228μs   | ±2.11% |\n| benchDynamicRoutes | ALL Methods,Invalid Method | 3.823mb  | 331.850μs   | 313.110μs   | 326.018μs   | 339.490μs   | 10.539μs  | ±3.23% |\n| benchOtherRoutes   | GET Method,Non Existent    | 3.821mb  | 680.405μs   | 662.230μs   | 675.868μs   | 692.680μs   | 11.828μs  | ±1.75% |\n| benchOtherRoutes   | ALL Methods,Non Existent   | 3.823mb  | 673.177μs   | 643.780μs   | 667.866μs   | 682.900μs   | 13.448μs  | ±2.01% |\n+--------------------+----------------------------+----------+-------------+-------------+-------------+-------------+-----------+--------+\n\nSymfonyRouter\n+--------------------+--------------------------------+----------+-----------+-----------+-----------+-----------+---------+--------+\n| subject            | set                            | mem_peak | mode      | best      | mean      | worst     | stdev   | rstdev |\n+--------------------+--------------------------------+----------+-----------+-----------+-----------+-----------+---------+--------+\n| benchStaticRoutes  | GET Method,Best Case           | 10.927mb | 0.754μs   | 0.700μs   | 0.736μs   | 0.760μs   | 0.026μs | ±3.50% |\n| benchStaticRoutes  | ALL Methods,Best Case          | 10.929mb | 3.693μs   | 3.650μs   | 3.750μs   | 3.850μs   | 0.084μs | ±2.23% |\n| benchStaticRoutes  | GET Method,Host,Best Case      | 10.927mb | 0.911μs   | 0.880μs   | 0.916μs   | 0.960μs   | 0.027μs | ±2.90% |\n| benchStaticRoutes  | GET Method,Average Case        | 10.927mb | 0.787μs   | 0.740μs   | 0.772μs   | 0.800μs   | 0.023μs | ±3.00% |\n| benchStaticRoutes  | ALL Methods,Average Case       | 10.929mb | 3.682μs   | 3.460μs   | 3.630μs   | 3.720μs   | 0.096μs | ±2.64% |\n| benchStaticRoutes  | GET Method,Host,Average Case   | 10.927mb | 0.873μs   | 0.870μs   | 0.882μs   | 0.910μs   | 0.016μs | ±1.81% |\n| benchStaticRoutes  | GET Method,Worst Case          | 10.927mb | 0.712μs   | 0.710μs   | 0.734μs   | 0.770μs   | 0.029μs | ±4.00% |\n| benchStaticRoutes  | ALL Methods,Worst Case         | 10.929mb | 3.921μs   | 3.770μs   | 3.886μs   | 3.960μs   | 0.070μs | ±1.80% |\n| benchStaticRoutes  | GET Method,Host,Worst Case     | 10.927mb | 1.036μs   | 1.020μs   | 1.044μs   | 1.080μs   | 0.021μs | ±1.97% |\n| benchStaticRoutes  | GET Method,Invalid Method      | 10.928mb | 32.052μs  | 30.750μs  | 32.264μs  | 33.570μs  | 1.025μs | ±3.18% |\n| benchStaticRoutes  | ALL Methods,Invalid Method     | 10.930mb | 35.218μs  | 34.320μs  | 35.354μs  | 36.280μs  | 0.711μs | ±2.01% |\n| benchStaticRoutes  | GET Method,Host,Invalid Method | 10.928mb | 42.178μs  | 40.470μs  | 41.862μs  | 42.950μs  | 0.860μs | ±2.05% |\n| benchDynamicRoutes | GET Method,Best Case           | 10.927mb | 1.457μs   | 1.380μs   | 1.450μs   | 1.510μs   | 0.042μs | ±2.89% |\n| benchDynamicRoutes | ALL Methods,Best Case          | 10.929mb | 6.959μs   | 6.890μs   | 6.946μs   | 7.010μs   | 0.046μs | ±0.66% |\n| benchDynamicRoutes | GET Method,Host,Best Case      | 10.928mb | 1.723μs   | 1.600μs   | 1.684μs   | 1.750μs   | 0.059μs | ±3.47% |\n| benchDynamicRoutes | GET Method,Average Case        | 10.927mb | 10.149μs  | 9.950μs   | 10.296μs  | 10.750μs  | 0.307μs | ±2.98% |\n| benchDynamicRoutes | ALL Methods,Average Case       | 10.929mb | 43.967μs  | 41.970μs  | 43.774μs  | 45.230μs  | 1.145μs | ±2.62% |\n| benchDynamicRoutes | GET Method,Host,Average Case   | 10.928mb | 13.610μs  | 13.300μs  | 13.956μs  | 14.630μs  | 0.556μs | ±3.98% |\n| benchDynamicRoutes | GET Method,Worst Case          | 10.927mb | 38.278μs  | 37.710μs  | 38.842μs  | 40.500μs  | 1.033μs | ±2.66% |\n| benchDynamicRoutes | ALL Methods,Worst Case         | 10.929mb | 174.277μs | 166.900μs | 172.126μs | 175.240μs | 3.270μs | ±1.90% |\n| benchDynamicRoutes | GET Method,Host,Worst Case     | 10.928mb | 48.584μs  | 46.720μs  | 48.462μs  | 50.050μs  | 1.074μs | ±2.22% |\n| benchDynamicRoutes | GET Method,Invalid Method      | 10.928mb | 101.335μs | 98.380μs  | 101.494μs | 104.860μs | 2.129μs | ±2.10% |\n| benchDynamicRoutes | ALL Methods,Invalid Method     | 10.930mb | 100.500μs | 97.140μs  | 99.970μs  | 102.770μs | 2.028μs | ±2.03% |\n| benchDynamicRoutes | GET Method,Host,Invalid Method | 10.928mb | 113.796μs | 111.480μs | 113.526μs | 115.360μs | 1.346μs | ±1.19% |\n| benchOtherRoutes   | GET Method,Non Existent        | 10.928mb | 23.476μs  | 23.050μs  | 23.664μs  | 24.330μs  | 0.459μs | ±1.94% |\n| benchOtherRoutes   | ALL Methods,Non Existent       | 10.930mb | 24.521μs  | 24.060μs  | 24.850μs  | 25.990μs  | 0.676μs | ±2.72% |\n| benchOtherRoutes   | GET Method,Host,Non Existent   | 10.928mb | 31.181μs  | 30.650μs  | 31.570μs  | 32.560μs  | 0.707μs | ±2.24% |\n+--------------------+--------------------------------+----------+-----------+-----------+-----------+-----------+---------+--------+\n\nNetteRouter\n+--------------------+--------------------------------+----------+--------------+--------------+--------------+--------------+-----------+--------+\n| subject            | set                            | mem_peak | mode         | best         | mean         | worst        | stdev     | rstdev |\n+--------------------+--------------------------------+----------+--------------+--------------+--------------+--------------+-----------+--------+\n| benchStaticRoutes  | GET Method,Best Case           | 3.821mb  | 3.627μs      | 3.390μs      | 3.544μs      | 3.700μs      | 0.129μs   | ±3.63% |\n| benchStaticRoutes  | ALL Methods,Best Case          | 3.823mb  | 11.936μs     | 11.680μs     | 12.048μs     | 12.600μs     | 0.329μs   | ±2.73% |\n| benchStaticRoutes  | GET Method,Host,Best Case      | 3.821mb  | 9.285μs      | 8.900μs      | 9.254μs      | 9.560μs      | 0.210μs   | ±2.27% |\n| benchStaticRoutes  | GET Method,Average Case        | 3.821mb  | 1,422.536μs  | 1,411.090μs  | 1,433.966μs  | 1,481.560μs  | 24.873μs  | ±1.73% |\n| benchStaticRoutes  | ALL Methods,Average Case       | 3.823mb  | 7,129.844μs  | 6,928.670μs  | 7,161.348μs  | 7,442.670μs  | 172.903μs | ±2.41% |\n| benchStaticRoutes  | GET Method,Host,Average Case   | 3.821mb  | 1,578.265μs  | 1,528.020μs  | 1,567.490μs  | 1,606.060μs  | 27.925μs  | ±1.78% |\n| benchStaticRoutes  | GET Method,Worst Case          | 3.821mb  | 2,853.845μs  | 2,663.060μs  | 2,787.248μs  | 2,906.180μs  | 99.248μs  | ±3.56% |\n| benchStaticRoutes  | ALL Methods,Worst Case         | 3.823mb  | 14,465.322μs | 13,861.570μs | 14,330.318μs | 14,711.480μs | 297.480μs | ±2.08% |\n| benchStaticRoutes  | GET Method,Host,Worst Case     | 3.821mb  | 3,206.385μs  | 3,058.870μs  | 3,193.802μs  | 3,316.140μs  | 84.112μs  | ±2.63% |\n| benchStaticRoutes  | GET Method,Invalid Method      | 3.821mb  | 2,924.171μs  | 2,827.470μs  | 2,927.256μs  | 3,030.820μs  | 65.537μs  | ±2.24% |\n| benchStaticRoutes  | ALL Methods,Invalid Method     | 3.823mb  | 2,732.412μs  | 2,670.370μs  | 2,726.330μs  | 2,772.970μs  | 34.253μs  | ±1.26% |\n| benchStaticRoutes  | GET Method,Host,Invalid Method | 3.821mb  | 3,283.922μs  | 3,056.440μs  | 3,205.506μs  | 3,311.360μs  | 108.028μs | ±3.37% |\n| benchDynamicRoutes | GET Method,Best Case           | 3.821mb  | 2,900.881μs  | 2,807.160μs  | 2,876.032μs  | 2,926.590μs  | 44.232μs  | ±1.54% |\n| benchDynamicRoutes | ALL Methods,Best Case          | 3.823mb  | 14,667.582μs | 14,112.860μs | 14,505.492μs | 14,745.590μs | 249.966μs | ±1.72% |\n| benchDynamicRoutes | GET Method,Host,Best Case      | 3.821mb  | 13.013μs     | 12.750μs     | 13.074μs     | 13.330μs     | 0.224μs   | ±1.71% |\n| benchDynamicRoutes | GET Method,Average Case        | 3.821mb  | 2,776.206μs  | 2,733.860μs  | 2,817.442μs  | 2,934.220μs  | 73.152μs  | ±2.60% |\n| benchDynamicRoutes | ALL Methods,Average Case       | 3.823mb  | 14,324.938μs | 13,812.690μs | 14,294.906μs | 14,697.010μs | 312.430μs | ±2.19% |\n| benchDynamicRoutes | GET Method,Host,Average Case   | 3.821mb  | 1,690.389μs  | 1,646.280μs  | 1,702.876μs  | 1,778.090μs  | 50.613μs  | ±2.97% |\n| benchDynamicRoutes | GET Method,Worst Case          | 3.821mb  | 2,775.092μs  | 2,731.520μs  | 2,810.660μs  | 2,945.610μs  | 74.685μs  | ±2.66% |\n| benchDynamicRoutes | ALL Methods,Worst Case         | 3.823mb  | 15,329.444μs | 14,192.750μs | 14,916.140μs | 15,390.380μs | 555.937μs | ±3.73% |\n| benchDynamicRoutes | GET Method,Host,Worst Case     | 3.821mb  | 3,163.592μs  | 3,117.560μs  | 3,258.352μs  | 3,419.130μs  | 134.609μs | ±4.13% |\n| benchDynamicRoutes | GET Method,Invalid Method      | 3.821mb  | 2,957.606μs  | 2,832.390μs  | 2,932.662μs  | 2,994.790μs  | 56.072μs  | ±1.91% |\n| benchDynamicRoutes | ALL Methods,Invalid Method     | 3.823mb  | 2,952.960μs  | 2,881.570μs  | 2,949.850μs  | 3,017.690μs  | 45.156μs  | ±1.53% |\n| benchDynamicRoutes | GET Method,Host,Invalid Method | 3.822mb  | 3,414.900μs  | 3,287.270μs  | 3,368.276μs  | 3,438.590μs  | 65.406μs  | ±1.94% |\n| benchOtherRoutes   | GET Method,Non Existent        | 3.821mb  | 2,732.750μs  | 2,670.240μs  | 2,770.818μs  | 2,884.620μs  | 77.167μs  | ±2.78% |\n| benchOtherRoutes   | ALL Methods,Non Existent       | 3.823mb  | 3,018.665μs  | 2,997.150μs  | 3,083.978μs  | 3,208.580μs  | 90.691μs  | ±2.94% |\n| benchOtherRoutes   | GET Method,Host,Non Existent   | 3.822mb  | 3,498.465μs  | 3,351.290μs  | 3,448.058μs  | 3,531.210μs  | 73.813μs  | ±2.14% |\n+--------------------+--------------------------------+----------+--------------+--------------+--------------+--------------+-----------+--------+\n\nLaravelRouter\n+--------------------+--------------------------------+----------+-------------+-------------+-------------+-------------+-----------+--------+\n| subject            | set                            | mem_peak | mode        | best        | mean        | worst       | stdev     | rstdev |\n+--------------------+--------------------------------+----------+-------------+-------------+-------------+-------------+-----------+--------+\n| benchStaticRoutes  | GET Method,Best Case           | 4.802mb  | 370.056μs   | 366.210μs   | 373.564μs   | 387.570μs   | 7.476μs   | ±2.00% |\n| benchStaticRoutes  | ALL Methods,Best Case          | 4.805mb  | 1,951.235μs | 1,865.890μs | 1,956.104μs | 2,053.870μs | 60.089μs  | ±3.07% |\n| benchStaticRoutes  | GET Method,Host,Best Case      | 4.808mb  | 374.402μs   | 370.290μs   | 378.704μs   | 387.100μs   | 6.713μs   | ±1.77% |\n| benchStaticRoutes  | GET Method,Average Case        | 6.496mb  | 929.457μs   | 894.660μs   | 923.328μs   | 943.780μs   | 16.810μs  | ±1.82% |\n| benchStaticRoutes  | ALL Methods,Average Case       | 6.498mb  | 4,720.229μs | 4,641.470μs | 4,705.710μs | 4,744.400μs | 34.792μs  | ±0.74% |\n| benchStaticRoutes  | GET Method,Host,Average Case   | 6.501mb  | 994.378μs   | 964.700μs   | 1,002.212μs | 1,045.800μs | 28.580μs  | ±2.85% |\n| benchStaticRoutes  | GET Method,Worst Case          | 8.231mb  | 1,508.129μs | 1,472.480μs | 1,502.304μs | 1,530.310μs | 20.005μs  | ±1.33% |\n| benchStaticRoutes  | ALL Methods,Worst Case         | 8.233mb  | 7,411.741μs | 6,930.010μs | 7,241.174μs | 7,458.260μs | 233.675μs | ±3.23% |\n| benchStaticRoutes  | GET Method,Host,Worst Case     | 8.235mb  | 1,439.478μs | 1,420.090μs | 1,449.722μs | 1,494.580μs | 26.090μs  | ±1.80% |\n| benchStaticRoutes  | GET Method,Invalid Method      | 7.982mb  | 8,050.928μs | 7,981.780μs | 8,171.246μs | 8,383.310μs | 169.711μs | ±2.08% |\n| benchStaticRoutes  | ALL Methods,Invalid Method     | 7.984mb  | 7,929.691μs | 7,862.880μs | 8,013.728μs | 8,357.670μs | 180.310μs | ±2.25% |\n| benchStaticRoutes  | GET Method,Host,Invalid Method | 7.986mb  | 8,053.369μs | 7,980.780μs | 8,165.780μs | 8,475.350μs | 188.474μs | ±2.31% |\n| benchDynamicRoutes | GET Method,Best Case           | 4.806mb  | 359.106μs   | 349.390μs   | 355.816μs   | 362.120μs   | 5.075μs   | ±1.43% |\n| benchDynamicRoutes | ALL Methods,Best Case          | 4.808mb  | 1,879.958μs | 1,871.220μs | 1,888.060μs | 1,921.390μs | 18.325μs  | ±0.97% |\n| benchDynamicRoutes | GET Method,Host,Best Case      | 4.813mb  | 397.491μs   | 387.230μs   | 394.152μs   | 400.920μs   | 5.371μs   | ±1.36% |\n| benchDynamicRoutes | GET Method,Average Case        | 6.499mb  | 965.789μs   | 947.590μs   | 991.580μs   | 1,037.010μs | 37.870μs  | ±3.82% |\n| benchDynamicRoutes | ALL Methods,Average Case       | 6.501mb  | 4,884.076μs | 4,553.490μs | 4,775.902μs | 4,970.600μs | 167.465μs | ±3.51% |\n| benchDynamicRoutes | GET Method,Host,Average Case   | 6.505mb  | 917.160μs   | 886.790μs   | 922.382μs   | 965.970μs   | 25.341μs  | ±2.75% |\n| benchDynamicRoutes | GET Method,Worst Case          | 8.234mb  | 1,403.957μs | 1,372.030μs | 1,414.600μs | 1,449.350μs | 29.503μs  | ±2.09% |\n| benchDynamicRoutes | ALL Methods,Worst Case         | 8.236mb  | 7,091.919μs | 6,989.190μs | 7,166.728μs | 7,372.360μs | 140.419μs | ±1.96% |\n| benchDynamicRoutes | GET Method,Host,Worst Case     | 8.239mb  | 1,523.220μs | 1,458.720μs | 1,504.490μs | 1,552.890μs | 36.553μs  | ±2.43% |\n| benchDynamicRoutes | GET Method,Invalid Method      | 7.984mb  | 8,396.410μs | 8,035.270μs | 8,266.256μs | 8,456.600μs | 180.815μs | ±2.19% |\n| benchDynamicRoutes | ALL Methods,Invalid Method     | 7.986mb  | 8,154.782μs | 7,815.470μs | 8,055.116μs | 8,253.320μs | 167.206μs | ±2.08% |\n| benchDynamicRoutes | GET Method,Host,Invalid Method | 7.990mb  | 8,129.809μs | 7,956.750μs | 8,197.858μs | 8,550.260μs | 195.707μs | ±2.39% |\n| benchOtherRoutes   | GET Method,Non Existent        | 7.989mb  | 7,722.918μs | 7,615.330μs | 7,801.348μs | 8,143.960μs | 180.045μs | ±2.31% |\n| benchOtherRoutes   | ALL Methods,Non Existent       | 7.991mb  | 7,987.794μs | 7,946.960μs | 8,015.622μs | 8,113.890μs | 58.234μs  | ±0.73% |\n| benchOtherRoutes   | GET Method,Host,Non Existent   | 7.989mb  | 8,395.811μs | 8,279.560μs | 8,538.840μs | 8,796.120μs | 214.642μs | ±2.51% |\n+--------------------+--------------------------------+----------+-------------+-------------+-------------+-------------+-----------+--------+\n\nSpiralRouter\n+--------------------+----------------------------+----------+-------------+-------------+-------------+-------------+----------+--------+\n| subject            | set                        | mem_peak | mode        | best        | mean        | worst       | stdev    | rstdev |\n+--------------------+----------------------------+----------+-------------+-------------+-------------+-------------+----------+--------+\n| benchStaticRoutes  | GET Method,Best Case       | 3.821mb  | 25.471μs    | 24.110μs    | 25.172μs    | 25.810μs    | 0.620μs  | ±2.46% |\n| benchStaticRoutes  | ALL Methods,Best Case      | 3.823mb  | 127.461μs   | 119.400μs   | 124.808μs   | 130.810μs   | 4.681μs  | ±3.75% |\n| benchStaticRoutes  | GET Method,Average Case    | 3.821mb  | 329.920μs   | 324.370μs   | 333.680μs   | 349.470μs   | 8.586μs  | ±2.57% |\n| benchStaticRoutes  | ALL Methods,Average Case   | 3.823mb  | 1,727.256μs | 1,703.730μs | 1,758.482μs | 1,825.160μs | 48.087μs | ±2.73% |\n| benchStaticRoutes  | GET Method,Worst Case      | 3.821mb  | 681.682μs   | 651.790μs   | 675.922μs   | 694.220μs   | 14.828μs | ±2.19% |\n| benchStaticRoutes  | ALL Methods,Worst Case     | 3.823mb  | 3,385.078μs | 3,244.860μs | 3,354.114μs | 3,410.720μs | 61.291μs | ±1.83% |\n| benchStaticRoutes  | GET Method,Invalid Method  | 3.821mb  | 162.513μs   | 159.480μs   | 165.284μs   | 170.630μs   | 4.534μs  | ±2.74% |\n| benchStaticRoutes  | ALL Methods,Invalid Method | 3.823mb  | 167.670μs   | 158.450μs   | 165.188μs   | 171.950μs   | 5.057μs  | ±3.06% |\n| benchDynamicRoutes | GET Method,Best Case       | 3.821mb  | 28.709μs    | 27.700μs    | 28.356μs    | 28.910μs    | 0.511μs  | ±1.80% |\n| benchDynamicRoutes | ALL Methods,Best Case      | 3.823mb  | 132.150μs   | 130.210μs   | 133.254μs   | 138.140μs   | 2.688μs  | ±2.02% |\n| benchDynamicRoutes | GET Method,Average Case    | 3.821mb  | 378.062μs   | 361.430μs   | 374.370μs   | 381.570μs   | 7.398μs  | ±1.98% |\n| benchDynamicRoutes | ALL Methods,Average Case   | 3.823mb  | 1,836.421μs | 1,807.780μs | 1,852.808μs | 1,926.770μs | 39.961μs | ±2.16% |\n| benchDynamicRoutes | GET Method,Worst Case      | 3.821mb  | 676.017μs   | 660.400μs   | 674.920μs   | 688.110μs   | 9.488μs  | ±1.41% |\n| benchDynamicRoutes | ALL Methods,Worst Case     | 3.823mb  | 3,413.022μs | 3,323.450μs | 3,405.426μs | 3,475.010μs | 51.352μs | ±1.51% |\n| benchDynamicRoutes | GET Method,Invalid Method  | 3.821mb  | 173.010μs   | 167.690μs   | 173.098μs   | 178.740μs   | 3.622μs  | ±2.09% |\n| benchDynamicRoutes | ALL Methods,Invalid Method | 3.823mb  | 170.745μs   | 168.300μs   | 172.420μs   | 178.800μs   | 3.668μs  | ±2.13% |\n| benchOtherRoutes   | GET Method,Non Existent    | 3.821mb  | 610.431μs   | 604.170μs   | 614.858μs   | 631.990μs   | 10.208μs | ±1.66% |\n| benchOtherRoutes   | ALL Methods,Non Existent   | 3.823mb  | 569.109μs   | 565.820μs   | 578.954μs   | 598.770μs   | 13.878μs | ±2.40% |\n+--------------------+----------------------------+----------+-------------+-------------+-------------+-------------+----------+--------+\n\nFlightRouting\n+--------------------+--------------------------------+----------+-----------+-----------+-----------+-----------+---------+--------+\n| subject            | set                            | mem_peak | mode      | best      | mean      | worst     | stdev   | rstdev |\n+--------------------+--------------------------------+----------+-----------+-----------+-----------+-----------+---------+--------+\n| benchStaticRoutes  | GET Method,Best Case           | 3.821mb  | 1.525μs   | 1.460μs   | 1.508μs   | 1.540μs   | 0.029μs | ±1.94% |\n| benchStaticRoutes  | ALL Methods,Best Case          | 3.823mb  | 3.701μs   | 3.550μs   | 3.684μs   | 3.800μs   | 0.083μs | ±2.24% |\n| benchStaticRoutes  | GET Method,Host,Best Case      | 3.821mb  | 2.509μs   | 2.360μs   | 2.472μs   | 2.550μs   | 0.069μs | ±2.77% |\n| benchStaticRoutes  | GET Method,Average Case        | 3.821mb  | 1.723μs   | 1.700μs   | 1.766μs   | 1.850μs   | 0.062μs | ±3.52% |\n| benchStaticRoutes  | ALL Methods,Average Case       | 3.823mb  | 3.597μs   | 3.390μs   | 3.556μs   | 3.620μs   | 0.085μs | ±2.40% |\n| benchStaticRoutes  | GET Method,Host,Average Case   | 3.821mb  | 2.501μs   | 2.380μs   | 2.480μs   | 2.560μs   | 0.062μs | ±2.49% |\n| benchStaticRoutes  | GET Method,Worst Case          | 3.821mb  | 1.571μs   | 1.540μs   | 1.582μs   | 1.640μs   | 0.033μs | ±2.09% |\n| benchStaticRoutes  | ALL Methods,Worst Case         | 3.823mb  | 3.320μs   | 3.240μs   | 3.306μs   | 3.350μs   | 0.037μs | ±1.13% |\n| benchStaticRoutes  | GET Method,Host,Worst Case     | 3.821mb  | 2.126μs   | 2.010μs   | 2.106μs   | 2.170μs   | 0.053μs | ±2.52% |\n| benchStaticRoutes  | GET Method,Invalid Method      | 3.821mb  | 2.905μs   | 2.770μs   | 2.888μs   | 2.980μs   | 0.070μs | ±2.41% |\n| benchStaticRoutes  | ALL Methods,Invalid Method     | 3.823mb  | 2.884μs   | 2.860μs   | 2.908μs   | 2.970μs   | 0.042μs | ±1.43% |\n| benchStaticRoutes  | GET Method,Host,Invalid Method | 3.822mb  | 3.095μs   | 3.010μs   | 3.166μs   | 3.310μs   | 0.121μs | ±3.81% |\n| benchDynamicRoutes | GET Method,Best Case           | 3.821mb  | 3.154μs   | 2.930μs   | 3.082μs   | 3.170μs   | 0.102μs | ±3.30% |\n| benchDynamicRoutes | ALL Methods,Best Case          | 3.823mb  | 7.583μs   | 7.410μs   | 7.794μs   | 8.180μs   | 0.325μs | ±4.17% |\n| benchDynamicRoutes | GET Method,Host,Best Case      | 3.821mb  | 3.121μs   | 2.990μs   | 3.146μs   | 3.290μs   | 0.107μs | ±3.42% |\n| benchDynamicRoutes | GET Method,Average Case        | 3.821mb  | 20.208μs  | 19.510μs  | 20.002μs  | 20.290μs  | 0.313μs | ±1.56% |\n| benchDynamicRoutes | ALL Methods,Average Case       | 3.823mb  | 53.069μs  | 52.710μs  | 53.288μs  | 54.290μs  | 0.530μs | ±0.99% |\n| benchDynamicRoutes | GET Method,Host,Average Case   | 3.821mb  | 35.165μs  | 34.770μs  | 36.010μs  | 37.740μs  | 1.203μs | ±3.34% |\n| benchDynamicRoutes | GET Method,Worst Case          | 3.821mb  | 55.834μs  | 54.370μs  | 56.354μs  | 57.950μs  | 1.394μs | ±2.47% |\n| benchDynamicRoutes | ALL Methods,Worst Case         | 3.823mb  | 265.696μs | 251.890μs | 261.062μs | 269.310μs | 7.225μs | ±2.77% |\n| benchDynamicRoutes | GET Method,Host,Worst Case     | 3.821mb  | 79.049μs  | 73.440μs  | 77.248μs  | 80.660μs  | 2.817μs | ±3.65% |\n| benchDynamicRoutes | GET Method,Invalid Method      | 3.821mb  | 60.263μs  | 58.360μs  | 59.702μs  | 61.130μs  | 1.074μs | ±1.80% |\n| benchDynamicRoutes | ALL Methods,Invalid Method     | 3.823mb  | 59.487μs  | 56.020μs  | 58.804μs  | 60.150μs  | 1.490μs | ±2.53% |\n| benchDynamicRoutes | GET Method,Host,Invalid Method | 3.822mb  | 77.303μs  | 77.130μs  | 78.590μs  | 80.820μs  | 1.721μs | ±2.19% |\n| benchOtherRoutes   | GET Method,Non Existent        | 3.821mb  | 5.143μs   | 5.060μs   | 5.150μs   | 5.240μs   | 0.061μs | ±1.19% |\n| benchOtherRoutes   | ALL Methods,Non Existent       | 3.823mb  | 4.667μs   | 4.580μs   | 4.688μs   | 4.830μs   | 0.080μs | ±1.71% |\n| benchOtherRoutes   | GET Method,Host,Non Existent   | 3.822mb  | 57.971μs  | 57.020μs  | 58.604μs  | 61.360μs  | 1.508μs | ±2.57% |\n+--------------------+--------------------------------+----------+-----------+-----------+-----------+-----------+---------+--------+\n\nSunriseRouter\n+--------------------+--------------------------------+----------+-------------+-------------+-------------+-------------+-----------+--------+\n| subject            | set                            | mem_peak | mode        | best        | mean        | worst       | stdev     | rstdev |\n+--------------------+--------------------------------+----------+-------------+-------------+-------------+-------------+-----------+--------+\n| benchStaticRoutes  | GET Method,Best Case           | 3.823mb  | 19.662μs    | 19.190μs    | 19.532μs    | 19.810μs    | 0.231μs   | ±1.18% |\n| benchStaticRoutes  | ALL Methods,Best Case          | 3.825mb  | 70.214μs    | 65.900μs    | 68.886μs    | 71.890μs    | 2.319μs   | ±3.37% |\n| benchStaticRoutes  | GET Method,Host,Best Case      | 3.823mb  | 29.096μs    | 27.090μs    | 28.462μs    | 29.430μs    | 0.925μs   | ±3.25% |\n| benchStaticRoutes  | GET Method,Average Case        | 3.823mb  | 452.769μs   | 447.040μs   | 462.832μs   | 481.080μs   | 14.185μs  | ±3.06% |\n| benchStaticRoutes  | ALL Methods,Average Case       | 3.825mb  | 2,280.778μs | 2,256.910μs | 2,317.024μs | 2,421.730μs | 62.277μs  | ±2.69% |\n| benchStaticRoutes  | GET Method,Host,Average Case   | 3.823mb  | 849.950μs   | 819.040μs   | 851.082μs   | 883.510μs   | 21.167μs  | ±2.49% |\n| benchStaticRoutes  | GET Method,Worst Case          | 3.823mb  | 922.166μs   | 892.930μs   | 916.722μs   | 934.200μs   | 14.142μs  | ±1.54% |\n| benchStaticRoutes  | ALL Methods,Worst Case         | 3.825mb  | 4,742.166μs | 4,712.300μs | 4,777.300μs | 4,860.470μs | 58.159μs  | ±1.22% |\n| benchStaticRoutes  | GET Method,Host,Worst Case     | 3.823mb  | 1,814.726μs | 1,790.800μs | 1,819.406μs | 1,855.490μs | 20.735μs  | ±1.14% |\n| benchStaticRoutes  | GET Method,Invalid Method      | 3.821mb  | 920.918μs   | 861.630μs   | 906.374μs   | 931.760μs   | 25.916μs  | ±2.86% |\n| benchStaticRoutes  | ALL Methods,Invalid Method     | 3.823mb  | 922.356μs   | 867.760μs   | 904.810μs   | 932.640μs   | 25.763μs  | ±2.85% |\n| benchStaticRoutes  | GET Method,Host,Invalid Method | 3.821mb  | 1,930.449μs | 1,863.000μs | 1,909.464μs | 1,946.860μs | 32.245μs  | ±1.69% |\n| benchDynamicRoutes | GET Method,Best Case           | 3.823mb  | 27.409μs    | 26.800μs    | 27.778μs    | 28.890μs    | 0.796μs   | ±2.87% |\n| benchDynamicRoutes | ALL Methods,Best Case          | 3.825mb  | 92.879μs    | 91.740μs    | 93.652μs    | 96.630μs    | 1.799μs   | ±1.92% |\n| benchDynamicRoutes | GET Method,Host,Best Case      | 3.823mb  | 33.976μs    | 32.830μs    | 33.896μs    | 34.850μs    | 0.647μs   | ±1.91% |\n| benchDynamicRoutes | GET Method,Average Case        | 3.823mb  | 488.937μs   | 485.070μs   | 492.534μs   | 505.030μs   | 7.257μs   | ±1.47% |\n| benchDynamicRoutes | ALL Methods,Average Case       | 3.825mb  | 2,494.651μs | 2,441.520μs | 2,506.358μs | 2,589.880μs | 51.826μs  | ±2.07% |\n| benchDynamicRoutes | GET Method,Host,Average Case   | 3.823mb  | 845.624μs   | 838.710μs   | 855.732μs   | 873.350μs   | 14.680μs  | ±1.72% |\n| benchDynamicRoutes | GET Method,Worst Case          | 3.823mb  | 989.853μs   | 923.600μs   | 967.166μs   | 1,004.400μs | 32.776μs  | ±3.39% |\n| benchDynamicRoutes | ALL Methods,Worst Case         | 3.825mb  | 4,601.303μs | 4,534.540μs | 4,684.278μs | 4,875.700μs | 131.146μs | ±2.80% |\n| benchDynamicRoutes | GET Method,Host,Worst Case     | 3.823mb  | 1,724.124μs | 1,718.830μs | 1,752.134μs | 1,806.100μs | 38.449μs  | ±2.19% |\n| benchDynamicRoutes | GET Method,Invalid Method      | 3.821mb  | 926.968μs   | 872.220μs   | 907.970μs   | 941.640μs   | 28.559μs  | ±3.15% |\n| benchDynamicRoutes | ALL Methods,Invalid Method     | 3.823mb  | 977.172μs   | 924.010μs   | 964.788μs   | 1,002.980μs | 29.174μs  | ±3.02% |\n| benchDynamicRoutes | GET Method,Host,Invalid Method | 3.821mb  | 1,663.346μs | 1,626.430μs | 1,664.532μs | 1,704.380μs | 24.825μs  | ±1.49% |\n| benchOtherRoutes   | GET Method,Non Existent        | 3.821mb  | 932.819μs   | 886.290μs   | 925.038μs   | 951.790μs   | 22.631μs  | ±2.45% |\n| benchOtherRoutes   | ALL Methods,Non Existent       | 3.823mb  | 932.963μs   | 901.790μs   | 929.418μs   | 952.040μs   | 16.270μs  | ±1.75% |\n| benchOtherRoutes   | GET Method,Host,Non Existent   | 3.821mb  | 1,656.362μs | 1,642.220μs | 1,678.080μs | 1,734.870μs | 36.191μs  | ±2.16% |\n+--------------------+--------------------------------+----------+-------------+-------------+-------------+-------------+-----------+--------+\n\nFastRoute\n+--------------------+----------------------------+----------+----------+----------+----------+----------+---------+--------+\n| subject            | set                        | mem_peak | mode     | best     | mean     | worst    | stdev   | rstdev |\n+--------------------+----------------------------+----------+----------+----------+----------+----------+---------+--------+\n| benchStaticRoutes  | GET Method,Best Case       | 3.821mb  | 0.286μs  | 0.270μs  | 0.280μs  | 0.290μs  | 0.009μs | ±3.19% |\n| benchStaticRoutes  | ALL Methods,Best Case      | 3.823mb  | 1.006μs  | 0.990μs  | 1.020μs  | 1.070μs  | 0.028μs | ±2.77% |\n| benchStaticRoutes  | GET Method,Average Case    | 3.821mb  | 0.276μs  | 0.270μs  | 0.278μs  | 0.290μs  | 0.007μs | ±2.69% |\n| benchStaticRoutes  | ALL Methods,Average Case   | 3.823mb  | 1.047μs  | 1.030μs  | 1.060μs  | 1.100μs  | 0.028μs | ±2.60% |\n| benchStaticRoutes  | GET Method,Worst Case      | 3.821mb  | 0.260μs  | 0.250μs  | 0.260μs  | 0.270μs  | 0.009μs | ±3.44% |\n| benchStaticRoutes  | ALL Methods,Worst Case     | 3.823mb  | 1.012μs  | 0.990μs  | 1.034μs  | 1.080μs  | 0.035μs | ±3.38% |\n| benchStaticRoutes  | GET Method,Invalid Method  | 3.821mb  | 13.562μs | 13.360μs | 13.714μs | 14.300μs | 0.328μs | ±2.39% |\n| benchStaticRoutes  | ALL Methods,Invalid Method | 3.823mb  | 12.969μs | 12.750μs | 13.128μs | 13.740μs | 0.345μs | ±2.63% |\n| benchDynamicRoutes | GET Method,Best Case       | 3.821mb  | 0.820μs  | 0.770μs  | 0.808μs  | 0.840μs  | 0.025μs | ±3.07% |\n| benchDynamicRoutes | ALL Methods,Best Case      | 3.823mb  | 4.033μs  | 3.990μs  | 4.062μs  | 4.180μs  | 0.067μs | ±1.64% |\n| benchDynamicRoutes | GET Method,Average Case    | 3.821mb  | 2.672μs  | 2.580μs  | 2.688μs  | 2.790μs  | 0.074μs | ±2.77% |\n| benchDynamicRoutes | ALL Methods,Average Case   | 3.823mb  | 18.676μs | 18.440μs | 18.748μs | 19.140μs | 0.236μs | ±1.26% |\n| benchDynamicRoutes | GET Method,Worst Case      | 3.821mb  | 5.892μs  | 5.800μs  | 5.948μs  | 6.190μs  | 0.133μs | ±2.23% |\n| benchDynamicRoutes | ALL Methods,Worst Case     | 3.823mb  | 40.126μs | 37.550μs | 39.208μs | 40.590μs | 1.281μs | ±3.27% |\n| benchDynamicRoutes | GET Method,Invalid Method  | 3.821mb  | 40.241μs | 39.010μs | 39.784μs | 40.450μs | 0.630μs | ±1.58% |\n| benchDynamicRoutes | ALL Methods,Invalid Method | 3.823mb  | 42.587μs | 41.260μs | 42.940μs | 45.070μs | 1.262μs | ±2.94% |\n| benchOtherRoutes   | GET Method,Non Existent    | 3.821mb  | 12.803μs | 12.700μs | 13.032μs | 13.430μs | 0.317μs | ±2.43% |\n| benchOtherRoutes   | ALL Methods,Non Existent   | 3.823mb  | 12.709μs | 12.450μs | 12.748μs | 13.150μs | 0.263μs | ±2.07% |\n+--------------------+----------------------------+----------+----------+----------+----------+----------+---------+--------+\n\nAuraRouter\n+--------------------+--------------------------------+----------+--------------+--------------+--------------+--------------+-----------+--------+\n| subject            | set                            | mem_peak | mode         | best         | mean         | worst        | stdev     | rstdev |\n+--------------------+--------------------------------+----------+--------------+--------------+--------------+--------------+-----------+--------+\n| benchStaticRoutes  | GET Method,Best Case           | 3.821mb  | 54.793μs     | 52.230μs     | 54.214μs     | 55.290μs     | 1.107μs   | ±2.04% |\n| benchStaticRoutes  | ALL Methods,Best Case          | 3.823mb  | 243.707μs    | 230.300μs    | 239.932μs    | 247.600μs    | 6.371μs   | ±2.66% |\n| benchStaticRoutes  | GET Method,Host,Best Case      | 3.821mb  | 64.035μs     | 62.990μs     | 64.740μs     | 67.160μs     | 1.459μs   | ±2.25% |\n| benchStaticRoutes  | GET Method,Average Case        | 3.821mb  | 2,745.184μs  | 2,713.730μs  | 2,792.358μs  | 2,882.920μs  | 71.894μs  | ±2.57% |\n| benchStaticRoutes  | ALL Methods,Average Case       | 3.823mb  | 14,005.508μs | 13,279.940μs | 13,782.694μs | 14,195.410μs | 368.621μs | ±2.67% |\n| benchStaticRoutes  | GET Method,Host,Average Case   | 3.821mb  | 3,607.561μs  | 3,537.090μs  | 3,665.086μs  | 3,809.900μs  | 107.734μs | ±2.94% |\n| benchStaticRoutes  | GET Method,Worst Case          | 3.821mb  | 5,214.406μs  | 5,037.340μs  | 5,155.040μs  | 5,244.390μs  | 84.389μs  | ±1.64% |\n| benchStaticRoutes  | ALL Methods,Worst Case         | 3.823mb  | 26,402.503μs | 25,967.860μs | 26,559.110μs | 27,161.960μs | 436.204μs | ±1.64% |\n| benchStaticRoutes  | GET Method,Host,Worst Case     | 3.821mb  | 7,094.038μs  | 6,719.690μs  | 6,970.058μs  | 7,167.680μs  | 181.538μs | ±2.60% |\n| benchStaticRoutes  | GET Method,Invalid Method      | 3.821mb  | 5,139.885μs  | 4,958.070μs  | 5,132.704μs  | 5,298.390μs  | 109.982μs | ±2.14% |\n| benchStaticRoutes  | ALL Methods,Invalid Method     | 3.823mb  | 5,126.799μs  | 4,830.830μs  | 5,020.504μs  | 5,172.230μs  | 146.568μs | ±2.92% |\n| benchStaticRoutes  | GET Method,Host,Invalid Method | 3.822mb  | 7,120.350μs  | 6,915.370μs  | 7,089.802μs  | 7,222.540μs  | 102.207μs | ±1.44% |\n| benchDynamicRoutes | GET Method,Best Case           | 3.821mb  | 55.321μs     | 54.260μs     | 55.704μs     | 57.670μs     | 1.191μs   | ±2.14% |\n| benchDynamicRoutes | ALL Methods,Best Case          | 3.823mb  | 256.985μs    | 246.350μs    | 256.464μs    | 265.970μs    | 6.325μs   | ±2.47% |\n| benchDynamicRoutes | GET Method,Host,Best Case      | 3.821mb  | 68.874μs     | 67.930μs     | 69.776μs     | 73.010μs     | 1.836μs   | ±2.63% |\n| benchDynamicRoutes | GET Method,Average Case        | 3.821mb  | 2,558.723μs  | 2,521.200μs  | 2,590.054μs  | 2,652.530μs  | 54.544μs  | ±2.11% |\n| benchDynamicRoutes | ALL Methods,Average Case       | 3.823mb  | 14,308.735μs | 13,567.750μs | 14,163.646μs | 14,564.180μs | 344.039μs | ±2.43% |\n| benchDynamicRoutes | GET Method,Host,Average Case   | 3.821mb  | 3,772.651μs  | 3,687.200μs  | 3,782.654μs  | 3,893.170μs  | 65.586μs  | ±1.73% |\n| benchDynamicRoutes | GET Method,Worst Case          | 3.821mb  | 5,430.711μs  | 5,316.140μs  | 5,404.748μs  | 5,452.610μs  | 50.416μs  | ±0.93% |\n| benchDynamicRoutes | ALL Methods,Worst Case         | 3.823mb  | 26,632.882μs | 25,849.300μs | 26,649.334μs | 27,444.560μs | 523.784μs | ±1.97% |\n| benchDynamicRoutes | GET Method,Host,Worst Case     | 3.821mb  | 7,505.935μs  | 7,425.940μs  | 7,478.166μs  | 7,528.390μs  | 41.556μs  | ±0.56% |\n| benchDynamicRoutes | GET Method,Invalid Method      | 3.821mb  | 4,949.197μs  | 4,867.980μs  | 5,016.474μs  | 5,182.390μs  | 118.525μs | ±2.36% |\n| benchDynamicRoutes | ALL Methods,Invalid Method     | 3.823mb  | 5,078.449μs  | 4,902.730μs  | 5,067.576μs  | 5,216.690μs  | 101.192μs | ±2.00% |\n| benchDynamicRoutes | GET Method,Host,Invalid Method | 3.822mb  | 7,297.310μs  | 6,890.180μs  | 7,154.220μs  | 7,375.130μs  | 207.367μs | ±2.90% |\n| benchOtherRoutes   | GET Method,Non Existent        | 3.821mb  | 5,339.672μs  | 5,239.260μs  | 5,352.764μs  | 5,454.850μs  | 76.685μs  | ±1.43% |\n| benchOtherRoutes   | ALL Methods,Non Existent       | 3.823mb  | 5,291.087μs  | 5,186.570μs  | 5,277.878μs  | 5,352.950μs  | 57.730μs  | ±1.09% |\n| benchOtherRoutes   | GET Method,Host,Non Existent   | 3.822mb  | 7,066.513μs  | 6,826.970μs  | 6,998.780μs  | 7,112.300μs  | 107.661μs | ±1.54% |\n+--------------------+--------------------------------+----------+--------------+--------------+--------------+--------------+-----------+--------+\n```\n\n### Benchmark runned with file cache support.\n\n```\nFlightRoutingCached\n+--------------------+--------------------------------+----------+----------+----------+----------+----------+---------+--------+\n| subject            | set                            | mem_peak | mode     | best     | mean     | worst    | stdev   | rstdev |\n+--------------------+--------------------------------+----------+----------+----------+----------+----------+---------+--------+\n| benchStaticRoutes  | GET Method,Best Case           | 4.616mb  | 1.821μs  | 1.710μs  | 1.792μs  | 1.870μs  | 0.060μs | ±3.34% |\n| benchStaticRoutes  | ALL Methods,Best Case          | 4.618mb  | 3.500μs  | 3.360μs  | 3.474μs  | 3.550μs  | 0.072μs | ±2.06% |\n| benchStaticRoutes  | GET Method,Host,Best Case      | 4.616mb  | 2.331μs  | 2.250μs  | 2.310μs  | 2.360μs  | 0.039μs | ±1.71% |\n| benchStaticRoutes  | GET Method,Average Case        | 4.616mb  | 1.726μs  | 1.650μs  | 1.702μs  | 1.740μs  | 0.035μs | ±2.08% |\n| benchStaticRoutes  | ALL Methods,Average Case       | 4.618mb  | 3.849μs  | 3.680μs  | 3.824μs  | 3.930μs  | 0.082μs | ±2.14% |\n| benchStaticRoutes  | GET Method,Host,Average Case   | 4.616mb  | 2.702μs  | 2.660μs  | 2.712μs  | 2.780μs  | 0.041μs | ±1.52% |\n| benchStaticRoutes  | GET Method,Worst Case          | 4.616mb  | 1.652μs  | 1.580μs  | 1.640μs  | 1.680μs  | 0.033μs | ±2.04% |\n| benchStaticRoutes  | ALL Methods,Worst Case         | 4.618mb  | 4.134μs  | 3.850μs  | 4.050μs  | 4.200μs  | 0.134μs | ±3.30% |\n| benchStaticRoutes  | GET Method,Host,Worst Case     | 4.616mb  | 2.429μs  | 2.310μs  | 2.428μs  | 2.540μs  | 0.076μs | ±3.13% |\n| benchStaticRoutes  | GET Method,Invalid Method      | 4.616mb  | 2.914μs  | 2.830μs  | 2.926μs  | 3.040μs  | 0.067μs | ±2.29% |\n| benchStaticRoutes  | ALL Methods,Invalid Method     | 4.618mb  | 3.056μs  | 3.010μs  | 3.070μs  | 3.150μs  | 0.046μs | ±1.50% |\n| benchStaticRoutes  | GET Method,Host,Invalid Method | 4.616mb  | 3.256μs  | 3.240μs  | 3.294μs  | 3.440μs  | 0.076μs | ±2.32% |\n| benchDynamicRoutes | GET Method,Best Case           | 4.616mb  | 3.089μs  | 2.930μs  | 3.084μs  | 3.230μs  | 0.098μs | ±3.19% |\n| benchDynamicRoutes | ALL Methods,Best Case          | 4.618mb  | 9.007μs  | 8.740μs  | 9.058μs  | 9.430μs  | 0.232μs | ±2.56% |\n| benchDynamicRoutes | GET Method,Host,Best Case      | 4.616mb  | 3.205μs  | 3.150μs  | 3.278μs  | 3.440μs  | 0.113μs | ±3.45% |\n| benchDynamicRoutes | GET Method,Average Case        | 4.616mb  | 5.659μs  | 5.600μs  | 5.712μs  | 5.890μs  | 0.103μs | ±1.80% |\n| benchDynamicRoutes | ALL Methods,Average Case       | 4.618mb  | 17.811μs | 17.280μs | 17.688μs | 17.960μs | 0.244μs | ±1.38% |\n| benchDynamicRoutes | GET Method,Host,Average Case   | 4.616mb  | 37.981μs | 37.040μs | 38.160μs | 39.130μs | 0.762μs | ±2.00% |\n| benchDynamicRoutes | GET Method,Worst Case          | 4.616mb  | 5.156μs  | 4.810μs  | 5.030μs  | 5.200μs  | 0.175μs | ±3.47% |\n| benchDynamicRoutes | ALL Methods,Worst Case         | 4.618mb  | 15.378μs | 15.310μs | 15.532μs | 16.100μs | 0.301μs | ±1.94% |\n| benchDynamicRoutes | GET Method,Host,Worst Case     | 4.616mb  | 77.806μs | 74.620μs | 77.792μs | 80.740μs | 2.068μs | ±2.66% |\n| benchDynamicRoutes | GET Method,Invalid Method      | 4.616mb  | 5.124μs  | 4.880μs  | 5.076μs  | 5.180μs  | 0.105μs | ±2.07% |\n| benchDynamicRoutes | ALL Methods,Invalid Method     | 4.618mb  | 5.234μs  | 5.070μs  | 5.200μs  | 5.260μs  | 0.069μs | ±1.33% |\n| benchDynamicRoutes | GET Method,Host,Invalid Method | 4.616mb  | 84.718μs | 82.460μs | 86.244μs | 89.540μs | 2.796μs | ±3.24% |\n| benchOtherRoutes   | GET Method,Non Existent        | 4.616mb  | 2.912μs  | 2.880μs  | 2.936μs  | 3.030μs  | 0.052μs | ±1.77% |\n| benchOtherRoutes   | ALL Methods,Non Existent       | 4.618mb  | 3.259μs  | 3.110μs  | 3.254μs  | 3.390μs  | 0.091μs | ±2.79% |\n| benchOtherRoutes   | GET Method,Host,Non Existent   | 4.616mb  | 62.880μs | 60.720μs | 63.544μs | 66.440μs | 2.012μs | ±3.17% |\n+--------------------+--------------------------------+----------+----------+----------+----------+----------+---------+--------+\n\nSymfonyRouterCached\n+--------------------+--------------------------------+----------+-----------+-----------+-----------+-----------+---------+--------+\n| subject            | set                            | mem_peak | mode      | best      | mean      | worst     | stdev   | rstdev |\n+--------------------+--------------------------------+----------+-----------+-----------+-----------+-----------+---------+--------+\n| benchStaticRoutes  | GET Method,Best Case           | 6.719mb  | 0.945μs   | 0.910μs   | 0.938μs   | 0.950μs   | 0.015μs | ±1.57% |\n| benchStaticRoutes  | ALL Methods,Best Case          | 6.721mb  | 3.884μs   | 3.850μs   | 3.912μs   | 3.990μs   | 0.052μs | ±1.32% |\n| benchStaticRoutes  | GET Method,Host,Best Case      | 6.720mb  | 1.079μs   | 1.070μs   | 1.090μs   | 1.110μs   | 0.017μs | ±1.54% |\n| benchStaticRoutes  | GET Method,Average Case        | 6.719mb  | 0.699μs   | 0.690μs   | 0.702μs   | 0.720μs   | 0.010μs | ±1.40% |\n| benchStaticRoutes  | ALL Methods,Average Case       | 6.721mb  | 3.499μs   | 3.290μs   | 3.462μs   | 3.600μs   | 0.105μs | ±3.04% |\n| benchStaticRoutes  | GET Method,Host,Average Case   | 6.720mb  | 0.959μs   | 0.920μs   | 0.954μs   | 0.980μs   | 0.021μs | ±2.16% |\n| benchStaticRoutes  | GET Method,Worst Case          | 6.719mb  | 0.745μs   | 0.740μs   | 0.760μs   | 0.790μs   | 0.021μs | ±2.76% |\n| benchStaticRoutes  | ALL Methods,Worst Case         | 6.721mb  | 3.863μs   | 3.800μs   | 3.912μs   | 4.050μs   | 0.090μs | ±2.31% |\n| benchStaticRoutes  | GET Method,Host,Worst Case     | 6.720mb  | 0.865μs   | 0.860μs   | 0.872μs   | 0.900μs   | 0.015μs | ±1.69% |\n| benchStaticRoutes  | GET Method,Invalid Method      | 6.720mb  | 36.773μs  | 35.490μs  | 36.520μs  | 36.970μs  | 0.530μs | ±1.45% |\n| benchStaticRoutes  | ALL Methods,Invalid Method     | 6.722mb  | 32.881μs  | 32.040μs  | 33.122μs  | 34.540μs  | 0.836μs | ±2.53% |\n| benchStaticRoutes  | GET Method,Host,Invalid Method | 6.720mb  | 44.817μs  | 44.340μs  | 45.184μs  | 46.010μs  | 0.671μs | ±1.49% |\n| benchDynamicRoutes | GET Method,Best Case           | 6.719mb  | 1.418μs   | 1.330μs   | 1.398μs   | 1.440μs   | 0.040μs | ±2.84% |\n| benchDynamicRoutes | ALL Methods,Best Case          | 6.721mb  | 6.701μs   | 6.580μs   | 6.796μs   | 7.030μs   | 0.167μs | ±2.46% |\n| benchDynamicRoutes | GET Method,Host,Best Case      | 6.720mb  | 1.537μs   | 1.440μs   | 1.508μs   | 1.560μs   | 0.045μs | ±3.01% |\n| benchDynamicRoutes | GET Method,Average Case        | 6.719mb  | 13.792μs  | 13.070μs  | 13.586μs  | 13.910μs  | 0.324μs | ±2.38% |\n| benchDynamicRoutes | ALL Methods,Average Case       | 6.721mb  | 57.988μs  | 57.480μs  | 58.800μs  | 60.330μs  | 1.194μs | ±2.03% |\n| benchDynamicRoutes | GET Method,Host,Average Case   | 6.720mb  | 16.632μs  | 16.520μs  | 16.870μs  | 17.440μs  | 0.362μs | ±2.14% |\n| benchDynamicRoutes | GET Method,Worst Case          | 6.719mb  | 37.107μs  | 36.330μs  | 37.162μs  | 38.080μs  | 0.555μs | ±1.49% |\n| benchDynamicRoutes | ALL Methods,Worst Case         | 6.721mb  | 166.268μs | 160.830μs | 167.080μs | 174.000μs | 4.484μs | ±2.68% |\n| benchDynamicRoutes | GET Method,Host,Worst Case     | 6.720mb  | 47.514μs  | 45.390μs  | 47.084μs  | 47.760μs  | 0.875μs | ±1.86% |\n| benchDynamicRoutes | GET Method,Invalid Method      | 6.720mb  | 90.960μs  | 86.030μs  | 89.990μs  | 92.590μs  | 2.273μs | ±2.53% |\n| benchDynamicRoutes | ALL Methods,Invalid Method     | 6.722mb  | 96.603μs  | 94.860μs  | 97.972μs  | 102.410μs | 2.669μs | ±2.72% |\n| benchDynamicRoutes | GET Method,Host,Invalid Method | 6.720mb  | 115.998μs | 111.010μs | 115.218μs | 118.420μs | 2.469μs | ±2.14% |\n| benchOtherRoutes   | GET Method,Non Existent        | 6.720mb  | 25.533μs  | 24.790μs  | 25.824μs  | 26.810μs  | 0.734μs | ±2.84% |\n| benchOtherRoutes   | ALL Methods,Non Existent       | 6.722mb  | 21.622μs  | 20.900μs  | 21.938μs  | 22.950μs  | 0.768μs | ±3.50% |\n| benchOtherRoutes   | GET Method,Host,Non Existent   | 6.720mb  | 33.683μs  | 31.660μs  | 33.008μs  | 34.010μs  | 0.955μs | ±2.89% |\n+--------------------+--------------------------------+----------+-----------+-----------+-----------+-----------+---------+--------+\n\nFastRouteCached\n+--------------------+----------------------------+----------+----------+----------+----------+----------+---------+--------+\n| subject            | set                        | mem_peak | mode     | best     | mean     | worst    | stdev   | rstdev |\n+--------------------+----------------------------+----------+----------+----------+----------+----------+---------+--------+\n| benchStaticRoutes  | GET Method,Best Case       | 6.516mb  | 0.251μs  | 0.250μs  | 0.258μs  | 0.270μs  | 0.010μs | ±3.80% |\n| benchStaticRoutes  | ALL Methods,Best Case      | 6.518mb  | 0.911μs  | 0.890μs  | 0.924μs  | 0.970μs  | 0.029μs | ±3.11% |\n| benchStaticRoutes  | GET Method,Average Case    | 6.516mb  | 0.250μs  | 0.240μs  | 0.246μs  | 0.250μs  | 0.005μs | ±1.99% |\n| benchStaticRoutes  | ALL Methods,Average Case   | 6.518mb  | 1.135μs  | 1.080μs  | 1.132μs  | 1.180μs  | 0.032μs | ±2.82% |\n| benchStaticRoutes  | GET Method,Worst Case      | 6.516mb  | 0.250μs  | 0.250μs  | 0.250μs  | 0.250μs  | 0.000μs | ±0.00% |\n| benchStaticRoutes  | ALL Methods,Worst Case     | 6.518mb  | 0.905μs  | 0.900μs  | 0.912μs  | 0.940μs  | 0.015μs | ±1.61% |\n| benchStaticRoutes  | GET Method,Invalid Method  | 6.516mb  | 7.120μs  | 7.060μs  | 7.166μs  | 7.350μs  | 0.103μs | ±1.44% |\n| benchStaticRoutes  | ALL Methods,Invalid Method | 6.518mb  | 9.133μs  | 8.710μs  | 9.008μs  | 9.240μs  | 0.200μs | ±2.22% |\n| benchDynamicRoutes | GET Method,Best Case       | 6.516mb  | 0.725μs  | 0.720μs  | 0.740μs  | 0.770μs  | 0.021μs | ±2.83% |\n| benchDynamicRoutes | ALL Methods,Best Case      | 6.518mb  | 3.335μs  | 3.320μs  | 3.376μs  | 3.480μs  | 0.063μs | ±1.88% |\n| benchDynamicRoutes | GET Method,Average Case    | 6.516mb  | 2.883μs  | 2.850μs  | 2.912μs  | 3.020μs  | 0.060μs | ±2.05% |\n| benchDynamicRoutes | ALL Methods,Average Case   | 6.518mb  | 16.440μs | 16.240μs | 16.628μs | 17.120μs | 0.336μs | ±2.02% |\n| benchDynamicRoutes | GET Method,Worst Case      | 6.516mb  | 5.713μs  | 5.590μs  | 5.752μs  | 5.980μs  | 0.126μs | ±2.20% |\n| benchDynamicRoutes | ALL Methods,Worst Case     | 6.518mb  | 29.339μs | 28.920μs | 29.786μs | 30.800μs | 0.742μs | ±2.49% |\n| benchDynamicRoutes | GET Method,Invalid Method  | 6.516mb  | 31.913μs | 30.920μs | 32.068μs | 33.360μs | 0.804μs | ±2.51% |\n| benchDynamicRoutes | ALL Methods,Invalid Method | 6.518mb  | 27.376μs | 26.850μs | 27.960μs | 29.230μs | 0.963μs | ±3.45% |\n| benchOtherRoutes   | GET Method,Non Existent    | 6.516mb  | 7.470μs  | 7.280μs  | 7.518μs  | 7.750μs  | 0.169μs | ±2.25% |\n| benchOtherRoutes   | ALL Methods,Non Existent   | 6.518mb  | 8.169μs  | 7.720μs  | 8.058μs  | 8.340μs  | 0.236μs | ±2.93% |\n+--------------------+----------------------------+----------+----------+----------+----------+----------+---------+--------+\n```\n\n[PHP]: https://php.net\n[Composer]: https://getcomposer.org\n[GitHub Action]: https://github.com/divineniiquaye/php-routers-benchmarks/runs/2997693508?check_suite_focus=true\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdivineniiquaye%2Fphp-routers-benchmarks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdivineniiquaye%2Fphp-routers-benchmarks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdivineniiquaye%2Fphp-routers-benchmarks/lists"}