From b35ebbd7befb56a229d5a2d9033016aa884afdff Mon Sep 17 00:00:00 2001 From: Filip Leonarski Date: Fri, 17 Apr 2026 13:02:39 +0200 Subject: [PATCH] jfjoch_lite_perf_test: Report mean processing time per image --- receiver/JFJochReceiverService.cpp | 4 ++++ receiver/JFJochReceiverService.h | 2 ++ tools/jfjoch_lite_perf_test.cpp | 9 +++++++++ 3 files changed, 15 insertions(+) diff --git a/receiver/JFJochReceiverService.cpp b/receiver/JFJochReceiverService.cpp index e44655f3..a1ad7aac 100644 --- a/receiver/JFJochReceiverService.cpp +++ b/receiver/JFJochReceiverService.cpp @@ -342,3 +342,7 @@ JFJochReceiverService &JFJochReceiverService::Indexing(const IndexingSettings &i ImagePusherStatus JFJochReceiverService::GetImagePusherStatus() const { return image_pusher.GetStatus(); } + +MeanProcessingTime JFJochReceiverService::GetMeanProcessingTime() const { + return plots.GetMeanProcessingTime(); +} diff --git a/receiver/JFJochReceiverService.h b/receiver/JFJochReceiverService.h index 386d0e53..5d0d47da 100644 --- a/receiver/JFJochReceiverService.h +++ b/receiver/JFJochReceiverService.h @@ -90,6 +90,8 @@ public: void ClearImageBuffer(); ImagePusherStatus GetImagePusherStatus() const; + + MeanProcessingTime GetMeanProcessingTime() const; }; diff --git a/tools/jfjoch_lite_perf_test.cpp b/tools/jfjoch_lite_perf_test.cpp index f5f7218d..38534919 100644 --- a/tools/jfjoch_lite_perf_test.cpp +++ b/tools/jfjoch_lite_perf_test.cpp @@ -199,4 +199,13 @@ int main(int argc, char **argv) { logger.Info("Indexing rate {:.0f}%", output.status.indexing_rate.value() * 100.0); if (output.status.max_receive_delay) logger.Info("Max delay {}", output.status.max_receive_delay.value()); + + auto image_mean_time = service.GetMeanProcessingTime(); + logger.Info("Per-image time: (mean; microseconds): spot finding {:.0f} indexing {:.0f} refinement {:.0f} prediction {:.0f} integration {:.0f} total {:.0f}", + image_mean_time.spot_finding * 1e6, + image_mean_time.indexing * 1e6, + image_mean_time.refinement * 1e6, + image_mean_time.bragg_prediction * 1e6, + image_mean_time.integration * 1e6, + image_mean_time.processing * 1e6); }