# Benchee v1.5.1 - Table of Contents > Versatile (micro) benchmarking that is extensible. Get statistics such as: average, iterations per second, standard deviation and the median. ## Pages - [Changelog](changelog.md) - [License](license.md) - [Readme](readme.md) ## Modules - [:benchee](:benchee.md): High-Level interface for more convenient usage from Erlang. Same as `Benchee`. - [Benchee](Benchee.md): Top level module providing convenience access to needed functions as well as the very high level `Benchee.run` API. - [Benchee.Benchmark](Benchee.Benchmark.md): Functions related to building and running benchmarking scenarios. Exposes `benchmark/4` and `collect/3` functions. - [Benchee.Benchmark.BenchmarkConfig](Benchee.Benchmark.BenchmarkConfig.md): Benchmark Configuration, practically a sub set of `Benchee.Configuration` - [Benchee.Benchmark.Hooks](Benchee.Benchmark.Hooks.md): Internal module to support hooks functionality. - [Benchee.Benchmark.Runner](Benchee.Benchmark.Runner.md): Internal module "running" a scenario, measuring all defined measurements. - [Benchee.Benchmark.ScenarioContext](Benchee.Benchmark.ScenarioContext.md): Internal struct the runner & related modules deal with to run a scenario. - [Benchee.CollectionData](Benchee.CollectionData.md): The unified data structure for a given collection of data. - [Benchee.Configuration](Benchee.Configuration.md): Functions to handle the configuration of Benchee, exposes `init/1` function. - [Benchee.Conversion](Benchee.Conversion.md): Integration of the conversion of multiple units with Benchee. - [Benchee.Conversion.Count](Benchee.Conversion.Count.md): Unit scaling for counts, such that 1000000 can be converted to 1 Million. - [Benchee.Conversion.DeviationPercent](Benchee.Conversion.DeviationPercent.md): Helps with formatting for the standard deviation ratio converting it into the more common percent form. - [Benchee.Conversion.Duration](Benchee.Conversion.Duration.md): Unit scaling for duration converting from microseconds to minutes and others. - [Benchee.Conversion.Format](Benchee.Conversion.Format.md): Functions for formatting values and their unit labels. Different domains handle this task differently, for example durations and counts. - [Benchee.Conversion.Memory](Benchee.Conversion.Memory.md): Unit scaling for memory converting from bytes to kilobytes and others. - [Benchee.Conversion.Scale](Benchee.Conversion.Scale.md): Functions for scaling values to other units. Different domains handle this task differently, for example durations and counts. - [Benchee.Conversion.Unit](Benchee.Conversion.Unit.md): A representation of the different units used in `Benchee.Conversion.Format` and `Benchee.Conversion.Scale` as well as the modules implementing these behaviours. - [Benchee.Formatter](Benchee.Formatter.md): Defines a behaviour for formatters in Benchee, and functions to work with these. - [Benchee.Formatters.Console](Benchee.Formatters.Console.md): Formatter to print out the results of benchmarking suite to the console. - [Benchee.Formatters.TaggedSave](Benchee.Formatters.TaggedSave.md): Store the whole suite in the Erlang `ExternalTermFormat` while tagging the scenarios of the current run with a specified tag - can be used for storing and later loading the results of previous runs with `Benchee.ScenarioLoader`. - [Benchee.Profile](Benchee.Profile.md): Profiles each scenario after benchmarking them if the `profile_after` option is either set to: * `true`, * a valid `profiler`, * a tuple of a valid `profiler` and a list of options to pass to it, e.g., `{:fprof, [sort: :own]}`. - [Benchee.RelativeStatistics](Benchee.RelativeStatistics.md): Statistics that are relative from one scenario to another. - [Benchee.Scenario](Benchee.Scenario.md): Core data structure representing one particular case (combination of function and input). - [Benchee.ScenarioLoader](Benchee.ScenarioLoader.md): Load scenarios that were saved using the saved option to be included. - [Benchee.Statistics](Benchee.Statistics.md): Statistics related functionality that is meant to take the raw benchmark data and then compute statistics like the average and the standard deviation etc. - [Benchee.Suite](Benchee.Suite.md): Main Benchee data structure that aggregates the results from every step. - [Benchee.System](Benchee.System.md): Provides information about the system the benchmarks are run on. - [Benchee.Utility.FileCreation](Benchee.Utility.FileCreation.md): Methods to easily handle file creation used in plugins. - Exceptions - [Benchee.PreCheckError](Benchee.PreCheckError.md) - [Benchee.UnknownProfilerError](Benchee.UnknownProfilerError.md)