Skip to main content

CLI + TUI tool for benchmarking Ollama models side-by-side

Project description

ollama-profiler

PyPI Tests License

Profile and compare Ollama model performance side-by-side.

Measure tokens/sec, time-to-first-token, and 7 other metrics across your local models. Interactive TUI or rich CLI. Export to JSON, HTML, or PNG.

demo

Installation

This Go tool can be installed directly from PyPI using pip or uv.

You can run it without installing it first using uvx:

uvx ollama-profiler --help

Or install it, then run ollama-profiler:

uv tool install ollama-profiler
# or
pip install ollama-profiler
Other install methods

You can also install the Go binary directly:

go install github.com/piercecohen1/ollama-profiler@latest

Compiled binaries are available on the releases page.

Quick Start

# First, make sure you have some models to test
ollama pull gemma4:e2b
ollama pull qwen3.5:2b

# Compare them
ollama-profiler gemma4:e2b qwen3.5:2b

# Interactive TUI with mouse support
ollama-profiler --tui

# Rigorous comparison with balanced scheduling
ollama-profiler gemma4:e2b qwen3.5:2b \
  -n 4 --rounds 4 --balanced --warmup --cooldown 30

Features

  • Side-by-side comparison of multiple models on the same prompt
  • TUI + CLI — agent-friendly CLI by default, or launch an interactive full-screen TUI with --tui
  • Fair scheduling — sequential, round-robin, randomized rounds, or Latin-square balanced
  • Statistical summary — mean, stddev, min/max, relative %, color-coded winners
  • Export — JSON with metadata, self-contained HTML report, retina PNG charts
  • Reproducible — deterministic seed, configurable token limits, warmup & cooldown

Chart Export

charts

Requires Ollama running locally, or pass --url for a remote server. Run ollama-profiler --help for full usage.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ollama_profiler-0.4.0-py3-none-win_arm64.whl (8.7 MB view details)

Uploaded Python 3Windows ARM64

ollama_profiler-0.4.0-py3-none-win_amd64.whl (9.5 MB view details)

Uploaded Python 3Windows x86-64

ollama_profiler-0.4.0-py3-none-musllinux_1_2_x86_64.whl (9.3 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

ollama_profiler-0.4.0-py3-none-musllinux_1_2_aarch64.whl (8.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

ollama_profiler-0.4.0-py3-none-manylinux_2_17_x86_64.whl (9.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

ollama_profiler-0.4.0-py3-none-manylinux_2_17_aarch64.whl (8.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

ollama_profiler-0.4.0-py3-none-macosx_11_0_arm64.whl (8.8 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

ollama_profiler-0.4.0-py3-none-macosx_10_9_x86_64.whl (9.4 MB view details)

Uploaded Python 3macOS 10.9+ x86-64

File details

Details for the file ollama_profiler-0.4.0-py3-none-win_arm64.whl.

File metadata

File hashes

Hashes for ollama_profiler-0.4.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 fd7f2bfbb3b27f84b24672fa6181de75868c8700f45d1e08933372c2f8d4dfd5
MD5 5d42b4bc840208a2a80d59342921efd6
BLAKE2b-256 346e737755f1a97e05a8a92b0372db637613eb751507b0570d822a0a897f4454

See more details on using hashes here.

Provenance

The following attestation bundles were made for ollama_profiler-0.4.0-py3-none-win_arm64.whl:

Publisher: publish.yml on piercecohen1/ollama-profiler

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ollama_profiler-0.4.0-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for ollama_profiler-0.4.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 1db2bf08954daac54660199c79f6b36a23d49c90370b9a6d4b9fcf4d52240bf8
MD5 ba7dacff31960425f52fb0d1ce3fcfd0
BLAKE2b-256 62f574ddecec80c263f14f47da4e9ca4d178c2be5ff9860729f556c327d2c2ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for ollama_profiler-0.4.0-py3-none-win_amd64.whl:

Publisher: publish.yml on piercecohen1/ollama-profiler

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ollama_profiler-0.4.0-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ollama_profiler-0.4.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 62ee6ffa8ce31b1cf3b919f64c9d5b8d2b858c45b9cdcb093453f4ce6402f5e6
MD5 a2098986d6559c4a2babc0f882916f00
BLAKE2b-256 24d003e0dcf1b3fa0e84878969b7c32c0040af5c724eec528feea24792fe36d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ollama_profiler-0.4.0-py3-none-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on piercecohen1/ollama-profiler

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ollama_profiler-0.4.0-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ollama_profiler-0.4.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 48c5f19e4faca66d4319211df1e04eaaf319557acb2279b891f22a342920f531
MD5 b2d7d642ccaf0419cef194ee1f5f7bf6
BLAKE2b-256 bb813b3245c96114ca7858b541ab839b0ae2c5cbfc45ad730e582e086155830a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ollama_profiler-0.4.0-py3-none-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on piercecohen1/ollama-profiler

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ollama_profiler-0.4.0-py3-none-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for ollama_profiler-0.4.0-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 efb7a22dea004b8c5c87a7d10f749dcd90dd1e837604c256fa964b651e707ad1
MD5 cb3dad86e09384ee97c3462a7305b3ac
BLAKE2b-256 73a21b4441bd169ca9b2f4332b8a5e569762c302d1d041400cac5aacb4168ebe

See more details on using hashes here.

Provenance

The following attestation bundles were made for ollama_profiler-0.4.0-py3-none-manylinux_2_17_x86_64.whl:

Publisher: publish.yml on piercecohen1/ollama-profiler

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ollama_profiler-0.4.0-py3-none-manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for ollama_profiler-0.4.0-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 50fd1c26324404d07026d26ad75827e745c12c13210d85d0c9be1fdf460374e1
MD5 5b41c1c5ed7f91740c386d8d63c256e8
BLAKE2b-256 bda2d43d886eb84328b3d0ca7dd06138809e66d32429c56d3f15c36588c07f75

See more details on using hashes here.

Provenance

The following attestation bundles were made for ollama_profiler-0.4.0-py3-none-manylinux_2_17_aarch64.whl:

Publisher: publish.yml on piercecohen1/ollama-profiler

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ollama_profiler-0.4.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ollama_profiler-0.4.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0d24980d9129d4176d74a7c4e4ead2c4aa17bd3329d049120294e79d7ff8c972
MD5 4e6adf8d4250f9fbbdd4019e36a3b9d1
BLAKE2b-256 ed20c5a68bc78620b3175cd91e6818078d741db7beb5a624e208977d00318d37

See more details on using hashes here.

Provenance

The following attestation bundles were made for ollama_profiler-0.4.0-py3-none-macosx_11_0_arm64.whl:

Publisher: publish.yml on piercecohen1/ollama-profiler

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ollama_profiler-0.4.0-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for ollama_profiler-0.4.0-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9dcb85aa1c1f64fe4d70107239a05b60583c083a86632b357f29ca3ad9eff10c
MD5 99ac39b339894b17531ffe360983da58
BLAKE2b-256 8817ae1d0019f6bafd0abab6d93b27783c7f9facdf2133886904d858748aef39

See more details on using hashes here.

Provenance

The following attestation bundles were made for ollama_profiler-0.4.0-py3-none-macosx_10_9_x86_64.whl:

Publisher: publish.yml on piercecohen1/ollama-profiler

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page