Лучшая практика файла PAC
Я пытаюсь очистить файл PAC. Какие из следующих блоков кода являются более краткими и / или более быстрыми?
if (host == "localhost") {return "DIRECT";}
if (shExpMatch(host, "localhost.*")) {return "DIRECT";}
if (host == "127.0.0.1") {return "DIRECT";}
if (isPlainHostName(host)) {return "DIRECT";}
if (isInNet(hostIP, "10.0.0.0", "255.0.0.0")) {return "DIRECT";}
против
if ( host == "localhost" ||
host == "127.0.0.1" ||
shExpMatch( host, "localhost.*" ) ||
isPlainHostName( host ) ||
isInNet( hostIP, "10.0.0.0", "255.0.0.0" ))
return "DIRECT";
Я предполагаю, что если целевой хост действительно "localhost", то первый будет быстрее, так как он сразу же попадет в результат и не нужно оценивать оставшиеся условия. Но при условии, что ни одно из условий не выполняется, какой метод предпочтительнее?
1 ответ
Решение
Второй вариант быстрее, потому что он не должен перескакивать несколько операторов возврата. Как упомянул в своем комментарии Алекс К., первое верное утверждение в ор-каскаде останавливает оценку.