ปัจจุบัน เมื่อ Regular Expressions ถูก Compile ผลลัพธ์จะถูก Cache ไว้ เพื่อให้หาก Regex เดียวกันถูก Compile อีกครั้ง จะถูกดึงจาก Cache โดยไม่ต้องทำงานเพิ่มเติม Cache นี้รองรับได้สูงสุด 100 Entries เมื่อถึง Entry ที่ 100 Cache จะถูก Clear และต้อง Compile ใหม่
วัตถุประสงค์ของ Caching คือเพื่อลด Average Call Time ของ Function Overhead ที่เกี่ยวข้องกับการเก็บข้อมูลมากขึ้นใน _cache และการ Pare แทนการ Clear จะเพิ่ม Average Call Time นั้น การเรียก _cache.clear() จะเสร็จสิ้นเร็ว และแม้ Cache จะหายไป แต่ก็ยังดีกว่าการ Maintain Cache State และมี Overhead ในการลบ Individual Elements เมื่อถึง Limit
มีบางอย่างที่ต้องพิจารณาเมื่อคำนวณ Cache Efficiency:
- Average Call Time บน Cache Hits (สั้นมาก)
- Average Call Time บน Cache Misses (ยาวกว่า)
- ความถี่ของ Cache Hits (ค่อนข้างนادرة)
- Call Time เมื่อ Cache ถูก Clear หรือ Pruned (ค่อนข้างนادرة)
Regular Expression Cache ถูก Clear ด้วย _cache.clear() เมื่อถึง _MAXCACHE Entries