У меня есть проект, где я хочу проверить арифметику по умолчанию, за исключением одной производительности чувствительное пятно. К сожалению, VB.Net не имеет блока 'непроверенного'.
Идеально платформа имела бы своего рода целый тип с явно арифметикой непроверенной, но я не нашел ничего как этот. Я действительно находил, что деревья выражений имеют двоичные выражения для операций непроверенных, но делегат наверху уравновешивает преимущество непроверенное (и затем некоторые).
В настоящее время я преобразовываю исходные данные в UInt64/Int64 прежде, чем сделать арифметику, затем преобразовывая назад (с поразрядным И удостовериться в диапазоне). Это приблизительно на 50% медленнее, чем арифметика непроверенная (согласно профилированию).
Перемещение чувствительной к арифметике части к проекту с арифметикой непроверенной могло бы работать, но на излишество походит давать ему блок все к себе.
Лично я думаю, что оставив это в отдельной сборке, тем более, что он будет быть такой небольшой сборки, это хороший вариант. Это упрощает обслуживание, так как эту сборку легко восстановить в любое время. Просто сделайте отдельную сборку, помеченную как неотмеченную, и поместите туда свой чувствительный к производительности код.