{"id":22158702,"url":"https://github.com/dhobsd/sbst","last_synced_at":"2025-09-21T16:31:12.889Z","repository":{"id":75665377,"uuid":"38388408","full_name":"dhobsd/sbst","owner":"dhobsd","description":"Benchmark various data structures / algorithms for string searching.","archived":false,"fork":false,"pushed_at":"2015-07-01T21:37:13.000Z","size":140,"stargazers_count":15,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-29T08:11:50.527Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dhobsd.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}},"created_at":"2015-07-01T18:40:15.000Z","updated_at":"2023-04-20T06:18:58.000Z","dependencies_parsed_at":"2023-02-24T14:15:11.599Z","dependency_job_id":null,"html_url":"https://github.com/dhobsd/sbst","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/dhobsd%2Fsbst","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhobsd%2Fsbst/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhobsd%2Fsbst/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhobsd%2Fsbst/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dhobsd","download_url":"https://codeload.github.com/dhobsd/sbst/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233626892,"owners_count":18704810,"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":[],"created_at":"2024-12-02T03:35:42.686Z","updated_at":"2025-09-21T16:31:12.516Z","avatar_url":"https://github.com/dhobsd.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sbst\n\nBenchmarking various datastructures and algorithms for string lookups. For\nmore context, see also:\n\n * https://9vx.org/post/efficient-string-searching/\n * https://9vx.org/post/efficient-string-searching-pt2/\n\n## Running Benchmarks\n\nYou'll need a dictionary and possibly to fiddle around with the `mkwords.pl`\nscript.\n\n * Run `make`\n * Run `./mkwords.pl [nwords] [nfiles] [depth] [prefix]`. If you intend to\n   run more than 1 thread, `nfiles` must be more than 1. `depth` controls\n   how deep to make the string. If you specify a `prefix`, generated strings\n   will all contain that prefix.\n * Run `./bench-[foo] [nthreads] [nwords]` to benchmark a particular\n   algorithm.\n\n## Notes\n\nThe reported times contain:\n\n 1. The time it took to parse input, allocate data structures, insert, and\n    find the element just inserted.\n 2. The time it took to find items in insertion order.\n\nTimes are measured in CPU cycles.\n\nI'm sure there are ways to improve these tests. I'd be interested in\ncontributions for other data structures or other implementations of the same\ndata structures used here.\n\nI'd also be interested in ports to other platforms and results.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdhobsd%2Fsbst","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdhobsd%2Fsbst","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdhobsd%2Fsbst/lists"}