현재 정규식을 컴파일할 때 결과가 캐시되므로 동일한 정규식이 다시 컴파일되면 캐시에서 검색되므로 추가 작업이 필요하지 않습니다. 이 캐시는 최대 100개의 항목을 지원합니다. 100번째 항목에 도달하면 캐시가 지워지고 새 컴파일이 발생해야 합니다.
캐싱의 목적은 함수의 평균 호출 시간을 줄이는 것입니다. _cache에 더 많은 정보를 유지하고 이를 지우는 대신 페어링하는 것과 관련된 오버헤드는 평균 호출 시간을 증가시킵니다. _cache.clear() 호출은 빠르게 완료되며 캐시가 손실되더라도 캐시 상태를 유지하고 제한에 도달했을 때 캐시에서 개별 요소를 제거하는 오버헤드를 갖는 것보다 선호됩니다.
캐시 효율성을 계산할 때 고려해야 할 몇 가지 사항이 있습니다. −
-
캐시 적중 시 평균 호출 시간(매우 짧음)
-
캐시 미스의 평균 호출 시간(더 길어짐)
-
캐시 적중 빈도(매우 드문 경우)
-
캐시가 지워지거나 정리되는 호출 시간(매우 드문 경우)
정규식 캐시는 항목의 _MAXCACHE에 도달하면 _cache.clear()를 사용하여 지워집니다.