Лучшая практика файла 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 ответ

Решение

Второй вариант быстрее, потому что он не должен перескакивать несколько операторов возврата. Как упомянул в своем комментарии Алекс К., первое верное утверждение в ор-каскаде останавливает оценку.

Другие вопросы по тегам