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 — interactive full-screen UI or styled terminal output
  • 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

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.2.0-py3-none-win_arm64.whl (8.7 MB view details)

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

ollama_profiler-0.2.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.2.0-py3-none-musllinux_1_2_aarch64.whl (8.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

ollama_profiler-0.2.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.2.0-py3-none-manylinux_2_17_aarch64.whl (8.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

ollama_profiler-0.2.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.2.0-py3-none-win_arm64.whl.

File metadata

File hashes

Hashes for ollama_profiler-0.2.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 b5ca069486b8a6fa9698f9add64b1a0366259edb0364b9c845f84ece6333d382
MD5 57414180c5fb5430a18abf24801cf186
BLAKE2b-256 ffb838e0bc040986ba6c729ab4ac641ba970340a37237037dc9415bc73df1fe1

See more details on using hashes here.

Provenance

The following attestation bundles were made for ollama_profiler-0.2.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.2.0-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for ollama_profiler-0.2.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 28b3293986770c811bb7c1083ddbbdd69ddba408919b627eda118fc768efac5d
MD5 78d5cd3f5f1a46c8e39183a95013bf60
BLAKE2b-256 8ab2d013d4b9f2fe8a5c0063c5029c20790882d2060c80a9ec758fd8de9e987b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ollama_profiler-0.2.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.2.0-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ollama_profiler-0.2.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 52ab8b608fb8ab4464d739558fedc5ff13f2ef4177d9aca619d1ff3fea022db9
MD5 2bd4cfcaba691a499576e8c960b13d10
BLAKE2b-256 b56123d21da3a50322c36a4974e6c03cc7f3aefb2eca3004889e119761ac1bd4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ollama_profiler-0.2.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.2.0-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ollama_profiler-0.2.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e47248d0d1920e05f283b3e640de9c95c26a099e12b5a51a31ea550a65ad92be
MD5 554da40767f25c2de31f8e0cd936b962
BLAKE2b-256 81800a0faec98e408642af2fd1d40243fbdb04e96cd4c2914b310985c96654b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for ollama_profiler-0.2.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.2.0-py3-none-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for ollama_profiler-0.2.0-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 0d406984f351b8fa37392ec3beda8a3bf8310701697f23dda6734eb32814bc1c
MD5 148e3db99d7c386cfcd8c6d12f890edb
BLAKE2b-256 9495b006a614eaf72aa17276b6b4680123b3e0d1491909f90de349340ab9556d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ollama_profiler-0.2.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.2.0-py3-none-manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for ollama_profiler-0.2.0-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 b715f88cce5e247b0803b9047d21f0f423c20f2173659b0705c3b6236f9cbf62
MD5 224be97ec02d4ace1a76957cba84ca2b
BLAKE2b-256 e1583077aac08f432c1e29ef646ba1cbd3e3196c98bceccb0180965fbde64b75

See more details on using hashes here.

Provenance

The following attestation bundles were made for ollama_profiler-0.2.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.2.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ollama_profiler-0.2.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 630c1f877085f57c033b59b2e51547c08d4e71de5210fd105296fd58d1869c4d
MD5 d1b8afb6c4cede873a962560bd741d20
BLAKE2b-256 c94a612b0279109d81c3a91a7aac484bde292749516c2f886d0af07bf33586fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for ollama_profiler-0.2.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.2.0-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for ollama_profiler-0.2.0-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6cb387ef60e16a38362449534559ee8836829fc2ca8cc8aeb3474b863e6852d4
MD5 484f59c24860e54a0995d61782f394de
BLAKE2b-256 ef312a4e3ce2a5ddedd8563e3238c39b722795a57c59ec68012864df5f4f0ed8

See more details on using hashes here.

Provenance

The following attestation bundles were made for ollama_profiler-0.2.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