From b8d6499c335872426ac29add8149c915e39d6f22 Mon Sep 17 00:00:00 2001 From: nicolas Date: Thu, 28 May 2026 10:07:26 -0300 Subject: [PATCH] fix: compute net_bps and update best/worst before STATUS log Reorder so the per-triangle STATUS log shows the current best value instead of the previous iteration's stale init value (-1e18). Also remove executor idle diagnostic line and restore pre-simulation best_net_bps tracking for ALL evaluated triangles, not just signal candidates. --- src/evaluate.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/evaluate.c b/src/evaluate.c index c8fc44a..604036d 100644 --- a/src/evaluate.c +++ b/src/evaluate.c @@ -150,6 +150,15 @@ bool evaluate_symbol(evaluator_t *ev, uint16_t symbol_idx, int64_t t_sock_arrive ev->stats.triangles_evaluated++; + double net_bps = (cumulative - 1.0) * 10000.0; + + if (net_bps > ev->stats.best_net_bps) { + ev->stats.best_net_bps = net_bps; + snprintf(ev->stats.best_triangle_key, sizeof(ev->stats.best_triangle_key), + "%s/%s/%s", tri->base, tri->mid, tri->quote); + } + if (net_bps < ev->stats.worst_net_bps) ev->stats.worst_net_bps = net_bps; + int64_t now = now_ms(); if (now - last_status_ms >= 30000) { last_status_ms = now; @@ -161,8 +170,6 @@ bool evaluate_symbol(evaluator_t *ev, uint16_t symbol_idx, int64_t t_sock_arrive tris->triangle_count); } - double net_bps = (cumulative - 1.0) * 10000.0; - if (net_bps <= cfg->signal_threshold_bps) { ev->stats.triangles_skipped++; continue;