Самый быстрый способ сделать целочисленное дополнение непроверенное в VB.Net?

У меня есть проект, где я хочу проверить арифметику по умолчанию, за исключением одной производительности чувствительное пятно. К сожалению, VB.Net не имеет блока 'непроверенного'.

Идеально платформа имела бы своего рода целый тип с явно арифметикой непроверенной, но я не нашел ничего как этот. Я действительно находил, что деревья выражений имеют двоичные выражения для операций непроверенных, но делегат наверху уравновешивает преимущество непроверенное (и затем некоторые).

В настоящее время я преобразовываю исходные данные в UInt64/Int64 прежде, чем сделать арифметику, затем преобразовывая назад (с поразрядным И удостовериться в диапазоне). Это приблизительно на 50% медленнее, чем арифметика непроверенная (согласно профилированию).

Перемещение чувствительной к арифметике части к проекту с арифметикой непроверенной могло бы работать, но на излишество походит давать ему блок все к себе.

9
задан Craig Gidney 8 March 2010 в 17:26
поделиться

1 ответ

Лично я думаю, что оставив это в отдельной сборке, тем более, что он будет быть такой небольшой сборки, это хороший вариант. Это упрощает обслуживание, так как эту сборку легко восстановить в любое время. Просто сделайте отдельную сборку, помеченную как неотмеченную, и поместите туда свой чувствительный к производительности код.

2
ответ дан 4 December 2019 в 23:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: