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

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

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

ollama_profiler-0.3.1-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.1-py3-none-win_arm64.whl.

File metadata

File hashes

Hashes for ollama_profiler-0.3.1-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 57f8411aa23e7dfc8f9ebee47abe4fb23dec88876614aa3449d1e30dba711bde
MD5 316ae162b2b02f1d7b5852dcdf29d2c6
BLAKE2b-256 5b2328f14ab9fef28afbbe20c02a76e39bbd6a695d9959cbe24cd69a948bc54a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ollama_profiler-0.3.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 436cd560104f38b67d60c93692842c7bee6e29fc0595d608810ec33d243bb3d3
MD5 3231b076c11f40b112526921c6296dbf
BLAKE2b-256 498171f5e08c695820ff89734fa41119afff9697669730a910f875ac2d6fd578

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ollama_profiler-0.3.1-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d23d40994e13102ab4c1fc5a1cd5743a132192e862ba431fd04dabe1ef9a6044
MD5 15823ad2145cc9f2c1f9206ebc042e8b
BLAKE2b-256 cfc1c247179125df185f45b09474a8521d13bfaf27eb5b3b1763a7bc8bccf2bb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ollama_profiler-0.3.1-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 135af0cf525c6363107a1da25cf5c5d8c103458273c69aed7f2e20df9128bb49
MD5 2463d523b44f91db7d10c33efb6a80dd
BLAKE2b-256 1f7046079b984d660d8a96a3f161b14c6058a26b44c81e39e036097f9ce89e7d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ollama_profiler-0.3.1-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 a86b75c8df6bd45002e7e1b0d01605025cfd6d816fdad8f3a59293ced8a5b8b1
MD5 5f54eac7c5433abc417da58f321ebe53
BLAKE2b-256 ccfbc2e8af583d7b18a9b3a0e503f92436478dd491de716640f1aec8a5c600ae

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ollama_profiler-0.3.1-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 2bed5b84b30d30c8211a896f21f0c431aed597d82cc01f90fa3a2801ab2fb6f8
MD5 8ccc812b61c09d7752c742e5bb9999da
BLAKE2b-256 b29b6690a216fb33df5b695786dc70b3872bf9783110ec87baa94abc55caa632

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ollama_profiler-0.3.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0d9959c56539132e8d39039d200534720e84045de38e319643236cce94a2e4c8
MD5 0386d6a399b69fd886134c026c364c20
BLAKE2b-256 820c9ccec98409e52d9c64037d40a36dbc7e7480981c4cd665b91e392e97650c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ollama_profiler-0.3.1-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f6bab51573393eb0b6534b2ea1ac1bec473db89c74f5cd0259f7b547b8c6237b
MD5 0d1331b4bdfb614c8db2cdcd9bde0e52
BLAKE2b-256 db1fcdaa719c49f8dca4f16a9f28cc4250a4186945dbb851dd1001f8b695c2df

See more details on using hashes here.

Provenance

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