{"id":38860333,"url":"https://github.com/karust/regexcmp","last_synced_at":"2026-01-17T14:21:24.709Z","repository":{"id":189043593,"uuid":"674670001","full_name":"karust/regexcmp","owner":"karust","description":"A tool to compare different regexp libraries in Go","archived":false,"fork":false,"pushed_at":"2023-09-01T17:09:39.000Z","size":21,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-06-21T15:41:12.600Z","etag":null,"topics":["benchmark","go","golang","hyperscan","pcre","re2","regex","regex-engine","regexp","yara"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/karust.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2023-08-04T13:47:47.000Z","updated_at":"2023-12-05T12:58:36.000Z","dependencies_parsed_at":"2024-06-21T14:20:32.515Z","dependency_job_id":"4ee6f3d6-4e1e-4d40-9ed7-7379c43856c8","html_url":"https://github.com/karust/regexcmp","commit_stats":null,"previous_names":["karust/regexcmp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/karust/regexcmp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karust%2Fregexcmp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karust%2Fregexcmp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karust%2Fregexcmp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karust%2Fregexcmp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/karust","download_url":"https://codeload.github.com/karust/regexcmp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karust%2Fregexcmp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28509942,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T13:38:16.342Z","status":"ssl_error","status_checked_at":"2026-01-17T13:37:44.060Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","go","golang","hyperscan","pcre","re2","regex","regex-engine","regexp","yara"],"created_at":"2026-01-17T14:21:24.647Z","updated_at":"2026-01-17T14:21:24.698Z","avatar_url":"https://github.com/karust.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Regexcmp\nA tool to compare different *regexp* libraries in Go.\n\n## Usage\n* Build docker image first:\n```\ndocker build -t regexcmp .\n```\n\n* Run:\n```go\n# To benchmark all libs with 100MB payload \ndocker run -it regexcmp 1000000 \n\n# To benchmark specific lib\ndocker run -it regexcmp 1000000 rure\n\n# Use help to see additional arguments\ndocker run -it regexcmp -h\n```\n* Example output:\n```go\nGenerate data...\nTest data size: 100.00MB\n\nRun RURE:\n  [bitcoin] count=1000000, mem=16007.26KB, time=2.393203s \n  [non_matching_email] count=0, mem=0.10KB, time=4.978ms\n  [non_matching_tel] count=0, mem=0.10KB, time=19.4ms \n  [email] count=1000000, mem=16007.26KB, time=180.339ms \n  [uri] count=1000000, mem=16007.26KB, time=72.79ms \n  [tel] count=1000000, mem=16007.26KB, time=87.417ms \n  [non_matching_bitcoin] count=0, mem=0.10KB, time=4.701ms\n  [non_matching_ssn] count=0, mem=0.10KB, time=4.776ms\n  [non_matching_uri] count=0, mem=0.10KB, time=3.953ms\n  [ssn] count=1000000, mem=16007.26KB, time=63.091ms \nTotal. Counted: 5000000, Memory: 80.04MB, Duration: 2.834648s\n\nRun PCRE:\n  [non_matching_bitcoin] count=0, mem=2.83KB, time=5.752038s \n  [non_matching_ssn] count=0, mem=0.38KB, time=4.310001s \n  [non_matching_uri] count=0, mem=0.58KB, time=12.255856s \n  [ssn] count=1000000, mem=185728.36KB, time=2.158912s \n  [uri] count=1000000, mem=185728.62KB, time=2.932053s \n  [tel] count=1000000, mem=185730.73KB, time=374.353ms \n  [non_matching_tel] count=0, mem=0.54KB, time=9.50965s \n  [email] count=1000000, mem=185737.35KB, time=50.398534s \n  [bitcoin] count=1000000, mem=185728.50KB, time=2.209771s \n  [non_matching_email] count=0, mem=0.90KB, time=1m46.619988s \nTotal. Counted: 5000000, Memory: 928.67MB, Duration: 3m16.521157s\n\nRun RE2:\n  [non_matching_uri] count=0, mem=100475.89KB, time=464.34ms \n  [ssn] count=1000000, mem=254206.04KB, time=955.798ms \n  [uri] count=1000000, mem=254201.70KB, time=1.0334s \n  [tel] count=1000000, mem=254210.47KB, time=676.73ms \n  [non_matching_bitcoin] count=0, mem=101309.31KB, time=486.574ms \n  [non_matching_ssn] count=0, mem=100473.73KB, time=484.58ms \n  [email] count=1000000, mem=254214.71KB, time=993.26ms \n  [bitcoin] count=1000000, mem=255037.29KB, time=1.085351s \n  [non_matching_email] count=0, mem=100473.73KB, time=460.276ms \n  [non_matching_tel] count=0, mem=100482.41KB, time=131.845ms \nTotal. Counted: 5000000, Memory: 1775.10MB, Duration: 6.772154s\n\nRun HYPER:\n  [non_matching_email] count=0, mem=0.68KB, time=4.664ms\n  [non_matching_tel] count=0, mem=0.68KB, time=4.608ms \n  [email] count=1000000, mem=313924.02KB, time=503.998ms \n  [bitcoin] count=1000000, mem=313917.78KB, time=2.009167s \n  [tel] count=1000000, mem=313917.78KB, time=1.098001s \n  [non_matching_bitcoin] count=0, mem=0.68KB, time=4.763ms\n  [non_matching_ssn] count=0, mem=0.68KB, time=5.217ms\n  [non_matching_uri] count=0, mem=0.68KB, time=99.45ms \n  [ssn] count=1000000, mem=313917.78KB, time=176.874ms \n  [uri] count=1000000, mem=313917.78KB, time=695.772ms \nTotal. Counted: 5000000, Memory: 1569.61MB, Duration: 4.602514s\n\nRun REGEXP2:\n  [ssn] count=1000000, mem=853734.35KB, time=2.875972s \n  [uri] count=1000000, mem=853739.38KB, time=21.677275s \n  [tel] count=1000000, mem=853741.90KB, time=1.518279s \n  [non_matching_bitcoin] count=0, mem=396009.41KB, time=3.874902s \n  [non_matching_ssn] count=0, mem=396006.73KB, time=3.208081s \n  [non_matching_uri] count=0, mem=396011.63KB, time=33.08703s \n  [email] count=1000000, mem=997750.80KB, time=2m6.951302s \n  [bitcoin] count=1000000, mem=901736.76KB, time=3.49451s \n  [non_matching_email] count=0, mem=396023.10KB, time=2m21.045346s \n  [non_matching_tel] count=0, mem=396014.55KB, time=18.878766s \nTotal. Counted: 5000000, Memory: 6440.79MB, Duration: 5m56.611463s\n\nRun DEFAULT:\n  [ssn] count=1000000, mem=143931.77KB, time=2.667804s \n  [uri] count=1000000, mem=143926.62KB, time=3.576647s \n  [tel] count=1000000, mem=143935.06KB, time=1.525194s \n  [non_matching_bitcoin] count=0, mem=65.23KB, time=3.034315s \n  [non_matching_ssn] count=0, mem=3.75KB, time=2.589903s \n  [non_matching_uri] count=0, mem=6.07KB, time=3.605346s \n  [email] count=1000000, mem=191935.21KB, time=11.309224s \n  [bitcoin] count=1000000, mem=159985.27KB, time=3.130667s \n  [non_matching_email] count=0, mem=22.83KB, time=11.396394s \n  [non_matching_tel] count=0, mem=14.94KB, time=2.437024s \nTotal. Counted: 5000000, Memory: 783.83MB, Duration: 45.272517s\n```\n\n## Used libraries\n* [go-re2](https://github.com/wasilibs/go-re2)\n* [regexp2](https://github.com/dlclark/regexp2)\n* [go-pcre](https://github.com/GRbit/go-pcre)\n* [rure-go](https://github.com/BurntSushi/rure-go)\n* [gohs](https://github.com/flier/gohs)\n* [go-yara](https://github.com/hillu/go-yara)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarust%2Fregexcmp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkarust%2Fregexcmp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarust%2Fregexcmp/lists"}