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

# Launch the interactive TUI
ollama-profiler

# Or compare directly from the command line
ollama-profiler gemma4:e2b qwen3.5:2b

# 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 TUI by default, or pass models for non-interactive CLI 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.3.0-py3-none-win_arm64.whl (8.7 MB view details)

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

ollama_profiler-0.3.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.3.0-py3-none-win_arm64.whl.

File metadata

File hashes

Hashes for ollama_profiler-0.3.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 8596c6257f63f7f5f92c526d155917d786340c9963b19d38403e944c56f92949
MD5 3d9bb4b5b9c235aaca50607a2a8a4748
BLAKE2b-256 d150a4157a0b91e04697c8197467b178e2aa1d690d00b8157cb27896c8b863dd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ollama_profiler-0.3.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 b6a10be2de7030b5ed4152aa4e1a0f58342b439a99699a5e91cd02e3c9e948ea
MD5 a5296a5c1c6ff99344a9626d9ec6dac7
BLAKE2b-256 216a3cf170299a6ab6d30422761a992eb0c36d87570cacc5853c352935babd7f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ollama_profiler-0.3.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 99a04e715ca56b108ca1160543eb2166d0f3cb9dd8111e6f896ba69355845e84
MD5 123cb4b71e5e003d9402824d7086b181
BLAKE2b-256 d49d801339e78fbdb201ebdbd941e58c8e79b907b8648ae7ebbb0955197c2c83

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ollama_profiler-0.3.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 18ae563445aee54af31f0a898c71e501a59a0e6178f45be8f2822699823d7ab2
MD5 c4e47b4fcf8874739a19a1f78f44f409
BLAKE2b-256 82788050b7f94d179870a9ecdbb278a501767c4bd8db3f3cbdea694f1c6334fb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ollama_profiler-0.3.0-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 0699837196f9190d86738d6bf1b3c1f4073d00dfd40bcfb694566bc58aabacce
MD5 ecf6d82096e0e33f5802c333ce043bbc
BLAKE2b-256 98c8cf2dda675ba2fce26a20b196b6e5013094793807a1ce94573ab34b79424f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ollama_profiler-0.3.0-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 a99bab9744d8a19d471e5bdd87f0c9ca614eb9912b3dd93686ab34ca35756908
MD5 2a7b22f8bfbcf7890eb8e55f61c98dae
BLAKE2b-256 1512b62233a79ba9970c004d050c6de1991ee424237f8b0ef646cdca271e0be7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ollama_profiler-0.3.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fb4547c33a6884bed880d807c59f728231b0289cf7804ebc6f5a4730c7e45f2c
MD5 dfcbbb89684506b2da460885ee558315
BLAKE2b-256 cc3a842bea3d63139785633eb063b4808c03d8a94d85f693bfa3fbe4e0eb5bf6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ollama_profiler-0.3.0-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5599857d4a3aac7c1e9203dfaec552ee7887aa1738a3e93310804d8b6533a31d
MD5 ebf9c4589007df64243d314e91a91b67
BLAKE2b-256 01783a0fe6786fcbd95d744f270b2909f6033b5477d22b2c21dc807cdf76f7de

See more details on using hashes here.

Provenance

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