///|
pub fn benchmark_image_workload(
width : Int,
height : Int,
rounds : Int,
) -> Double {
let image = make_benchmark_image(width, height)
let mut checksum = 0.0
for _ in 0.. Double {
let points : Array[Point] = []
for i in 0.. Int {
let image = make_benchmark_image(width, height)
let mask = adaptive_threshold(image, 2, 0.02).closing(1)
let mut checksum = 0
for _ in 0.. Double {
let image = bracket_fixture()
let config = CaliperConfig::new(
start=Point::Point(x=10.0, y=48.0),
finish=Point::Point(x=150.0, y=48.0),
threshold=0.08,
mode=Both,
expected_edges=2,
unit="px",
)
let tolerance = Tolerance::Tolerance(nominal=94.0, lower=90.0, upper=98.0)
let mut checksum = 0.0
for _ in 0.. Array[Double] {
[
benchmark_image_workload(128, 96, 2),
benchmark_geometry_workload(128, 2),
Double::from_int(benchmark_component_workload(128, 96, 2)),
benchmark_pipeline_workload(2),
]
}
///|
pub fn benchmark_checksum_text() -> String {
let out = StringBuilder()
for value in benchmark_checksum() {
out.write_string(value.to_string())
out.write_string("\n")
}
out.to_string()
}