{"id":16672770,"url":"https://github.com/kktsvetkov/benchmark-php-routing","last_synced_at":"2025-04-09T19:53:28.630Z","repository":{"id":111488075,"uuid":"371585338","full_name":"kktsvetkov/benchmark-php-routing","owner":"kktsvetkov","description":"Benchmark PHP Routing","archived":false,"fork":false,"pushed_at":"2022-01-03T14:22:05.000Z","size":242,"stargazers_count":12,"open_issues_count":0,"forks_count":8,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-23T21:51:55.225Z","etag":null,"topics":["benchmark","fastroute","php","phpbench","routes","routing","symfony","symfony-router"],"latest_commit_sha":null,"homepage":"http://kaloyan.info/writing/2021/05/31/benchmark-php-routing.html","language":"PHP","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kktsvetkov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2021-05-28T05:03:20.000Z","updated_at":"2025-01-01T21:59:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"4455f919-6aa1-460b-ba11-719b11d35121","html_url":"https://github.com/kktsvetkov/benchmark-php-routing","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kktsvetkov%2Fbenchmark-php-routing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kktsvetkov%2Fbenchmark-php-routing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kktsvetkov%2Fbenchmark-php-routing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kktsvetkov%2Fbenchmark-php-routing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kktsvetkov","download_url":"https://codeload.github.com/kktsvetkov/benchmark-php-routing/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248103912,"owners_count":21048245,"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":["benchmark","fastroute","php","phpbench","routes","routing","symfony","symfony-router"],"created_at":"2024-10-12T12:07:14.667Z","updated_at":"2025-04-09T19:53:28.616Z","avatar_url":"https://github.com/kktsvetkov.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Benchmark PHP Routing\n\nTake a real world routing scenario in the form of a real API and benchmark PHP\nrouting packages against it.\n\nThe APIs used for this benchmark:\n\n* [Bitbucket API](https://api.bitbucket.org/swagger.json)\n* [Avalara Avatax API](https://rest.avatax.com/swagger/v2/swagger.json)\n\nYou can read more about this here:\n\n-  http://kaloyan.info/writing/2021/05/31/benchmark-php-routing.html\n-  http://kaloyan.info/writing/2021/06/07/more-php-routing-benchmarks.html\n\n# Packages\nHere are the packages that are benchmakred:\n\n* Symfony Routing [symfony/routing](https://github.com/symfony/routing)\n* FastRoute [nikic/FastRoute](https://github.com/nikic/FastRoute)\n\nSo far these are the most popular ones: **Symfony Routing** component is used\nnot only by Symfony but by **Laravel** as well, and **FastRoute** is used by\nother popular solutions such as the [Slim](https://github.com/slimphp/Slim)\nframework and [League\\Route](https://github.com/thephpleague/route).\n\n# Benchmarks\n\nThis is the list of the available [phpbench](https://github.com/phpbench/phpbench)\nbenchmarks. They are combination of the packages and the strategies they provide.\n\n* [symfony/routing](https://github.com/symfony/routing)\n\t* [benchmark/Symfony.php](benchmark/Symfony.php) with `Symfony\\Component\\Routing\\Matcher\\UrlMatcher`\n\t* [benchmark/Symfony_Compiled.php](benchmark/Symfony_Compiled.php) with `Symfony\\Component\\Routing\\Matcher\\CompiledUrlMatcher`\n\n* [nikic/FastRoute](https://github.com/nikic/FastRoute) with `simpleDispatcher()`\n\t* [benchmark/FastRoute_GroupCountBased.php](benchmark/FastRoute_GroupCountBased.php) with `FastRoute\\Dispatcher\\GroupCountBased`\n\t* [benchmark/FastRoute_GroupPosBased.php](benchmark/FastRoute_GroupPosBased.php) with `FastRoute\\Dispatcher\\GroupPosBased`\n\t* [benchmark/FastRoute_CharCountBased.php](benchmark/FastRoute_CharCountBased.php) with `FastRoute\\Dispatcher\\CharCountBased`\n\t* [benchmark/FastRoute_MarkBased.php](benchmark/FastRoute_MarkBased.php) with `FastRoute\\Dispatcher\\MarkBased`\n\n* [nikic/FastRoute](https://github.com/nikic/FastRoute) with `cachedDispatcher()`\n\t* [benchmark/FastRoute_Cached_GroupCountBased.php](benchmark/FastRoute_Cached_GroupCountBased.php) with `FastRoute\\Dispatcher\\GroupCountBased`\n\t* [benchmark/FastRoute_Cached_GroupPosBased.php](benchmark/FastRoute_Cached_GroupPosBased.php) with `FastRoute\\Dispatcher\\GroupPosBased`\n\t* [benchmark/FastRoute_Cached_CharCountBased.php](benchmark/FastRoute_Cached_CharCountBased.php) with `FastRoute\\Dispatcher\\CharCountBased`\n\t* [benchmark/FastRoute_Cached_MarkBased.php](benchmark/FastRoute_Cached_MarkBased.php) with `FastRoute\\Dispatcher\\MarkBased`\n\nThe benchmark cases are:\n\n* **benchLast** -- match the last route in the list of routing definitions, as this is considered the worst case\n* **benchLongest** -- match the longest route to test the complexity of parsing bigger paths\n* **benchAll** -- match all of the routes from the list of routing definitions to average the overall performance\n* **benchSetup** -- track how much time is needed to setup the routes collection before the routing starts\n\n### Running the benchmarks\n\nTo run the benchmarks, first you have to run `composer update` to get all of the\npackages and their dependencies. After that, you can execute any of benchmark\nfiles like this:\n```sh\nphp vendor/bin/phpbench run benchmark/Symfony/CompiledUrlMatcher_Benchmark.php --report=short\n```\nOr you can run all of the benchmarks at once\n```sh\nphp vendor/bin/phpbench run --report=short\n```\n\n### Quick Benchmark\n\nIn addition to the phpbench running its own cases, there is also a script that\nwill run all of the scenarios against all of the packages and strategies, and\ncalculate the number of routes matched per second. The results are then sorted\nby that data. Here's how to run this:\n\n```sh\nphp quick.php\n```\n\n# Route Providers\n\nThe routes used for the benchmarks are provided from real life APIs. There are\nseveral classes that help with reading, downloading and passing the routes.\n\nOnly the paths are used, and the HTTP verbs/methods are ignored.\n\n## Route Provider: Bitbucket API\n\nThe routes for this benchmark provider are read from this address:\nhttps://api.bitbucket.org/swagger.json\n\nYou can see the list of paths in [routes/provider/bitbucket](routes/provider/bitbucket):\n\n```\n/addon\n/addon/linkers\n/addon/linkers/{linker_key}\n/addon/linkers/{linker_key}/values\n/addon/linkers/{linker_key}/values/{value_id}\n/hook_events\n/hook_events/{subject_type}\n/pullrequests/{selected_user}\n/repositories\n/repositories/{workspace}\n/repositories/{workspace}/{repo_slug}\n...\n```\n\n## Route Provider: Avatax API\n\nThe routes for this benchmark provider are read from this address:\nhttps://rest.avatax.com/swagger/v2/swagger.json\n\nYou can see the list of paths in [routes/provider/avatax](routes/provider/avatax):\n\n```\n/api/v2/accounts\n/api/v2/accounts/{id}\n/api/v2/accounts/{id}/activate\n/api/v2/accounts/{id}/audit\n/api/v2/accounts/{id}/configuration\n/api/v2/accounts/{id}/licensekey\n/api/v2/accounts/{id}/licensekey/{licensekeyname}\n/api/v2/accounts/{id}/licensekeys\n/api/v2/accounts/{id}/resetlicensekey\n/api/v2/addresses/resolve\n...\n```\n\n# Results\n\nHere are the results from the quick benchmarks executed by Github Actions:\n\nhttps://github.com/kktsvetkov/benchmark-php-routing/actions\n\n## PHP 7.3\n```\n+----------------------------------+--------------+-----------------+---------+------------+\n| Benchmark                        | Case         | Provider Routes | Seconds | Per Second |\n+----------------------------------+--------------+-----------------+---------+------------+\n| FastRoute\\MarkBased_Cached       | benchSetup   | 256 (avatax)    | 0.00162 | 158415.730 |\n| FastRoute\\GroupPosBased_Cached   | benchSetup   | 256 (avatax)    | 0.00175 | 146107.201 |\n| FastRoute\\CharCountBased_Cached  | benchSetup   | 256 (avatax)    | 0.00182 | 141040.565 |\n| FastRoute\\GroupCountBased_Cached | benchSetup   | 256 (avatax)    | 0.00202 | 126605.568 |\n| FastRoute\\MarkBased_Cached       | benchSetup   | 178 (bitbucket) | 0.00152 | 116800.080 |\n| FastRoute\\CharCountBased_Cached  | benchSetup   | 178 (bitbucket) | 0.00154 | 115356.321 |\n| FastRoute\\GroupCountBased_Cached | benchSetup   | 178 (bitbucket) | 0.00161 | 110490.766 |\n| FastRoute\\GroupPosBased_Cached   | benchSetup   | 178 (bitbucket) | 0.00174 | 102538.952 |\n| FastRoute\\MarkBased_Cached       | benchAll     | 256 (avatax)    | 0.00257 | 99651.2133 |\n| FastRoute\\CharCountBased_Cached  | benchAll     | 256 (avatax)    | 0.00263 | 97303.2917 |\n| FastRoute\\GroupPosBased_Cached   | benchAll     | 256 (avatax)    | 0.00263 | 97259.2231 |\n| FastRoute\\GroupCountBased_Cached | benchAll     | 256 (avatax)    | 0.00268 | 95375.8948 |\n| FastRoute\\GroupPosBased_Cached   | benchAll     | 178 (bitbucket) | 0.00202 | 88332.4789 |\n| FastRoute\\MarkBased_Cached       | benchAll     | 178 (bitbucket) | 0.00204 | 87381.3333 |\n| FastRoute\\CharCountBased_Cached  | benchAll     | 178 (bitbucket) | 0.00204 | 87126.3988 |\n| FastRoute\\GroupCountBased_Cached | benchAll     | 178 (bitbucket) | 0.00224 | 79432.5047 |\n| FastRoute\\MarkBased_Cached       | benchLongest | 256 (avatax)    | 0.00343 | 74700.2799 |\n| FastRoute\\MarkBased_Cached       | benchLast    | 256 (avatax)    | 0.00344 | 74461.9850 |\n| FastRoute\\GroupPosBased_Cached   | benchLongest | 256 (avatax)    | 0.00361 | 70953.6657 |\n| Symfony\\CompiledUrlMatcher       | benchSetup   | 256 (avatax)    | 0.00372 | 68741.4740 |\n| FastRoute\\CharCountBased_Cached  | benchLast    | 256 (avatax)    | 0.00380 | 67441.8581 |\n| FastRoute\\GroupPosBased_Cached   | benchLast    | 256 (avatax)    | 0.00386 | 66251.7322 |\n| FastRoute\\CharCountBased_Cached  | benchLongest | 256 (avatax)    | 0.00388 | 65914.1696 |\n| FastRoute\\GroupCountBased_Cached | benchLongest | 256 (avatax)    | 0.00403 | 63523.7427 |\n| FastRoute\\GroupCountBased_Cached | benchLast    | 256 (avatax)    | 0.00433 | 59055.2097 |\n| FastRoute\\MarkBased_Cached       | benchLongest | 178 (bitbucket) | 0.00307 | 57978.2645 |\n| FastRoute\\CharCountBased_Cached  | benchLongest | 178 (bitbucket) | 0.00316 | 56346.1216 |\n| FastRoute\\GroupPosBased_Cached   | benchLongest | 178 (bitbucket) | 0.00316 | 56312.1218 |\n| Symfony\\CompiledUrlMatcher       | benchAll     | 256 (avatax)    | 0.00464 | 55196.7215 |\n| Symfony\\CompiledUrlMatcher       | benchSetup   | 178 (bitbucket) | 0.00334 | 53339.0092 |\n| FastRoute\\MarkBased_Cached       | benchLast    | 178 (bitbucket) | 0.00339 | 52569.0826 |\n| FastRoute\\GroupCountBased_Cached | benchLongest | 178 (bitbucket) | 0.00339 | 52476.7071 |\n| Symfony\\CompiledUrlMatcher       | benchLast    | 256 (avatax)    | 0.00490 | 52224.7968 |\n| Symfony\\CompiledUrlMatcher       | benchLongest | 256 (avatax)    | 0.00496 | 51612.2776 |\n| FastRoute\\CharCountBased_Cached  | benchLast    | 178 (bitbucket) | 0.00366 | 48593.2121 |\n| FastRoute\\GroupPosBased_Cached   | benchLast    | 178 (bitbucket) | 0.00373 | 47708.2313 |\n| Symfony\\CompiledUrlMatcher       | benchAll     | 178 (bitbucket) | 0.00391 | 45581.9104 |\n| FastRoute\\GroupCountBased_Cached | benchLast    | 178 (bitbucket) | 0.00408 | 43593.7236 |\n| Symfony\\CompiledUrlMatcher       | benchLast    | 178 (bitbucket) | 0.00438 | 40648.2338 |\n| Symfony\\CompiledUrlMatcher       | benchLongest | 178 (bitbucket) | 0.00452 | 39345.7766 |\n| Symfony\\UrlMatcher               | benchSetup   | 178 (bitbucket) | 0.03540 | 5027.95606 |\n| Symfony\\UrlMatcher               | benchAll     | 178 (bitbucket) | 0.03811 | 4670.80481 |\n| Symfony\\UrlMatcher               | benchSetup   | 256 (avatax)    | 0.06557 | 3904.28856 |\n| Symfony\\UrlMatcher               | benchAll     | 256 (avatax)    | 0.07041 | 3636.10505 |\n| FastRoute\\GroupPosBased          | benchSetup   | 178 (bitbucket) | 0.13409 | 1327.47659 |\n| FastRoute\\GroupCountBased        | benchSetup   | 178 (bitbucket) | 0.13538 | 1314.78021 |\n| FastRoute\\MarkBased              | benchSetup   | 178 (bitbucket) | 0.13546 | 1313.99344 |\n| FastRoute\\MarkBased              | benchAll     | 178 (bitbucket) | 0.13668 | 1302.32212 |\n| FastRoute\\GroupPosBased          | benchLongest | 178 (bitbucket) | 0.13694 | 1299.84837 |\n| FastRoute\\GroupCountBased        | benchAll     | 178 (bitbucket) | 0.13696 | 1299.61984 |\n| FastRoute\\CharCountBased         | benchSetup   | 178 (bitbucket) | 0.13723 | 1297.12253 |\n| FastRoute\\MarkBased              | benchLast    | 178 (bitbucket) | 0.13728 | 1296.59989 |\n| FastRoute\\MarkBased              | benchLongest | 178 (bitbucket) | 0.13734 | 1296.06193 |\n| FastRoute\\GroupPosBased          | benchAll     | 178 (bitbucket) | 0.13741 | 1295.38506 |\n| FastRoute\\GroupPosBased          | benchLast    | 178 (bitbucket) | 0.13831 | 1286.95338 |\n| FastRoute\\CharCountBased         | benchAll     | 178 (bitbucket) | 0.13870 | 1283.31659 |\n| FastRoute\\GroupCountBased        | benchLongest | 178 (bitbucket) | 0.13933 | 1277.50618 |\n| FastRoute\\GroupCountBased        | benchLast    | 178 (bitbucket) | 0.14174 | 1255.82822 |\n| FastRoute\\CharCountBased         | benchLongest | 178 (bitbucket) | 0.14222 | 1251.59027 |\n| FastRoute\\CharCountBased         | benchLast    | 178 (bitbucket) | 0.14245 | 1249.58761 |\n| Symfony\\UrlMatcher               | benchLongest | 178 (bitbucket) | 0.19409 | 917.123368 |\n| Symfony\\UrlMatcher               | benchLongest | 256 (avatax)    | 0.31005 | 825.684043 |\n| Symfony\\UrlMatcher               | benchLast    | 256 (avatax)    | 0.38904 | 658.033260 |\n| Symfony\\UrlMatcher               | benchLast    | 178 (bitbucket) | 0.31080 | 572.724659 |\n| FastRoute\\GroupPosBased          | benchSetup   | 256 (avatax)    | 0.66871 | 382.824319 |\n| FastRoute\\MarkBased              | benchSetup   | 256 (avatax)    | 0.67320 | 380.273247 |\n| FastRoute\\MarkBased              | benchAll     | 256 (avatax)    | 0.67642 | 378.463633 |\n| FastRoute\\GroupPosBased          | benchLast    | 256 (avatax)    | 0.67685 | 378.222737 |\n| FastRoute\\GroupPosBased          | benchAll     | 256 (avatax)    | 0.67712 | 378.071317 |\n| FastRoute\\GroupPosBased          | benchLongest | 256 (avatax)    | 0.67766 | 377.771766 |\n| FastRoute\\CharCountBased         | benchAll     | 256 (avatax)    | 0.67964 | 376.670632 |\n| FastRoute\\CharCountBased         | benchLongest | 256 (avatax)    | 0.67985 | 376.555840 |\n| FastRoute\\MarkBased              | benchLast    | 256 (avatax)    | 0.68155 | 375.612160 |\n| FastRoute\\CharCountBased         | benchSetup   | 256 (avatax)    | 0.68233 | 375.182857 |\n| FastRoute\\MarkBased              | benchLongest | 256 (avatax)    | 0.68293 | 374.855929 |\n| FastRoute\\CharCountBased         | benchLast    | 256 (avatax)    | 0.68439 | 374.056212 |\n| FastRoute\\GroupCountBased        | benchSetup   | 256 (avatax)    | 0.77412 | 330.696719 |\n| FastRoute\\GroupCountBased        | benchLongest | 256 (avatax)    | 0.77589 | 329.944441 |\n| FastRoute\\GroupCountBased        | benchLast    | 256 (avatax)    | 0.78431 | 326.402003 |\n| FastRoute\\GroupCountBased        | benchAll     | 256 (avatax)    | 0.78561 | 325.859767 |\n+----------------------------------+--------------+-----------------+---------+------------+\n```\n\n## PHP 7.4\n```\n+----------------------------------+--------------+-----------------+---------+------------+\n| Benchmark                        | Case         | Provider Routes | Seconds | Per Second |\n+----------------------------------+--------------+-----------------+---------+------------+\n| FastRoute\\GroupCountBased_Cached | benchSetup   | 256 (avatax)    | 0.00178 | 143894.642 |\n| FastRoute\\MarkBased_Cached       | benchSetup   | 256 (avatax)    | 0.00186 | 137853.617 |\n| FastRoute\\CharCountBased_Cached  | benchSetup   | 256 (avatax)    | 0.00188 | 136382.805 |\n| FastRoute\\GroupPosBased_Cached   | benchSetup   | 256 (avatax)    | 0.00189 | 135590.582 |\n| FastRoute\\MarkBased_Cached       | benchSetup   | 178 (bitbucket) | 0.00146 | 121831.937 |\n| FastRoute\\GroupPosBased_Cached   | benchSetup   | 178 (bitbucket) | 0.00171 | 104213.583 |\n| FastRoute\\GroupCountBased_Cached | benchSetup   | 178 (bitbucket) | 0.00177 | 100849.130 |\n| FastRoute\\CharCountBased_Cached  | benchSetup   | 178 (bitbucket) | 0.00177 | 100388.074 |\n| FastRoute\\MarkBased_Cached       | benchAll     | 178 (bitbucket) | 0.00190 | 93533.7148 |\n| FastRoute\\MarkBased_Cached       | benchAll     | 256 (avatax)    | 0.00278 | 91922.0806 |\n| FastRoute\\GroupCountBased_Cached | benchAll     | 256 (avatax)    | 0.00281 | 91002.7819 |\n| FastRoute\\GroupPosBased_Cached   | benchAll     | 256 (avatax)    | 0.00282 | 90848.7878 |\n| FastRoute\\CharCountBased_Cached  | benchAll     | 256 (avatax)    | 0.00299 | 85618.5171 |\n| FastRoute\\GroupCountBased_Cached | benchAll     | 178 (bitbucket) | 0.00215 | 82898.7466 |\n| FastRoute\\GroupPosBased_Cached   | benchAll     | 178 (bitbucket) | 0.00216 | 82486.5884 |\n| FastRoute\\CharCountBased_Cached  | benchAll     | 178 (bitbucket) | 0.00222 | 80286.7095 |\n| FastRoute\\MarkBased_Cached       | benchLongest | 256 (avatax)    | 0.00366 | 70005.3347 |\n| FastRoute\\MarkBased_Cached       | benchLast    | 256 (avatax)    | 0.00374 | 68539.6287 |\n| FastRoute\\CharCountBased_Cached  | benchLongest | 256 (avatax)    | 0.00404 | 63302.7841 |\n| FastRoute\\GroupPosBased_Cached   | benchLongest | 256 (avatax)    | 0.00406 | 62979.7538 |\n| Symfony\\CompiledUrlMatcher       | benchSetup   | 256 (avatax)    | 0.00410 | 62499.5240 |\n| FastRoute\\CharCountBased_Cached  | benchLast    | 256 (avatax)    | 0.00419 | 61025.3949 |\n| FastRoute\\GroupPosBased_Cached   | benchLast    | 256 (avatax)    | 0.00426 | 60136.7585 |\n| FastRoute\\MarkBased_Cached       | benchLongest | 178 (bitbucket) | 0.00303 | 58804.8292 |\n| FastRoute\\GroupCountBased_Cached | benchLongest | 256 (avatax)    | 0.00450 | 56874.9310 |\n| FastRoute\\MarkBased_Cached       | benchLast    | 178 (bitbucket) | 0.00335 | 53213.5503 |\n| FastRoute\\GroupCountBased_Cached | benchLast    | 256 (avatax)    | 0.00489 | 52308.7554 |\n| FastRoute\\CharCountBased_Cached  | benchLongest | 178 (bitbucket) | 0.00350 | 50902.4416 |\n| Symfony\\CompiledUrlMatcher       | benchAll     | 256 (avatax)    | 0.00509 | 50266.4586 |\n| FastRoute\\GroupPosBased_Cached   | benchLongest | 178 (bitbucket) | 0.00357 | 49875.4834 |\n| Symfony\\CompiledUrlMatcher       | benchSetup   | 178 (bitbucket) | 0.00367 | 48489.0635 |\n| FastRoute\\GroupCountBased_Cached | benchLongest | 178 (bitbucket) | 0.00368 | 48303.9668 |\n| Symfony\\CompiledUrlMatcher       | benchLast    | 256 (avatax)    | 0.00530 | 48264.5670 |\n| Symfony\\CompiledUrlMatcher       | benchLongest | 256 (avatax)    | 0.00545 | 46937.4813 |\n| FastRoute\\CharCountBased_Cached  | benchLast    | 178 (bitbucket) | 0.00397 | 44791.5833 |\n| FastRoute\\GroupPosBased_Cached   | benchLast    | 178 (bitbucket) | 0.00404 | 44069.7781 |\n| Symfony\\CompiledUrlMatcher       | benchAll     | 178 (bitbucket) | 0.00419 | 42501.7711 |\n| FastRoute\\GroupCountBased_Cached | benchLast    | 178 (bitbucket) | 0.00464 | 38327.7433 |\n| Symfony\\CompiledUrlMatcher       | benchLast    | 178 (bitbucket) | 0.00470 | 37890.0787 |\n| Symfony\\CompiledUrlMatcher       | benchLongest | 178 (bitbucket) | 0.00628 | 28325.9138 |\n| Symfony\\UrlMatcher               | benchSetup   | 178 (bitbucket) | 0.03796 | 4688.55103 |\n| Symfony\\UrlMatcher               | benchAll     | 178 (bitbucket) | 0.04113 | 4327.73437 |\n| Symfony\\UrlMatcher               | benchSetup   | 256 (avatax)    | 0.06296 | 4065.75622 |\n| Symfony\\UrlMatcher               | benchAll     | 256 (avatax)    | 0.06668 | 3839.50934 |\n| FastRoute\\GroupPosBased          | benchSetup   | 178 (bitbucket) | 0.15013 | 1185.63131 |\n| FastRoute\\GroupPosBased          | benchAll     | 178 (bitbucket) | 0.15039 | 1183.58253 |\n| FastRoute\\MarkBased              | benchAll     | 178 (bitbucket) | 0.15067 | 1181.41369 |\n| FastRoute\\MarkBased              | benchSetup   | 178 (bitbucket) | 0.15102 | 1178.65888 |\n| FastRoute\\GroupCountBased        | benchSetup   | 178 (bitbucket) | 0.15246 | 1167.54963 |\n| FastRoute\\GroupPosBased          | benchLongest | 178 (bitbucket) | 0.15269 | 1165.75209 |\n| FastRoute\\MarkBased              | benchLast    | 178 (bitbucket) | 0.15340 | 1160.37269 |\n| FastRoute\\GroupCountBased        | benchAll     | 178 (bitbucket) | 0.15459 | 1151.45494 |\n| FastRoute\\GroupPosBased          | benchLast    | 178 (bitbucket) | 0.15460 | 1151.35905 |\n| FastRoute\\MarkBased              | benchLongest | 178 (bitbucket) | 0.15461 | 1151.27560 |\n| FastRoute\\GroupCountBased        | benchLongest | 178 (bitbucket) | 0.15596 | 1141.28278 |\n| FastRoute\\CharCountBased         | benchSetup   | 178 (bitbucket) | 0.15673 | 1135.69082 |\n| FastRoute\\GroupCountBased        | benchLast    | 178 (bitbucket) | 0.15714 | 1132.78384 |\n| FastRoute\\CharCountBased         | benchLast    | 178 (bitbucket) | 0.16007 | 1111.98573 |\n| FastRoute\\CharCountBased         | benchAll     | 178 (bitbucket) | 0.16174 | 1100.56534 |\n| FastRoute\\CharCountBased         | benchLongest | 178 (bitbucket) | 0.16583 | 1073.36284 |\n| Symfony\\UrlMatcher               | benchLongest | 178 (bitbucket) | 0.18954 | 939.105571 |\n| Symfony\\UrlMatcher               | benchLongest | 256 (avatax)    | 0.28847 | 887.440543 |\n| Symfony\\UrlMatcher               | benchLast    | 256 (avatax)    | 0.36510 | 701.181601 |\n| Symfony\\UrlMatcher               | benchLast    | 178 (bitbucket) | 0.30805 | 577.826193 |\n| FastRoute\\CharCountBased         | benchLongest | 256 (avatax)    | 0.66905 | 382.634284 |\n| FastRoute\\CharCountBased         | benchAll     | 256 (avatax)    | 0.67063 | 381.731709 |\n| FastRoute\\GroupPosBased          | benchSetup   | 256 (avatax)    | 0.74506 | 343.595514 |\n| FastRoute\\MarkBased              | benchSetup   | 256 (avatax)    | 0.74836 | 342.079971 |\n| FastRoute\\MarkBased              | benchAll     | 256 (avatax)    | 0.74992 | 341.370229 |\n| FastRoute\\GroupCountBased        | benchSetup   | 256 (avatax)    | 0.75175 | 340.539178 |\n| FastRoute\\CharCountBased         | benchSetup   | 256 (avatax)    | 0.75328 | 339.846565 |\n| FastRoute\\GroupPosBased          | benchAll     | 256 (avatax)    | 0.75421 | 339.426618 |\n| FastRoute\\MarkBased              | benchLast    | 256 (avatax)    | 0.75442 | 339.332114 |\n| FastRoute\\GroupCountBased        | benchAll     | 256 (avatax)    | 0.75485 | 339.139409 |\n| FastRoute\\GroupPosBased          | benchLast    | 256 (avatax)    | 0.75751 | 337.948400 |\n| FastRoute\\GroupPosBased          | benchLongest | 256 (avatax)    | 0.75814 | 337.668040 |\n| FastRoute\\GroupCountBased        | benchLongest | 256 (avatax)    | 0.75834 | 337.579926 |\n| FastRoute\\MarkBased              | benchLongest | 256 (avatax)    | 0.75839 | 337.556791 |\n| FastRoute\\GroupCountBased        | benchLast    | 256 (avatax)    | 0.75891 | 337.325398 |\n| FastRoute\\CharCountBased         | benchLast    | 256 (avatax)    | 0.76150 | 336.178226 |\n+----------------------------------+--------------+-----------------+---------+------------+\n```\n\n## PHP 8.0\n```\n+----------------------------------+--------------+-----------------+---------+------------+\n| Benchmark                        | Case         | Provider Routes | Seconds | Per Second |\n+----------------------------------+--------------+-----------------+---------+------------+\n| FastRoute\\GroupPosBased_Cached   | benchSetup   | 256 (avatax)    | 0.00245 | 104408.967 |\n| FastRoute\\GroupCountBased_Cached | benchSetup   | 256 (avatax)    | 0.00256 | 99845.8084 |\n| FastRoute\\MarkBased_Cached       | benchSetup   | 256 (avatax)    | 0.00257 | 99494.2386 |\n| FastRoute\\CharCountBased_Cached  | benchSetup   | 256 (avatax)    | 0.00275 | 93158.2356 |\n| FastRoute\\CharCountBased_Cached  | benchSetup   | 178 (bitbucket) | 0.00199 | 89443.6458 |\n| FastRoute\\MarkBased_Cached       | benchSetup   | 178 (bitbucket) | 0.00250 | 71198.3703 |\n| FastRoute\\GroupPosBased_Cached   | benchSetup   | 178 (bitbucket) | 0.00253 | 70379.5354 |\n| FastRoute\\GroupCountBased_Cached | benchSetup   | 178 (bitbucket) | 0.00258 | 69070.7847 |\n| FastRoute\\CharCountBased_Cached  | benchAll     | 256 (avatax)    | 0.00402 | 63727.3324 |\n| FastRoute\\CharCountBased_Cached  | benchAll     | 178 (bitbucket) | 0.00280 | 63571.7057 |\n| FastRoute\\GroupCountBased_Cached | benchAll     | 256 (avatax)    | 0.00412 | 62091.1249 |\n| FastRoute\\GroupPosBased_Cached   | benchAll     | 256 (avatax)    | 0.00457 | 56020.3382 |\n| FastRoute\\CharCountBased_Cached  | benchLast    | 256 (avatax)    | 0.00483 | 53047.8644 |\n| FastRoute\\MarkBased_Cached       | benchAll     | 256 (avatax)    | 0.00483 | 52948.4601 |\n| FastRoute\\GroupCountBased_Cached | benchAll     | 178 (bitbucket) | 0.00337 | 52833.2115 |\n| Symfony\\CompiledUrlMatcher       | benchSetup   | 256 (avatax)    | 0.00494 | 51831.5226 |\n| FastRoute\\CharCountBased_Cached  | benchLongest | 256 (avatax)    | 0.00501 | 51089.2051 |\n| FastRoute\\MarkBased_Cached       | benchLongest | 256 (avatax)    | 0.00514 | 49844.1102 |\n| FastRoute\\GroupCountBased_Cached | benchLongest | 256 (avatax)    | 0.00515 | 49698.7652 |\n| FastRoute\\GroupPosBased_Cached   | benchAll     | 178 (bitbucket) | 0.00359 | 49583.9883 |\n| FastRoute\\MarkBased_Cached       | benchAll     | 178 (bitbucket) | 0.00387 | 45957.9016 |\n| FastRoute\\GroupPosBased_Cached   | benchLongest | 256 (avatax)    | 0.00569 | 44982.9000 |\n| FastRoute\\GroupCountBased_Cached | benchLast    | 256 (avatax)    | 0.00570 | 44928.3159 |\n| FastRoute\\GroupPosBased_Cached   | benchLast    | 256 (avatax)    | 0.00574 | 44622.1096 |\n| FastRoute\\CharCountBased_Cached  | benchLongest | 178 (bitbucket) | 0.00417 | 42696.2205 |\n| FastRoute\\MarkBased_Cached       | benchLast    | 256 (avatax)    | 0.00613 | 41789.5938 |\n| FastRoute\\MarkBased_Cached       | benchLongest | 178 (bitbucket) | 0.00435 | 40929.0122 |\n| Symfony\\CompiledUrlMatcher       | benchSetup   | 178 (bitbucket) | 0.00450 | 39598.2874 |\n| FastRoute\\GroupPosBased_Cached   | benchLast    | 178 (bitbucket) | 0.00456 | 39069.8682 |\n| FastRoute\\GroupPosBased_Cached   | benchLongest | 178 (bitbucket) | 0.00456 | 39035.1412 |\n| FastRoute\\CharCountBased_Cached  | benchLast    | 178 (bitbucket) | 0.00464 | 38347.4298 |\n| FastRoute\\MarkBased_Cached       | benchLast    | 178 (bitbucket) | 0.00486 | 36595.5645 |\n| FastRoute\\GroupCountBased_Cached | benchLongest | 178 (bitbucket) | 0.00548 | 32494.1727 |\n| Symfony\\CompiledUrlMatcher       | benchLast    | 256 (avatax)    | 0.00797 | 32124.8750 |\n| Symfony\\CompiledUrlMatcher       | benchAll     | 256 (avatax)    | 0.00806 | 31749.6621 |\n| FastRoute\\GroupCountBased_Cached | benchLast    | 178 (bitbucket) | 0.00583 | 30521.4877 |\n| Symfony\\CompiledUrlMatcher       | benchLongest | 256 (avatax)    | 0.00893 | 28676.7038 |\n| Symfony\\CompiledUrlMatcher       | benchLast    | 178 (bitbucket) | 0.00650 | 27371.5395 |\n| Symfony\\CompiledUrlMatcher       | benchLongest | 178 (bitbucket) | 0.00656 | 27137.7307 |\n| Symfony\\CompiledUrlMatcher       | benchAll     | 178 (bitbucket) | 0.00713 | 24968.6001 |\n| Symfony\\UrlMatcher               | benchSetup   | 178 (bitbucket) | 0.03712 | 4794.87564 |\n| Symfony\\UrlMatcher               | benchSetup   | 256 (avatax)    | 0.07012 | 3650.68058 |\n| Symfony\\UrlMatcher               | benchAll     | 178 (bitbucket) | 0.04896 | 3635.48147 |\n| Symfony\\UrlMatcher               | benchAll     | 256 (avatax)    | 0.07226 | 3542.95404 |\n| FastRoute\\GroupCountBased        | benchSetup   | 178 (bitbucket) | 0.13366 | 1331.73646 |\n| FastRoute\\MarkBased              | benchSetup   | 178 (bitbucket) | 0.13390 | 1329.36992 |\n| FastRoute\\GroupPosBased          | benchLongest | 178 (bitbucket) | 0.13566 | 1312.07445 |\n| FastRoute\\GroupCountBased        | benchLast    | 178 (bitbucket) | 0.13753 | 1294.28243 |\n| FastRoute\\MarkBased              | benchAll     | 178 (bitbucket) | 0.13756 | 1293.96165 |\n| FastRoute\\GroupPosBased          | benchSetup   | 178 (bitbucket) | 0.13791 | 1290.72464 |\n| FastRoute\\MarkBased              | benchLast    | 178 (bitbucket) | 0.13802 | 1289.65889 |\n| FastRoute\\GroupPosBased          | benchAll     | 178 (bitbucket) | 0.13871 | 1283.26144 |\n| FastRoute\\GroupPosBased          | benchLast    | 178 (bitbucket) | 0.14163 | 1256.78799 |\n| FastRoute\\GroupCountBased        | benchAll     | 178 (bitbucket) | 0.14206 | 1252.98291 |\n| FastRoute\\CharCountBased         | benchLast    | 178 (bitbucket) | 0.14391 | 1236.84172 |\n| FastRoute\\MarkBased              | benchLongest | 178 (bitbucket) | 0.14714 | 1209.70849 |\n| FastRoute\\GroupCountBased        | benchLongest | 178 (bitbucket) | 0.14937 | 1191.65492 |\n| Symfony\\UrlMatcher               | benchLongest | 178 (bitbucket) | 0.15510 | 1147.62471 |\n| FastRoute\\CharCountBased         | benchLongest | 178 (bitbucket) | 0.15512 | 1147.52064 |\n| FastRoute\\CharCountBased         | benchSetup   | 178 (bitbucket) | 0.15596 | 1141.28278 |\n| FastRoute\\CharCountBased         | benchAll     | 178 (bitbucket) | 0.16020 | 1111.07721 |\n| Symfony\\UrlMatcher               | benchLongest | 256 (avatax)    | 0.29018 | 882.216937 |\n| Symfony\\UrlMatcher               | benchLast    | 256 (avatax)    | 0.34392 | 744.363297 |\n| Symfony\\UrlMatcher               | benchLast    | 178 (bitbucket) | 0.26980 | 659.755668 |\n| FastRoute\\CharCountBased         | benchSetup   | 256 (avatax)    | 0.65860 | 388.704522 |\n| FastRoute\\GroupPosBased          | benchSetup   | 256 (avatax)    | 0.66391 | 385.593376 |\n| FastRoute\\GroupPosBased          | benchLongest | 256 (avatax)    | 0.66578 | 384.510810 |\n| FastRoute\\GroupPosBased          | benchAll     | 256 (avatax)    | 0.66791 | 383.286894 |\n| FastRoute\\GroupPosBased          | benchLast    | 256 (avatax)    | 0.67170 | 381.121983 |\n| FastRoute\\CharCountBased         | benchAll     | 256 (avatax)    | 0.67780 | 377.692435 |\n| FastRoute\\CharCountBased         | benchLast    | 256 (avatax)    | 0.68050 | 376.192903 |\n| FastRoute\\GroupCountBased        | benchLast    | 256 (avatax)    | 0.68315 | 374.736879 |\n| FastRoute\\GroupCountBased        | benchSetup   | 256 (avatax)    | 0.68423 | 374.144191 |\n| FastRoute\\CharCountBased         | benchLongest | 256 (avatax)    | 0.68938 | 371.350388 |\n| FastRoute\\MarkBased              | benchSetup   | 256 (avatax)    | 0.69827 | 366.620318 |\n| FastRoute\\GroupCountBased        | benchLongest | 256 (avatax)    | 0.71279 | 359.153019 |\n| FastRoute\\MarkBased              | benchLast    | 256 (avatax)    | 0.71922 | 355.943202 |\n| FastRoute\\GroupCountBased        | benchAll     | 256 (avatax)    | 0.72071 | 355.207732 |\n| FastRoute\\MarkBased              | benchLongest | 256 (avatax)    | 0.73385 | 348.844677 |\n| FastRoute\\MarkBased              | benchAll     | 256 (avatax)    | 0.77061 | 332.203083 |\n+----------------------------------+--------------+-----------------+---------+------------+\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkktsvetkov%2Fbenchmark-php-routing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkktsvetkov%2Fbenchmark-php-routing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkktsvetkov%2Fbenchmark-php-routing/lists"}