You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Unlike the reference implementations that only process JSON from stdin, `ccusage` and `ccstatusline` also read configuration files from `$HOME/.claude` and may make API calls. The performance measurements for these tools reflect their full behavior and may vary depending on your system configuration, network latency, and Claude API response times.
43
+
44
+
Measuring the performance of these tools is out of scope for this benchmark; technically one could point `$CLAUDE_CONFIG_DIR` to a synthetic directory and have a file like `../docs/actual_stdin.json` point to it. This would lead to reproducible results.
38
45
39
46
## Execution Time
40
47
41
48
| Implementation | Author | Stack | Avg | Min | Max | vs Baseline (Avg) |
|[simple-statusline.sh](https://docs.claude.com/en/docs/claude-code/statusline#simple-status-line)| Anthropic | Bash, jq | 8.7 ms | 6.3 ms | 14.6 ms |**12.7x**|
45
53
|[helper-function-statusline.sh](https://docs.claude.com/en/docs/claude-code/statusline#helper-function-approach)| Anthropic | Bash, jq | 11.3 ms | 6.6 ms | 25.0 ms |**16.4x**|
46
54
|[git-aware-statusline.sh](https://docs.claude.com/en/docs/claude-code/statusline#git-aware-status-line)| Anthropic | Bash, jq, Git | 16.6 ms | 9.4 ms | 32.2 ms |**24.2x**|
47
55
|[python-example.py](https://docs.claude.com/en/docs/claude-code/statusline#python-example)| Anthropic | Python | 19.3 ms | 13.8 ms | 38.2 ms |**28.0x**|
48
56
|[nodejs-example.js](https://docs.claude.com/en/docs/claude-code/statusline#node-js-example)| Anthropic | Node.js | 23.6 ms | 17.3 ms | 40.0 ms |**34.3x**|
57
+
|**Third-party tools**|||||||
58
+
|[ccstatusline (direct)](https://github.com/sirmalloc/ccstatusline)| sirmalloc | Node.js | 193.4 ms | 169.9 ms | 217.7 ms |**281.0x**|
59
+
|[ccusage statusline --offline (direct)](https://github.com/ryoppippi/ccusage)| ryoppippi | Node.js | 205.5 ms | 51.9 ms | 3.0 s |**298.6x**|
60
+
|[ccusage statusline (direct)](https://github.com/ryoppippi/ccusage)| ryoppippi | Node.js | 252.8 ms | 51.8 ms | 3.1 s |**367.3x**|
61
+
|**Third-party tools with `bunx`/`npx`**|||||||
62
+
|[ccstatusline (bunx)](https://github.com/sirmalloc/ccstatusline)| sirmalloc | Bun, bunx | 669.8 ms | 527.0 ms | 1.6 s |**973.1x**|
63
+
|[ccusage statusline --offline (npx)](https://github.com/ryoppippi/ccusage)| ryoppippi | Node.js, npx | 873.6 ms | 210.9 ms | 3.1 s |**1269.2x**|
64
+
|[ccusage statusline (npx)](https://github.com/ryoppippi/ccusage)| ryoppippi | Node.js, npx | 704.5 ms | 208.9 ms | 3.2 s |**1023.5x**|
0 commit comments