1

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」である場合、最初のホストはすぐにリターンにヒットし、残りの条件を評価する必要がないため、高速になると想定しています。しかし、どの条件も当てはまらないと仮定すると、どの方法が望ましいでしょうか?

4

1 に答える 1

2

2 番目のオプションは、複数の return ステートメントをジャンプする必要がないため、高速です。Alex K. がコメントで述べたように、or-cascade の最初の true ステートメントは評価を停止します。

于 2015-05-12T15:19:38.037 に答える