MCPcopy Create free account
hub / github.com/0xShug0/audio.cpp / measure_cold

Function measure_cold

tests/perf/model_perf.cpp:408–431  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

406}
407
408MeasurementSummary measure_cold(
409 const engine::runtime::ModelRegistry & registry,
410 const engine::runtime::ModelLoadRequest & load_request,
411 const engine::runtime::TaskSpec & task_spec,
412 const engine::runtime::SessionOptions & session_options,
413 const engine::runtime::TaskRequest & request) {
414 MeasurementSummary summary;
415 for (int rep = 0; rep < 3; ++rep) {
416 const auto started = std::chrono::steady_clock::now();
417 auto model = registry.load(load_request);
418 auto session = model->create_task_session(task_spec, session_options);
419 auto run = run_once(*session, task_spec, request);
420 const auto ended = std::chrono::steady_clock::now();
421 summary.wall_ms.push_back(std::chrono::duration<double, std::milli>(ended - started).count());
422 summary.duration_sec = result_duration_sec(request, run.result);
423 }
424 summary.average_wall_ms =
425 std::accumulate(summary.wall_ms.begin(), summary.wall_ms.end(), 0.0) /
426 static_cast<double>(summary.wall_ms.size());
427 if (summary.duration_sec > 0.0) {
428 summary.rtf = (summary.average_wall_ms / 1000.0) / summary.duration_sec;
429 }
430 return summary;
431}
432
433MeasurementSummary measure_warm(
434 const engine::runtime::ModelRegistry & registry,

Callers 1

mainFunction · 0.70

Calls 7

result_duration_secFunction · 0.85
run_onceFunction · 0.70
loadMethod · 0.45
create_task_sessionMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected