BenchmarkTools makes performance tracking of Julia code easy by supplying a framework for writing and running groups of benchmarks as well as comparing benchmark results. This package is used to write and run the benchmarks found in BaseBenchmarks.jl. The CI infrastructure for automated performance testing of the Julia language is not in this package but can be found in Nanosoldier.jl. Our story begins with two packages, "Benchmarks" and "BenchmarkTrackers". The Benchmarks package implemented an execution strategy for collecting and summarizing individual benchmark results, while BenchmarkTrackers implemented a framework for organizing, running, and determining regressions of groups of benchmarks. Under the hood, BenchmarkTrackers relied on Benchmarks for actual benchmark execution.

Features

  • BenchmarkTools is a Julia Language package
  • Documentation available
  • Individual sample noise could significantly change the execution strategy used to collect further samples
  • The estimates used to characterize benchmark results and to detect regressions were statistically vulnerable to noise
  • Different benchmarks have different noise tolerances, but there was no way to tune this parameter on a per-benchmark basis
  • Running benchmarks took a long time - an order of magnitude longer than theoretically necessary for many functions
  • Using the system in the REPL (for example, to reproduce regressions locally) was often cumbersome

Project Samples

Project Activity

See All Activity >

Categories

Frameworks

License

MIT License

Follow BenchmarkTools.jl

BenchmarkTools.jl Web Site

Other Useful Business Software
Forever Free Full-Stack Observability | Grafana Cloud Icon
Forever Free Full-Stack Observability | Grafana Cloud

Our generous forever free tier includes the full platform, including the AI Assistant, for 3 users with 10k metrics, 50GB logs, and 50GB traces.

Built on open standards like Prometheus and OpenTelemetry, Grafana Cloud includes Kubernetes Monitoring, Application Observability, Incident Response, plus the AI-powered Grafana Assistant. Get started with our generous free tier today.
Create free account
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of BenchmarkTools.jl!

Additional Project Details

Programming Language

Julia

Related Categories

Julia Frameworks

Registered

2023-11-07