Reference
Contents
Index
BenchmarkProfiles.data_profileBenchmarkProfiles.data_ratiosBenchmarkProfiles.export_performance_profileBenchmarkProfiles.performance_profileBenchmarkProfiles.performance_profile_dataBenchmarkProfiles.performance_profile_data_matBenchmarkProfiles.performance_ratiosBenchmarkProfiles.powertickBenchmarkProfiles.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 problempand 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) + 1wheren(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,labelswill 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{<: Number}: each column ofTdefines the performance data for a solver (positive, and 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 thatheadervalue 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{<: Number}: each column ofTdefines the performance data for a solver (positive, and 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,labelswill 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}$"