ทำให้ PAC เร็วขึ้นโดยไม่เปลี่ยนคำตอบของมัน
รักษาข้อยกเว้นที่ทับซ้อนและลำดับเส้นทางสำรอง พร้อมลดงานประเมิน PAC ที่ไม่จำเป็น
«วางกรณีทั่วไปไว้ก่อน» เป็นคำแนะนำที่ไม่ครบถ้วนสำหรับไฟล์ PAC return แรกจบการตัดสินใจ เมื่อกฎทับซ้อนกัน ลำดับของกฎเป็นส่วนหนึ่งของนโยบายเส้นทาง
ลองพิจารณาพร็อกซีส่วนตัวสำหรับบริการหนึ่งและเส้นทางตรงสำหรับส่วนที่เหลือของโดเมน:
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';
}ชื่อเป็นเพียงตัวอย่าง การย้ายการตรวจสอบซับฟิกซ์แบบกว้างขึ้นเหนือข้อยกเว้นของโฮสต์ที่แน่นอนจะส่งบริการที่ถูกจำกัดออกไปโดยตรง สคริปต์อาจสั้นลงหรือเร็วขึ้นแต่ทำสิ่งผิด
จัดกลุ่มเงื่อนไขโดยไม่สูญเสียลำดับความสำคัญ
เมื่อรายการขนาดใหญ่เป็นชุดของชื่อโฮสต์ที่แน่นอนซึ่งมีอันดับเท่ากันและมีผลลัพธ์เดียว โครงสร้างการค้นหาที่เหมาะสมอาจชัดเจนกว่าการตรวจสอบรูปแบบซ้ำ ๆ ต้องพิสูจน์ความเท่าเทียมนั้นก่อน ชื่อที่แน่นอน wildcard และกฎช่วงที่อยู่ไม่ได้อยู่ในชุดเดียวที่แลกเปลี่ยนกันได้โดยอัตโนมัติ
เช่นเดียวกัน การลบ www. เป็นการเปลี่ยนนโยบายหากทั้งสองชื่อใช้เส้นทางต่างกันโดยเจตนา การปรับการเปรียบเทียบสตริงไม่ควรนิยามปลายทางใหม่โดยเงียบ ๆ
ลบงานที่มีราคาแพงซึ่งการตัดสินใจไม่ต้องการ
การตรวจสอบความเท่าเทียมของชื่อโฮสต์ไม่ต้องใช้ DNS แก้ไขเฉพาะเมื่อนโยบายที่เหลือต้องการที่อยู่ และหลีกเลี่ยงการทำการค้นหาเดิมซ้ำในการประเมินครั้งเดียวในที่ที่สภาพแวดล้อม PAC ที่รองรับอนุญาตให้ใช้ซ้ำ
เก็บชุดการตัดสินใจที่คาดไว้เล็ก ๆ ไว้ข้างไฟล์: ข้อยกเว้นเฉพาะ ญาติภายใต้ซับฟิกซ์กว้าง ชื่อโฮสต์ที่ไม่เกี่ยวข้อง และค่าที่อยู่ที่เกี่ยวข้อง เปรียบเทียบเส้นทางที่ส่งคืนและลำดับของรายการสำรองใด ๆ ไม่ใช่เพียงว่า JavaScript ถูกแยกวิเคราะห์หรือไม่ เมื่อผลลัพธ์เหล่านั้นตรงกัน ตรวจสอบว่าเบราว์เซอร์โหลด PAC ที่แก้ไขแล้ว
การปรับปรุงประสิทธิภาพน่าเชื่อถือเมื่อกรณีเดิมยังคงเส้นทางที่ตั้งใจไว้และงานประเมินที่ไม่จำเป็นหายไป ทางลัด DIRECT แบบกว้างสามารถทำให้ความล่าช้าหายไปพร้อมกับเปลี่ยน IP ขาออก