Changes between Version 2 and Version 3 of Ticket #7265


Ignore:
Timestamp:
02/07/2019 05:56:29 AM (4 months ago)
Author:
mjethani
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #7265 – Description

    v2 v3  
    44If we organize these filters by domain as they are added to the matcher, as we do for element hiding filters, we could avoid the call to `ActiveFilter.prototype.isActiveOnDomain` altogether. 
    55 
    6 In my tests this significantly speeds up the performance of filter matching by ~10-15%. 
     6=== Impact on memory footprint and startup time 
     7The information below is based on the [https://codereview.adblockplus.org/30000586/ patch]. 
     8 
     9In my tests, this change significantly speeds up the performance of filter matching by around 10-15% (EasyList only). 
     10 
     11The amount of time spent in the `Matcher.prototype.add` function goes up by ~60%, because of the additional processing for organize the filters into domain-specific maps, which affects startup time. 
     12 
     13The initial memory footprint goes up from ~53 MB to ~62 MB (EasyList only). This in particular is a big regression. It should be possible to address this with some clever tricks in the construction of the `Matcher.prototype._filterDomainMapsByKeyword` data structure. 
    714 
    815=== What to change ===