Vtebench

Generate benchmarks for terminal emulators
Alternatives To Vtebench
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Hyperfine17,039218 days ago24June 03, 202343apache-2.0Rust
A command-line benchmarking tool
Colorette1,5496,5131,596a month ago37April 16, 20236mitJavaScript
🌈Easily set your terminal text color & styles
Cometd554172621 hours ago60June 23, 202256apache-2.0Java
The CometD project, a scalable comet (server push) implementation for web messaging.
Code Minimap550
7 days ago17January 01, 202212apache-2.0Rust
🛰 A high performance code minimap render.
Simpletable3037252 years ago1April 02, 20212mitGo
Simple tables in terminal with Go
Snap Python245
2 years ago62otherC++
SNAP Python code, SWIG related files
Spring Cloud Gateway Bench220
5 years ago5apache-2.0Shell
Simple benchmark comparing zuul and spring cloud gateway
Vtebench216
a year ago4September 19, 2020apache-2.0Rust
Generate benchmarks for terminal emulators
Typin18212 years ago20December 19, 202128otherC#
Declarative framework for interactive CLI applications
Terminal Codelearn80
3 years ago1JavaScript
Super fast multi user pseudo bash Terminal in Node.js & SockJS
Alternatives To Vtebench
Select To Compare


Alternative Project Comparisons
Readme

vtebench

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.

Popular Terminal Projects
Popular Benchmark Projects
Popular Command Line Interface Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Rust
Terminal
Benchmark
Plot
Plotting
Terminal Emulators