MCPcopy Create free account
hub / github.com/Open-Quant/openquant / maybe_record_progress

Function maybe_record_progress

crates/openquant/src/hpc_parallel.rs:382–407  ·  view source on GitHub ↗
(
    progress: &mut Vec<ProgressSnapshot>,
    elapsed: Duration,
    completed_molecules: usize,
    total_molecules: usize,
    completed_atoms: usize,
    progress_every: usize,
)

Source from the content-addressed store, hash-verified

380}
381
382fn maybe_record_progress(
383 progress: &mut Vec<ProgressSnapshot>,
384 elapsed: Duration,
385 completed_molecules: usize,
386 total_molecules: usize,
387 completed_atoms: usize,
388 progress_every: usize,
389) {
390 let should_record = completed_molecules == total_molecules
391 || completed_molecules.is_multiple_of(progress_every);
392 if !should_record {
393 return;
394 }
395 let seconds = elapsed.as_secs_f64();
396 let throughput_molecules_per_sec =
397 if seconds > 0.0 { completed_molecules as f64 / seconds } else { 0.0 };
398 let throughput_atoms_per_sec =
399 if seconds > 0.0 { completed_atoms as f64 / seconds } else { 0.0 };
400 progress.push(ProgressSnapshot {
401 completed_molecules,
402 total_molecules,
403 elapsed,
404 throughput_molecules_per_sec,
405 throughput_atoms_per_sec,
406 });
407}
408
409fn build_metrics(
410 atom_count: usize,

Callers 2

run_serialFunction · 0.85
run_threadedFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected