alacritty/vtebench
alacritty/vtebench has 417 GitHub stars and 31 forks. Star changes are not measured yet. Last checked 2026-11-11 02:27 UTC. Last push 2025-01-09.
Generate benchmarks for terminal emulators
Measured star growth
- in 24h
- Update delayed
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Originalvtebench
A tool for benchmarking terminal emulator PTY read performance.
Disclaimer
This benchmark is not sufficient to get a general understanding of the performance of a terminal emulator. It lacks support for critical factors like frame rate or latency. The only factor this benchmark stresses is the speed at which a terminal reads from the PTY. If you do not understand what this means, please do not jump to any conclusions from the results of this benchmark.
Usage
vtebench accepts benchmarks as executables and uses their stdout as benchmark
payload. By default benchmarks are read from the ./benchmarks directory, which
contains a good selection of benchmarks already. Benchmarks in vtebench are
defined as a directory with a benchmark and an optional setup executable.
To just run all the default benchmarks in the repository, you can run the following after setting up a Rust toolchain:
cargo run --release
Plotting
vtebench contains a script for automatically plotting results using gnuplot.
To do this you first need to output the benchmark results in the .dat format:
cargo run --release -- --dat results.dat
After having generated the .dat file, you can then pass it to a script in the
./gnuplot directory to generate the SVG plot:
./gnuplot/summary.sh results.dat output.svg
You can combine any number of results by passing them to the gnuplot script:
./gnuplot/summary.sh *.dat output.svg
And can plot detailed results using detailed.sh:
./gnuplot/detailed.sh *.dat output/
Contributing Benchmarks
If you have found benchmarks that might provide insightful information, or show significant differences between different terminals and version, you can send a pull request to add them to the default benchmark collection.
To do so, you just need to create a new directory in the ./benchmarks
directory and add a benchmark and an optional setup executable. The stdout
of the benchmark will automatically be repeated to fill a reasonable minimum
sample size, so make sure to take that into account and move everything into
setup that should only be done once.
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
561,625 starspublic-apis/public-apis
A collective list of free APIs
497,970 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
450,201 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,303 stars