Suggesting to enable paint timing by default

# Noam Rosenthal (2 months ago)

Following the discussion with Simon in bugs.webkit.org/show_bug.cgi?id=78011

Since we have a pretty stable spec (w3c.github.io/paint-timing), lots of passing web platform tests, other browser vendor support and a working implementation of first contentful paint, I am planning to submit a patch to enable paint timing by default.

bugs.webkit.org/show_bug.cgi?id=211736

Any objections? Other thoughts?

Contact us to advertise here
# Maciej Stachowiak (2 months ago)

I noticed from comments in one of the Radars that the patch may result in an additional “fake paint”, so it should probably be performance tested. Have you done any testing? We’ll likely want to A/B some of Apple’s page load speed benchmarks.

I’d like to hear from others on maturity of the spec and readiness of the code.

# Noam Rosenthal (2 months ago)

On Tue, May 12, 2020 at 1:36 AM Maciej Stachowiak <mjs at apple.com> wrote:

I noticed from comments in one of the Radars that the patch may result in an additional “fake paint”, so it should probably be performance tested. Have you done any testing?

I've tested it locally, I haven't noticed any significant side effect, because in complex situations the fake paint only happens once per page and bails early once contentfulness is detected. but I can run any additional test needed.

We’ll likely want to A/B some of Apple’s page load speed benchmarks.

A/B testing load speed sounds sensible. How do we go about doing that?

# Maciej Stachowiak (2 months ago)

On May 11, 2020, at 9:53 PM, Noam Rosenthal <noam at webkit.org> wrote:

On Tue, May 12, 2020 at 1:36 AM Maciej Stachowiak <mjs at apple.com <mailto:mjs at apple.com>> wrote:

I noticed from comments in one of the Radars that the patch may result in an additional “fake paint”, so it should probably be performance tested. Have you done any testing? I've tested it locally, I haven't noticed any significant side effect, because in complex situations the fake paint only happens once per page and bails early once contentfulness is detected. but I can run any additional test needed.

We’ll likely want to A/B some of Apple’s page load speed benchmarks. A/B testing load speed sounds sensible. How do we go about doing that?

Unfortunately our page load speed benchmarks are not public because they incorporate captured page content, which we can’t freely redistribute.

A helpful person from Apple may be able to set up an A/B test for this patch.

# Noam Rosenthal (2 months ago)

On Tue, May 12, 2020 at 10:28 AM Maciej Stachowiak <mjs at apple.com> wrote:

On May 11, 2020, at 9:53 PM, Noam Rosenthal <noam at webkit.org> wrote:

On Tue, May 12, 2020 at 1:36 AM Maciej Stachowiak <mjs at apple.com> wrote:

>

I noticed from comments in one of the Radars that the patch may result in an additional “fake paint”, so it should probably be performance tested. Have you done any testing?

I've tested it locally, I haven't noticed any significant side effect, because in complex situations the fake paint only happens once per page and bails early once contentfulness is detected. but I can run any additional test needed.

We’ll likely want to A/B some of Apple’s page load speed benchmarks.

A/B testing load speed sounds sensible. How do we go about doing that?

Unfortunately our page load speed benchmarks are not public because they incorporate captured page content, which we can’t freely redistribute.

A helpful person from Apple may be able to set up an A/B test for this patch.

Understood. I'd be happy to facilitate/support/do what's necessary to move this forward.

# Noam Rosenthal (2 months ago)

Following up on this.

FOn Tue, May 12, 2020 at 10:28 AM Maciej Stachowiak <mjs at apple.com> wrote:

> >

On May 11, 2020, at 9:53 PM, Noam Rosenthal <noam at webkit.org> wrote:

On Tue, May 12, 2020 at 1:36 AM Maciej Stachowiak <mjs at apple.com> wrote:

>

I noticed from comments in one of the Radars that the patch may result in an additional “fake paint”, so it should probably be performance tested. Have you done any testing?

I've tested it locally, I haven't noticed any significant side effect, because in complex situations the fake paint only happens once per page and bails early once contentfulness is detected. but I can run any additional test needed.

