(
progress: &mut Vec<ProgressSnapshot>,
elapsed: Duration,
completed_molecules: usize,
total_molecules: usize,
completed_atoms: usize,
progress_every: usize,
)
| 380 | } |
| 381 | |
| 382 | fn 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 | |
| 409 | fn build_metrics( |
| 410 | atom_count: usize, |
no outgoing calls
no test coverage detected