Вам также необходимо учитывать частоту каждого возможного результата.То есть, если частота появления различных исходов / результатов сильно искажена, то вы действительно хотите ускорить общие случаи, даже за счет возможного значительного увеличения стоимости выполнения необычных случаев.
ДляНапример, предположим, что вы хотите проверить, что четыре условия выполняются:
result = A && B && C && D;
Теперь предположим, что A == верно с вероятностью 0,9, B == верно с вероятностью 0,3, C == верно с вероятностью 0,7,и D == верно с вероятностью 0,1.Учитывая правила короткого замыкания в C / C ++, мы хотим переупорядочить уравнение, чтобы мы как можно скорее выпали из теста.Т.е. наиболее эффективным тестом будет:
result = D && B && C && A;
Без примеров типов выражений, которые у вас есть, а также различных частот результата и частоты совместной вероятности для каждого термина, вам практически невозможно помочь.