Ho un progetto in cui voglio avere controllato l'aritmetica per impostazione predefinita, ad eccezione di un punto sensibile delle prestazioni. Sfortunatamente, VB.Net non ha un blocco 'non controllato'.Il modo più veloce per aggiungere un numero intero non controllato in VB.Net?
Idealmente il framework avrebbe una sorta di tipo intero con aritmetica esplicitamente deselezionata, ma non ho trovato nulla di simile. Ho trovato che gli alberi di espressione hanno espressioni binarie per operazioni non controllate, ma il delegato in testa annulla il vantaggio non controllato (e poi alcuni).
Attualmente sto convertendo gli input in UInt64/Int64 prima di eseguire l'aritmetica, quindi la conversione indietro (con un bit per E per garantire in-range). È circa il 50% più lento dell'aritmetica non controllata (secondo la profilazione).
Spostare la parte aritmetica sensibile in un progetto con aritmetica non controllata potrebbe funzionare, ma sembra eccessivo assumere un assieme tutto per sé.
Un ulteriore assembly C# per questo potrebbe essere eccessivo, ma è anche possibile creare un modulo dal file C# (alcuni parametri della riga di comando per il compilatore) e quindi utilizzare ILmerge per unirlo con l'assembly VB.NET. – OregonGhost