Fai o PAC máis rápido sen cambiar as súas respostas
Conserva as excepcións solapadas e a orde das rutas alternativas reducindo o traballo innecesario de avaliación do PAC.
«Pon primeiro o caso común» é un consello incompleto para un ficheiro PAC. O primeiro return remata a decisión. Se as regras se solapan, a súa orde forma parte da política de rutas.
Pensa nun proxy privado para un servizo e unha ruta directa para o resto do seu dominio:
function FindProxyForURL(url, host) {
host = host.toLowerCase();
if (host === 'restricted.example.net') {
return 'PROXY proxy.example.net:8080';
}
if (dnsDomainIs(host, '.example.net')) {
return 'DIRECT';
}
return 'PROXY proxy.example.net:8080';
}Os nomes son exemplos. Mover a comprobación ampla de sufixo por riba da excepción do host exacto envía o servizo restrinxido directamente. O script pode ser máis curto ou rápido mentres fai o incorrecto.
Agrupa as condicións sen perder a precedencia
Cando unha lista grande é realmente un conxunto de nomes de host exactos, de igual rango e cun só resultado, unha estrutura de busca axeitada pode ser máis clara que as comprobacións repetidas de patróns. Esa equivalencia debe establecerse primeiro. Un nome exacto, un wildcard e unha regra de rango de enderezos non pertencen automaticamente a un conxunto intercambiable.
Do mesmo xeito, quitar www. é un cambio de política se os dous nomes usan rutas distintas a propósito. Optimizar unha comparación de cadeas non debería redefinir o destino en silencio.
Elimina o traballo custoso que a decisión non necesita
Unha comprobación de igualdade de nome de host non require DNS. Resolve só cando a política restante necesite un enderezo, e evita repetir a mesma busca dentro dunha avaliación onde o contorno PAC admitido permita a reutilización.
Mantén un pequeno conxunto de decisións esperadas xunto ao ficheiro: a excepción concreta, un irmán baixo o sufixo amplo, un nome de host non relacionado e os literais de enderezo relevantes. Compara a ruta devolta e a orde das entradas alternativas, non só se o JavaScript se analiza. Cando eses resultados coincidan, verifica que o navegador cargou o PAC revisado.
Unha mellora de rendemento convence cando os mesmos casos conservan as súas rutas previstas e desaparece o traballo innecesario. Os atallos DIRECT amplos poden facer desaparecer unha demora mentres cambian o IP de saída.