We’ll likely want to A/B some of Apple’s page load speed benchmarks.

A/B testing load speed sounds sensible. How do we go about doing that?

Unfortunately our page load speed benchmarks are not public because they incorporate captured page content, which we can’t freely redistribute.

So, can someone else from Apple review that the code is mature enough for

this? Simon had reviewed the original patch. Maybe Zalan/Darin?

A helpful person from Apple may be able to set up an A/B test for this

# Yoav Weiss (2 months ago)

+Ryosuke Niwa <rniwa at webkit.org> +Alex Christensen <achristensen at apple.com> who

were involved in the spec discussions.

# Noam Rosenthal (4 days ago)

On Wed, May 27, 2020 at 12:04 PM Yoav Weiss <yoav at yoav.ws> wrote:

+Ryosuke Niwa <rniwa at webkit.org> +Alex Christensen

<achristensen at apple.com> who were involved in the spec discussions.

On Wed, May 27, 2020 at 10:29 AM Noam Rosenthal <noam at webkit.org> wrote:

> >

Following up on this.

FOn Tue, May 12, 2020 at 10:28 AM Maciej Stachowiak <mjs at apple.com> wrote:

> >

On May 11, 2020, at 9:53 PM, Noam Rosenthal <noam at webkit.org> wrote:

On Tue, May 12, 2020 at 1:36 AM Maciej Stachowiak <mjs at apple.com> wrote:

>

I noticed from comments in one of the Radars that the patch may result in an additional “fake paint”, so it should probably be performance tested. Have you done any testing?

I've tested it locally, I haven't noticed any significant side effect, because in complex situations the fake paint only happens once per page and bails early once contentfulness is detected. but I can run any additional test needed.

We’ll likely want to A/B some of Apple’s page load speed benchmarks.

A/B testing load speed sounds sensible. How do we go about doing that?

Unfortunately our page load speed benchmarks are not public because they incorporate captured page content, which we can’t freely redistribute.

So, can someone else from Apple review that the code is mature enough for this? Simon had reviewed the original patch. Maybe Zalan/Darin?

A helpful person from Apple may be able to set up an A/B test for this

patch.

What's required to ask for help from a helpful person at Apple? :)

Hola

Pinging about this again :) The code for paint timing API is sitting there in the repo, waiting either for internal Apple A/B tests, for an additional code maturity review, or for enabling it by default... I'm here if any changes in the code need to be made.

Trying to figure out how we can proceed with this... @Maciej Stachowiak

<mjs at apple.com>?

# Keith Miller (4 days ago)

If you tell me how to enable paint timing by default, I can start an A/B task for you. I’m probably not qualified to review it for code maturity though.

# Noam Rosenthal (4 days ago)

On Mon, Jul 13, 2020 at 9:15 PM Keith Miller <keith_miller at apple.com> wrote:

If you tell me how to enable paint timing by default, I can start an A/B task for you. I’m probably not qualified to review it for code maturity though.

Awesome, thanks! It's an experimental runtime flag calledPaintTimingEnabled I have a patch for enabling it by default here: bugs.webkit.org/show_bug.cgi?id=211736 We mainly need to test that measuring paint timing doesn't (badly) influence loading performance.

# Keith Miller (21 hours ago)

Results appear to be neutral on the page load time benchmark, so you should be good on that front. I don’t know who the best person to vet the maturity of the code is though, sorry.

# Noam Rosenthal (10 hours ago)

On Thu, Jul 16, 2020 at 11:03 PM Keith Miller <keith_miller at apple.com>

wrote:

Results appear to be neutral on the page load time benchmark, so you should be good on that front. I don’t know who the best person to vet the maturity of the code is though, sorry.

Thanks a lot Keith, I appreciate it! @Maciej Stachowiak <mjs at apple.com>, what would be a good way to assert

whether the code maturity is good enough to enable paint timing by default? The original code was reviewed by smfr and initially by zalan. It's covered by over 30 tests, mostly WPT, and A/B tests show no effect on load times as per Keith's check. Would asking for additional reviews be the next step? From whom?

Want more features?

Request early access to our private beta of readable email premium.