Feu el PAC més ràpid sense canviar les seves respostes
Conserveu les excepcions solapades i l'ordre dels camins alternatius reduint la feina innecessària d'avaluació del PAC.
«Posa primer el cas comú» és un consell incomplet per a un fitxer PAC. El primer return acaba la decisió. Si les regles se solapen, el seu ordre forma part de la política d'encaminament.
Penseu en un proxy privat per a un servei i una ruta directa per a la resta del seu domini:
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';
}Els noms són exemples. Moure la comprovació àmplia de sufix per sobre de l'excepció del host exacte envia el servei restringit directament. L'script pot ser més curt o més ràpid mentre fa la cosa incorrecta.
Agrupeu les condicions sense perdre la precedència
Quan una llista gran és realment un conjunt de noms de host exactes, d'igual rang i amb un sol resultat, una estructura de cerca adequada pot ser més clara que les comprovacions repetides de patrons. Aquesta equivalència s'ha d'establir primer. Un nom exacte, un wildcard i una regla de rang d'adreces no pertanyen automàticament a un conjunt intercanviable.
De la mateixa manera, treure www. és un canvi de política si els dos noms fan servir rutes diferents intencionadament. Optimitzar una comparació de cadenes no hauria de redefinir la destinació en silenci.
Traieu la feina costosa que la decisió no necessita
Una comprovació d'igualtat de nom de host no requereix DNS. Resoleu només quan la política restant necessiti una adreça, i eviteu repetir la mateixa cerca dins d'una avaluació on l'entorn PAC admès permeti la reutilització.
Tingueu un petit conjunt de decisions esperades al costat del fitxer: l'excepció concreta, un germà sota el sufix ampli, un nom de host no relacionat i els literals d'adreça rellevants. Compareu la ruta retornada i l'ordre de les entrades alternatives, no només si el JavaScript s'analitza. Quan aquests resultats coincideixin, verifiqueu que el navegador ha carregat el PAC revisat.
Una millora de rendiment és convincent quan els mateixos casos conserven les rutes previstes i desapareix la feina innecessària. Les dreceres DIRECT àmplies poden fer desaparèixer un retard mentre canvien la IP de sortida.