Commit d70d45a5 authored by Benoît Lizé's avatar Benoît Lizé Committed by Commit Bot

blink/bindings: Enable foreground ParkableString compression by default.

Per the results of the beta experiment, it reduces memory footprint on desktop
and Android, doesn't regress responsiveness, and doesn't cause crashes.

From the current dev/beta Finch experiment (full results here, google internal:
https://docs.google.com/document/d/13mLZCzn8tcu3HzLClHT5PZ13GZ3R1a1qyo5fTHMPZmo/edit)
- Windows: 1.3MB median PrivateMemoryFootprint savings, 8.8MB @95th percentile
- Android: 0.7MB @median, 4.4MB @95th percentile

In both cases, foreground CPU cost is <0.1% @95th percentile. Savings above are
per renderer, for all renderers.
On popular websites, savings are higher, e.g. 15MB median PMF savings on
facebook.com, desktop.

As a consequence, enabling it by default.

Bug: 924164, 951773
Change-Id: I4742cbf053b08a259774c453b555e22ebc44de1a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1556852
Commit-Queue: Benoit L <lizeb@chromium.org>
Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Reviewed-by: default avatarRobert Kaplow <rkaplow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#650432}
parent 203b3bc0
......@@ -1427,28 +1427,6 @@
]
}
],
"CompressParkableStringsInForeground": [
{
"platforms": [
"android",
"chromeos",
"linux",
"mac",
"windows"
],
"experiments": [
{
"name": "Enabled",
"enable_features": [
"CompressParkableStringsInForeground"
],
"disable_features": [
"CompressParkableStringsInBackground"
]
}
]
}
],
"ContentCapture": [
{
"platforms": [
......
......@@ -23,9 +23,9 @@ namespace blink {
class ParkableString;
const base::Feature kCompressParkableStringsInBackground{
"CompressParkableStringsInBackground", base::FEATURE_ENABLED_BY_DEFAULT};
"CompressParkableStringsInBackground", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kCompressParkableStringsInForeground{
"CompressParkableStringsInForeground", base::FEATURE_DISABLED_BY_DEFAULT};
"CompressParkableStringsInForeground", base::FEATURE_ENABLED_BY_DEFAULT};
class PLATFORM_EXPORT ParkableStringManagerDumpProvider
: public base::trace_event::MemoryDumpProvider {
......
......@@ -89,6 +89,13 @@ class ParkableStringTest : public ParkableStringTestBase {
ParkableStringTest() : ParkableStringTestBase() {}
protected:
void SetUp() override {
ParkableStringTestBase::SetUp();
scoped_feature_list_.InitWithFeatures(
{kCompressParkableStringsInBackground},
{kCompressParkableStringsInForeground});
}
void WaitForStatisticsRecording() {
scoped_task_environment_.FastForwardBy(base::TimeDelta::FromSeconds(
ParkableStringManager::kStatisticsRecordingDelayInSeconds));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment