Open Bug 1745766 Opened 2 years ago Updated 29 days ago

[DNR] Add perftests to measure perf impact of DNR

Categories

(WebExtensions :: Request Handling, enhancement, P3)

enhancement
Points:
5

Tracking

(Not tracked)

ASSIGNED

People

(Reporter: robwu, Assigned: rpl)

References

(Blocks 3 open bugs)

Details

(Whiteboard: [mv3-m2])

Attachments

(2 files)

Before optimizing the algorithm, we need to measure the perf impact of the DNR implementation.

The key metrics are time needed to evaluate rules, and the memory usage.
It would also be nice to measure the peak memory usage when rules are compiled.

Blocks: 1745768
Blocks: 1745769
Points: --- → 5

More relevant metrics, to compare the "performance" of webRequest of DNR. One place where DNR should shine over blocking webRequest is that DNR does not require a wake-up of the background page / service worker. To measure that, the following metrics are relevant:

  • Time to unblocking the first request at browser startup (requiring DNR rule compilation without cache).
  • Time to unblocking the first request at browser startup, after caching the compiled rules (and a chance for compiled DNR rules to have been cached).
  • Time to evaluate various requests (after having initialized the engine already).

While more difficult to define/measure, it would also be nice to compare the memory usage of DNR engine + DNR rules vs webRequest-based extension + (optimized) implementation. The least we can do is to measure the memory usage of "many" DNR rules though (think in the magnitude of 100k rules; 100k rules is approx 15-20 MB of ruleset data, with examples at https://github.com/felipeerias/DNR-disable-rules-extension).

Assignee: rob → lgreco
You need to log in before you can comment on or make changes to this bug.