criterium

Community

Precise, repeatable benchmarking for Clojure.

Authorhugoduncan
Version1.0.0
Installs0

System Documentation

What problem does it solve?

Benchmarking Clojure code can be unreliable without accounting for JVM warmup, garbage collection, and measurement overhead. Criterium provides a principled approach to obtaining stable timing data and meaningful statistics.

Core Features & Use Cases

  • Three-stage pipeline: Collection, Analysis, and View separate timing data gathering, processing, and presentation.
  • JVM-aware measurement: Handles warmup and GC to reduce timing noise.
  • Multiple bench plans and viewers: Supports distribution analysis, histograms, and various output formats for human or programmatic consumption.
  • Domain benchmarking and argument generation: Enables parameterized benchmarks across ranges and test-check generators for robust testing.
  • Real-world use: compare two implementations, analyze performance across input sizes, or tune code using measured results.

Quick Start

Install the library, load the bench namespace, and run a simple benchmark to observe timing results.

Dependency Matrix

Required Modules

None required

Components

Standard package

💻 Claude Code Installation

Recommended: Let Claude install automatically. Simply copy and paste the text below to Claude Code.

Please help me install this Skill:
Name: criterium
Download link: https://github.com/hugoduncan/criterium/archive/main.zip#criterium

Please download this .zip file, extract it, and install it in the .claude/skills/ directory.
View Source Repository

Agent Skills Search Helper

Install a tiny helper to your Agent, search and equip skill from 223,000+ vetted skills library on demand.