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

Function measure_warm

tests/perf/model_perf.cpp:433–458  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

431}
432
433MeasurementSummary measure_warm(
434 const engine::runtime::ModelRegistry & registry,
435 const engine::runtime::ModelLoadRequest & load_request,
436 const engine::runtime::TaskSpec & task_spec,
437 const engine::runtime::SessionOptions & session_options,
438 const engine::runtime::TaskRequest & warmup_request,
439 const engine::runtime::TaskRequest & request) {
440 auto model = registry.load(load_request);
441 auto session = model->create_task_session(task_spec, session_options);
442 (void) run_once(*session, task_spec, warmup_request);
443 session->prepare(engine::runtime::build_preparation_request(request));
444
445 MeasurementSummary summary;
446 for (int rep = 0; rep < 3; ++rep) {
447 auto run = run_prepared_once(*session, task_spec, request);
448 summary.wall_ms.push_back(run.wall_ms);
449 summary.duration_sec = result_duration_sec(request, run.result);
450 }
451 summary.average_wall_ms =
452 std::accumulate(summary.wall_ms.begin(), summary.wall_ms.end(), 0.0) /
453 static_cast<double>(summary.wall_ms.size());
454 if (summary.duration_sec > 0.0) {
455 summary.rtf = (summary.average_wall_ms / 1000.0) / summary.duration_sec;
456 }
457 return summary;
458}
459
460std::string measurement_json(const MeasurementSummary & measurement) {
461 std::ostringstream out;

Callers 1

mainFunction · 0.70

Calls 10

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

Tested by

no test coverage detected