{"id":50770473,"url":"https://github.com/aminalaee/benchdiff","last_synced_at":"2026-06-11T18:01:05.947Z","repository":{"id":356484869,"uuid":"1232051569","full_name":"aminalaee/benchdiff","owner":"aminalaee","description":"CLI benchmarking tool with rich terminal output and markdown export.","archived":false,"fork":false,"pushed_at":"2026-05-08T09:23:05.000Z","size":231,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-08T10:21:52.814Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"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/aminalaee.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-07T14:40:41.000Z","updated_at":"2026-05-08T09:22:30.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/aminalaee/benchdiff","commit_stats":null,"previous_names":["aminalaee/benchdiff"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/aminalaee/benchdiff","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aminalaee%2Fbenchdiff","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aminalaee%2Fbenchdiff/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aminalaee%2Fbenchdiff/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aminalaee%2Fbenchdiff/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aminalaee","download_url":"https://codeload.github.com/aminalaee/benchdiff/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aminalaee%2Fbenchdiff/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34211067,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2026-06-11T18:01:04.725Z","updated_at":"2026-06-11T18:01:05.927Z","avatar_url":"https://github.com/aminalaee.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# benchdiff\n\nA CLI benchmarking tool with rich terminal output and markdown export.\n\n## Installation\n\n```bash\npip install benchdiff\n```\n\n## Usage\n\nCreate a file named `bench_*.py` and define a `__benchmarks__` list:\n\n```python\n# bench_strings.py\n\nwords = [\"hello\", \"world\", \"foo\", \"bar\"]\n\n\ndef concat():\n    result = \"\"\n    for w in words:\n        result += w\n\n\ndef join():\n    \"\".join(words)\n\n\ndef format_string():\n    \"%s %s %s %s\" % tuple(words)\n\n\ndef fstring():\n    f\"{words[0]} {words[1]} {words[2]} {words[3]}\"\n\n\n__benchmarks__ = [\n    (\"String concatenation\", [concat, join]),\n    (\"String formatting\", [format_string, fstring]),\n]\n```\n\nRun benchmarks:\n\n```bash\nbenchdiff benchmarks/\n```\n\n```\n╭──────────────────────────────── benchdiff ────────────────────────────────╮\n│                                                                           │\n│   Benchmark                 Min         Median        Max          ×      │\n│  ───────────────────────────────────────────────────────────────────────  │\n│   String concatenation                                                    │\n│     concat                78.333ns     80.833ns     97.750ns    1.711x    │\n│     join                  44.250ns     47.250ns     53.125ns    1.000x    │\n│   String formatting                                                       │\n│     format_string        103.834ns    110.417ns    114.708ns    1.464x    │\n│     fstring               75.000ns     75.417ns     76.083ns    1.000x    │\n│                                                                           │\n│   * times in nanoseconds, lower is better                                 │\n│ ───────────────────────────────────────────────────────────────────────── │\n│   Python      3.14.2                                                      │\n│   Platform    macOS-26.3.1                                                │\n│   CPU         Apple M3 Pro                                                │\n│   Rounds      5 × 1,000 calls                                             │\n│   Date        2026-05-08 10:05:59                                         │\n╰───────────────────────────────────────────────────────────────────────────╯\n```\n\n## CLI options\n\n```\nbenchdiff [PATH] [OPTIONS]\n\nArguments:\n  PATH    Path to search for bench_*.py files [default: .]\n\nOptions:\n  --repeat    Number of measurement loops [default: 5]\n  --times     Number of calls per measurement [default: 1000]\n  --markdown  Output as GFM markdown table\n  --help      Show this message and exit.\n```\n\n## Markdown output\n\n```bash\nbenchdiff benchmarks/ --markdown\n```\n\n| Benchmark | Min | Median | Max | × |\n|:---|:---:|:---:|:---:|:---:|\n| **String concatenation** | | | | |\n| concat | 84.875ns | 94.250ns | 157.792ns | 1.879x |\n| join | 50.042ns | 50.167ns | 52.166ns | 1.000x |\n| **String formatting** | | | | |\n| format_string | 113.833ns | 115.083ns | 118.750ns | 1.539x |\n| fstring | 72.375ns | 74.791ns | 84.583ns | 1.000x |\n\n*times in nanoseconds, lower is better*\n\nPython 3.14.2 · macOS-26.3.1 · Apple M3 Pro · 5 × 1,000 rounds · 2026-05-08 11:14:38\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faminalaee%2Fbenchdiff","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faminalaee%2Fbenchdiff","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faminalaee%2Fbenchdiff/lists"}