Reference
Contents
Index
BenchmarkProfiles.data_profile
BenchmarkProfiles.data_ratios
BenchmarkProfiles.export_performance_profile
BenchmarkProfiles.performance_profile
BenchmarkProfiles.performance_profile_data
BenchmarkProfiles.performance_profile_data_mat
BenchmarkProfiles.performance_ratios
BenchmarkProfiles.powertick
BenchmarkProfiles.powertick
BenchmarkProfiles.data_profile
— Methoddata_profile(b, H, N, labels; τ=1.0e-3, operations="function evaluations", title=""; kwargs...)
Produce a data profile using the specified backend.
Arguments
b :: AbstractBackend
: the backend used to produce the plot.H :: Array{Float64,3}
: the performance data for each solver and each problem (smaller is better).H[k,p,s]
is thek
-th costly operation (e.g., function evaluation) for problemp
and solvers
. Failures on a given problem are represented by a negative value, an infinite value, orNaN
.N :: Vector{Float64}
: scaling associated to each problem. If the number of simplex gradients is being measured,N[p]
should ben(p) + 1
wheren(p)
is the number of variables of problemp
.labels :: Vector{AbstractString}
: a vector of labels for each profile used to produce a legend. If empty,labels
will be set to["column 1", "column 2", ...]
.
Keyword Arguments
τ :: Float64=1.0e-3
: threshold that determines the tolerance in the convergence criterionf(x) ≤ fL + τ (f0 - fL),
where for each problem f(x) is a measure recorded (e.g., the objective value), f0 is the measure at the initial point, and fL is the best measure obtained by any solver.
operations :: AbstractString="function evaluations"
: used for labeling the horizontal axis.title :: AbstractString=""
: set a title for the plot.
Other keyword arguments are passed to the plot command for the corresponding backend.
BenchmarkProfiles.data_ratios
— MethodCompute data ratios used to produce a data profile.
There is normally no need to call this function directly. See the documentation of data_profile()
for more information.
BenchmarkProfiles.export_performance_profile
— Methodexportperformanceprofile(T, filename; solver_names = [], header, kwargs...)
Export a performance profile plot data as .csv file. Profiles data are padded with NaN
to ensure .csv consistency.
Arguments
T :: Matrix{Float64}
: each column ofT
defines the performance data for a solver (smaller is better). Failures on a given problem are represented by a negative value, an infinite value, orNaN
.filename :: String
: path to the exported file.
Keyword Arguments
solver_names :: Vector{S}
: names of the solvers.header::Vector{String}
: Contains .csv file column names. Note thatheader
value does not change columns order in .csv exported files (see Output).
Other keyword arguments are passed to performance_profile_data
.
Output: File containing profile data in .csv format. Columns are solver1x, solver1y, solver2_x, ...
BenchmarkProfiles.performance_profile
— Methodperformance_profile(b, T, labels; logscale=true, title="", sampletol=0.0, drawtol=0.0; kwargs...)
Produce a performance profile using the specified backend.
Arguments
b :: AbstractBackend
: the backend used to produce the plot.T :: Matrix{Float64}
: each column ofT
defines the performance data for a solver (smaller is better). Failures on a given problem are represented by a negative value, an infinite value, orNaN
.labels :: Vector{AbstractString}
: a vector of labels for each profile used to produce a legend. If empty,labels
will be set to["column 1", "column 2", ...]
.
Keyword Arguments
logscale :: Bool=true
: produce a logarithmic (base 2) performance plot.title :: AbstractString=""
: set a title for the plot.sampletol :: Float64 = 0.0
: a tolerance used to downsample profiles for performance when using a large number of problems.drawtol :: Float64 = 0.0
: a tolerance to declare a draw between two performance measures.linestyles::Vector{Symbol}
: a vector of line styles to use for the profiles, if supported by the backend.
Other keyword arguments are passed to the plot command for the corresponding backend.
BenchmarkProfiles.performance_profile_data
— MethodProduce the coordinates for a performance profile.
There is normally no need to call this function directly. See the documentation of performance_profile()
for more information.
BenchmarkProfiles.performance_profile_data_mat
— Methodperformance_profile_data_mat(T; kwargs...)
Returns performance_profile_data
output (vectors) as matrices. Matrices are padded with NaN if necessary.
BenchmarkProfiles.performance_ratios
— MethodCompute performance ratios used to produce a performance profile.
There is normally no need to call this function directly. See the documentation of performance_profile()
for more information.
BenchmarkProfiles.powertick
— MethodReplace each number by 2^{number} in a string. Useful to transform axis ticks when plotting in log-base 2.
Examples:
powertick("15") == "2¹⁵"
powertick("2.1") == "2²⋅¹"
powertick("$0$") == "$2^0$"
BenchmarkProfiles.powertick
— MethodReplace each number by 2^{number} in LaTeXStrings. Useful to transform axis ticks when plotting in log-base 2.
Examples:
powertick(L"$15$") == L"$2^{15}$"
powertick(L"$2.1$") == L"$2^{2.1}$"