4 Errori LINQ che Ho Trovato in Produzione (e Come Costavano 1000x)
Qualche mese fa ho fatto un audit di performance su un servizio di dispatch per una flotta di veicoli commerciali. Il sistema gestisce centinaia di consegne al giorno e decide in tempo reale quale veicolo assegnare a ogni nuovo ordine, rispettando vincoli di zona, capacità, orario e tipo merce.
Per garantire tempi di risposta sotto i 100ms, l’intera flotta vive in memoria: veicoli, autisti, consegne, zone e vincoli. Il database viene letto all’avvio; durante l’operatività, tutto passa dalla cache. Il codice funzionava. L’assegnamento produceva risultati corretti. Ma con flotte grandi (400+ veicoli, 2000+ vincoli, 5000+ consegne), le operazioni di inizializzazione e i picchi di carico facevano sforare il budget di latenza.