๐Ÿš€ Bashmark

June 12, 2025 ยท View on GitHub

โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ•—   โ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ•—
โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘ โ–ˆโ–ˆโ•”โ•
โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ–ˆโ–ˆโ–ˆโ–ˆโ•”โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ• 
โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•‘โ•šโ•โ•โ•โ•โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•— 
โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘ โ•šโ•โ• โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•—
โ•šโ•โ•โ•โ•โ•โ• โ•šโ•โ•  โ•šโ•โ•โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ•  โ•šโ•โ•โ•šโ•โ•     โ•šโ•โ•โ•šโ•โ•  โ•šโ•โ•โ•šโ•โ•  โ•šโ•โ•โ•šโ•โ•  โ•šโ•โ•

๐Ÿš€ Bashmark

Bashmark is a terminal-based benchmarking tool for testing CPU and GPU performance. Once installed, you can run it by simply typing:

bashmark

The program allows you to choose the type of benchmark you want to perform. Currently supported options:

  • ๐Ÿงฎ CPU Single-core Benchmark
  • ๐Ÿง  CPU Multi-core Benchmark
  • ๐ŸŽฎ GPU Benchmark

(More features are coming soon!)


๐Ÿ› ๏ธ How Does It Work?

Bashmark performs complex matrix math to simulate graphical rendering loads and computational tasks.

  • The program runs each benchmark for 2 minutes.
  • Outputs are displayed in a concise, easy-to-understand format.

๐Ÿ–ฅ๏ธ CPU Benchmarking

๐Ÿงต Single-core and Multi-core benchmarking is done by performing matrix math on one or more threads:

  • Single-core โ†’ One thread
  • Multi-core โ†’ Multiple threads

โš ๏ธ Caution:

  • The number of results may differ from the actual number of CPU cores, as the process depends on the number of threads, not cores.
  • On CPUs with hybrid architectures (e.g. performance + efficiency cores), thread performance may vary.

๐ŸŽฎ GPU Benchmarking

GPU benchmarking works similarly to CPU benchmarking but runs matrix math directly on the GPU using OpenCL.

  • GPU performance is independent of the number of threads.
  • Device information is printed at the start of the process for debugging purposes.

โš ๏ธ Caution:

  • Ensure the correct GPU device is selected (especially on multi-GPU systems).
  • For systems with unified memory, check if reported VRAM makes sense.
  • If OpenCL is not installed, GPU benchmarks won't run โ€” ensure your GPU drivers and OpenCL runtime are correctly installed.

๐ŸŒ Compatibility

Bashmark is designed from the ground up to work on:

  • ๐ŸชŸ Windows
  • ๐ŸŽ macOS
  • ๐Ÿง Linux

Notes:

  • CPU benchmarking works out of the box.
  • GPU benchmarking requires proper installation of OpenCL โ€” this may need manual setup on some systems.
  • You may experience some lag when terminating a benchmark mid-run. The program has been tested to terminate cleanly without hanging.

๐Ÿ› ๏ธ Build Instructions

๐Ÿบ Homebrew (macOS / Linux)

Tap the repository and install:

brew tap Samrat079/bashmark
brew install bashmark

๐Ÿ“ฆ Pre-built Packages

You can download pre-built packages from the Releases page.

For Fedora / RHEL / CentOS:

Download bashmark-1.0.0.rpm and install:

sudo dnf install bashmark-1.0.0.rpm

For Debian:

Download bashmark-1.0.0.deb and install:

sudo apt install bashmark-1.0.0.deb

๐Ÿšง Known Issues

  • OpenCL must be installed and working correctly for GPU benchmarks.
  • On systems with hybrid CPUs, thread performance can vary.
  • Manual device verification is recommended before starting benchmarks.