iOS용 AdGuard v4.5.8: 최대 30배 더 빨라진 필터 업데이트
이 버전에서는 앱 속도가 최대 30배 빨라졌습니다. Safari 변환기가 향상되어 이제 AdGuard 필터링 규칙이 10~30초가 아닌 0.5~2초 만에 Safari 규칙으로 변환됩니다. 특히 필터를 업데이트, 활성화 또는 비활성화하고 보호 기능을 켤 때 그 차이를 느낄 수 있습니다.
또한 Apple 측에서 문제를 발견하여 보고했는데, 향후 Apple이 문제를 해결하면 프로세스가 더욱 빨라질 것입니다.
이제 4.5.8 버전에서 업데이트된 내용을 살펴보겠습니다.
필터 업데이트 작동 방식
1. 새 버전의 필터가 다운로드됩니다.
이 모든 것은 AdGuard 앱에 새 필터 버전을 다운로드하는 것으로 시작됩니다. 이 부분은 아무런 문제를 일으키지 않습니다.
2. 규칙이 변환됩니다.
다음으로, AdGuard 필터의 필터링 규칙이 Safari 규칙으로 변환됩니다. 이 단계에서 애드저스트의 최적화 지식을 Safari 변환기에 적용하여 프로세스를 최대 30배 더 빠르게 만들 수 있었습니다.
차이점은 다음과 같습니다.
변경 전:
변경 후:
3. 규칙이 Safari에 로드됩니다.
이 마지막 부분에서는 Apple 측의 문제로 이어지기 때문에 상황이 그리 좋지 않습니다.
Safari가 필터링 규칙을 적용할 수 있도록 하기 위해 필터링 규칙은 DFA로 컴파일되며, 이는 com.apple.Safari.ContentBlockerLoader
라는 백그라운드 프로세스가 수행하는 작업입니다. AdGuard는 Safari에 대한 새 규칙을 로드하고 reloadContentBlocker 함수를 호출한 후 결과를 기다립니다. 이 과정에서 사용자는 앱에서 콘텐츠 차단기 업데이트 중... 상태를 확인할 수 있습니다.
문제는 어떤 이유에서인지 로더 프로세스 성능이 iOS 및 iPadOS에서 인위적으로 제한되어 있어 다소 작은 콘텐츠 차단기(28Kk 규칙)의 컴파일에 최대 6~15초가 걸릴 수 있다는 점입니다(macOS에서는 몇 분 안에 완료됨). 더 큰 콘텐츠 차단 프로그램의 경우 전체 컴파일에 30초 이상이 걸릴 수 있습니다.
이는 UX에도 좋지 않습니다. 하지만 더 중요한 것은 필터 업데이트의 빈도와 신속성을 저하시켜 적시에 수정하고 광고 차단기의 성능을 향상시키는 데 결정적인 영향을 미친다는 것입니다.
현재 저희는 이 문제를 Apple에 신고했습니다. Apple의 피드백 도우미에 있는 티켓 ID는 FB16130983입니다. Apple이 2025년에 이 문제를 해결해 주기를 바랍니다.
앱을 업데이트하여 차이를 느껴보세요. 소셜 미디어나 GitHub의 이슈 섹션에서 피드백을 공유해 주시면 감사하겠습니다. 💚