Opened 2 years ago

#5853 new change

Implement automated memory profiling of V8

Reported by: oleksandr Assignee:
Priority: Unknown Milestone:
Module: Libadblockplus Keywords: memory-usage
Cc: sergz, eric@…, hfiguiere, fhd Blocked By:
Blocking: Platform: Unknown / Cross platform
Ready: no Confidential: no
Tester: Unknown Verified working: no
Review URL(s):

Description

Background

With some of our distribution partnerships we have a requirement to minimize the memory usage of libadblockplus. To do that we should be able to fairly painlessly estimate the current memory usage, for comparison with older libadblockplus versions, different V8 versions etc.

What to change

Automate memory profiling of V8 in libadblockplus. Requirements for the process are:

  • Implement using native OS APIs. Just using a self reported JS heap size is not enough, since actual memory usage differs dramatically.
  • Support multiple OS's. Android is a top priority for now. Reason for this is that different OS's have different memory management. Android doesn’t swap virtual memory like most host-based OS. Thus peak memory use matters more on Android.
  • Support a standard set of test vectors. Load same filters, subscriptions etc every time. We need maximum reproducibility across multiple test runs.
  • For Android, the process will have to be manually started on a physical device. Document a process and describe how to retrieve and compare the resulting stats.

Preferably this would also be runnable in a third-party test environment.

Change History (0)

Note: See TracTickets for help on using tickets.