«Sett det vanlige tilfellet først» er et ufullstendig råd for en PAC-fil. Den første return avslutter beslutningen. Når regler overlapper, er rekkefølgen deres en del av ruteringspolicyen.

Tenk på en privat proxy for én tjeneste og en direkte rute for resten av domenet:

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';
}

Navnene er eksempler. Flyttes den brede suffikskontrollen over unntaket for den nøyaktige verten, sendes den begrensede tjenesten direkte. Skriptet kan være kortere eller raskere mens det gjør det gale.

Grupper betingelsene uten å miste prioritet

Når en stor liste virkelig er et sett med nøyaktige vertsnavn av samme rang med ett utfall, kan en passende oppslagsstruktur være klarere enn gjentatte mønsterkontroller. Den ekvivalensen må fastslås først. Et nøyaktig navn, et wildcard og en adresseområderegel hører ikke automatisk til ett utskiftbart sett.

Likeledes er fjerning av www. en policyendring hvis de to navnene bevisst bruker ulike ruter. Optimalisering av en strengsammenligning bør ikke stille omdefinere målet.

Fjern dyrt arbeid som beslutningen ikke trenger

En likhetskontroll av vertsnavn krever ikke DNS. Slå bare opp når den gjenværende policyen trenger en adresse, og unngå å gjenta samme oppslag innenfor én evaluering der det støttede PAC-miljøet tillater gjenbruk.

Hold et lite sett forventede beslutninger ved filen: det spesifikke unntaket, en søster under det brede suffikset, et uvedkommende vertsnavn og relevante adresselitteraler. Sammenlign ruten som returneres og rekkefølgen på eventuelle reserveoppføringer, ikke bare om JavaScript parses. Når disse resultatene stemmer, bekreft at nettleseren lastet den reviderte PAC-filen.

En ytelsesforbedring er overbevisende når de samme tilfellene beholder sine tiltenkte ruter og unødvendig evalueringsarbeid forsvinner. Brede DIRECT-snarveier kan få en forsinkelse til å forsvinne mens utgangs-IP-en endres.

Relaterte artikler