forked from chromium/chromium
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
blink/bindings: Park ParkableStrings in foreground as well.
This CL adds an "aging" mechanism to parkable strings, and parks "old" strings, regardless of whether the renderer is in foreground or background. The "aging" terminology and mechanism are similar to the swapping logic in the linux kernel, that is: - A string becomes young when it's accessed - Periodically, young strings become old - Old strings are parked Here, the periodic tick only happens as long as progress is made, ensuring that an idle renderer stays idle, and a string can only become old if there are no "users", that is it is neither locked nor referenced externally. From local testing on Linux x86_64, this reduces memory by ~15MB for an active (logged-out) facebook tab, which is ~10% of Private Memory Footprint on the same tab. Total main thread CPU overhead for ~2min of active use of the page is <50ms. See the linked bug for more details and results. This new behavior is guarded by a feature flag which is disabled by default. Bug: 924164 Change-Id: I6ce59c74fd2608b4a2b543d6220e01e7a9ca1b48 Reviewed-on: https://chromium-review.googlesource.com/c/1426784 Commit-Queue: Benoit L <lizeb@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Cr-Commit-Position: refs/heads/master@{#629564}
- Loading branch information
Benoît Lizé
authored and
Commit Bot
committed
Feb 6, 2019
1 parent
f22cb34
commit 6cd71d9
Showing
5 changed files
with
481 additions
and
75 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.