View Source Tim (Tim v0.1.0)
Tim
provides the macro time
that takes any valid Elixir expression and returns a map
containing several statistics for the expression's execution time, the result of the
evaluated expression, and the expression's string representation. To use
time
, require or import Tim
into your environment and pipe in the expression:
require Tim
1..10
|> Enum.map(& &1 * 2/((1 + 10) * 10))
|> Enum.sum()
|> Tim.time()
This returns (actual timing numbers will vary)
%{
expr: "1..10 |> Enum.map(&(&1 * 2 / ((1 + 10) * 10))) |> Enum.sum()",
max: 46,
mean: 46.0,
median: 46,a
min: 46,
n: 1,
result: 1.0
}
All times are in microseconds.
The time
macro takes a second argument that is the number n
of times the expression
is executed to gather timing statistics. When the above expression is piped into
Time.time(100)
, the result will look something like
%{
expr: "1..10 |> Enum.map(&(&1 * 2 / ((1 + 10) * 10))) |> Enum.sum()",
max: 71,
mean: 13.83,
median: 12,
min: 10,
n: 100,
result: 1.0
}
Link to this section Summary
Functions
Takes an Elixir expression and returns a map of timing stats after executing
the provided expression n
times.
Link to this section Functions
Takes an Elixir expression and returns a map of timing stats after executing
the provided expression n
times.