Allow attaching information about which functions should be eager parsed & compiled in JavaScript files. The information will be encoded as magic comments. We'll first target launching the file-based explicit compile hints, and as a follow up, investigate selecting individual functions for eager compilation.
No interoperability / compatibility risks. Other browsers are likely to ignore the hints if they perceive they cannot benefit from them. Ignoring the hint is allowed behavior. We plan to make the hints generic though, so that other browsers can later start to support them too, e.g., if they implement background parsing / compilation.
Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?
The feature doesn't trigger any functional changes and cannot be tested by WPT.
Origin trial desktop first | 115 |
Origin trial desktop last | 117 |
Origin trial extension 1 end milestone | 131 |
Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way).
Google Germany GmbH
Erika-Mann-Straße 33
80636 München
Geschäftsführer: Paul Manicle, Liana Sebastian.
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Diese E-Mail ist vertraulich. Falls sie diese fälschlicherweise erhalten haben sollten, leiten Sie diese bitte nicht an jemand anderes weiter, löschen Sie alle Kopien und Anhänge davon und lassen Sie mich bitte wissen, dass die E-Mail an die falsche Person gesendet wurde.
This e-mail is confidential. If you received this communication by mistake, please don't forward it to anyone else, please erase all copies and attachments, and please let me know that it has gone to the wrong person.
(Sending this I2S as recommended by API owners, to continue the discussion about shipping this feature.)
Contact emails[email protected], leszeks@google.com
Explainerhttps://github.com/explainers-by-googlers/explicit-javascript-compile-hints-file-based/blob/main/README.md
Specificationhttps://explainers-by-googlers.github.io/explicit-javascript-compile-hints-file-based
SummaryAllow attaching information about which functions should be eager parsed & compiled in JavaScript files. The information will be encoded as magic comments. We'll first target launching the file-based explicit compile hints, and as a follow up, investigate selecting individual functions for eager compilation.
Blink componentBlink>JavaScript
TAG review
TAG review statusPending
Chromium Trial NameJavaScriptCompileHintsMagic
Link to origin trial feedback summaryhttps://google.qualtrics.com/jfe/form/SV_9SLyOGnTj2cwo0C
Origin Trial documentation linkhttps://docs.google.com/document/d/19xTAM4A75tz0xUq_velMzGA4JHEgXpyflUxXTcuNiyE/edit?usp=sharing
Risks
Interoperability and CompatibilityNo interoperability / compatibility risks. Other browsers are likely to ignore the hints if they perceive they cannot benefit from them. Ignoring the hint is allowed behavior. We plan to make the hints generic though, so that other browsers can later start to support them too, e.g., if they implement background parsing / compilation.
Gecko: N/A (https://github.com/mozilla/standards-positions/issues/780)
WebKit: N/A (https://github.com/WebKit/standards-positions/issues/172)
Web developers: Positive Positive signals from partners who want to use compile hints to eager-compile core JS files.
Other signals:
WebView application risksDoes this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?
Debuggability
Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?Yes
Is this feature fully tested by web-platform-tests?NoThe feature doesn't trigger any functional changes and cannot be tested by WPT.
Flag name on chrome://flags
Finch feature nameNone
Non-finch justificationNone
Requires code in //chrome?False
Tracking bughttps://bugs.chromium.org/p/v8/issues/detail?id=13917
Estimated milestonesOrigin trial desktop first115Origin trial desktop last117Origin trial extension 1 end milestone131
Anticipated spec changesOpen questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way).
Link to entry on the Chrome Platform Statushttps://chromestatus.com/feature/5100466238652416?gate=5172761812533248
Links to previous Intent discussionsIntent to Experiment: https://groups.google.com/a/chromium.org/g/blink-dev/c/BmN1Wus8V1s/m/3L2uU-wGAgAJ
Could you also please request the various Privacy, Security,
Enterprise, etc. bits in your Chromestatus entry?
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/95883282-a93f-4b2a-b34f-9bd4c401129en%40chromium.org.
(Sending this I2S as recommended by API owners, to continue the discussion about shipping this feature.)
Contact emails
[email protected], [email protected]Explainer
https://github.com/explainers-by-googlers/explicit-javascript-compile-hints-file-based/blob/main/README.mdSpecification
https://explainers-by-googlers.github.io/explicit-javascript-compile-hints-file-basedSummary
Allow attaching information about which functions should be eager parsed & compiled in JavaScript files. The information will be encoded as magic comments. We'll first target launching the file-based explicit compile hints, and as a follow up, investigate selecting individual functions for eager compilation.
Blink component
Blink>JavaScriptTAG review
TAG review status
PendingChromium Trial Name
JavaScriptCompileHintsMagicLink to origin trial feedback summary
https://google.qualtrics.com/jfe/form/SV_9SLyOGnTj2cwo0C
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAED6dUAN%3DzwdBsziegkniJi2hhF%3DVQ7xUk%2BdvB-6V%2B-TCTdiPg%40mail.gmail.com.
Thanks for working on this! This is super interesting!!On Monday, September 30, 2024 at 4:12:25 PM UTC+2 Marja Hölttä wrote:(Sending this I2S as recommended by API owners, to continue the discussion about shipping this feature.)
Contact emails[email protected], leszeks@google.com
Explainerhttps://github.com/explainers-by-googlers/explicit-javascript-compile-hints-file-based/blob/main/README.md
Specificationhttps://explainers-by-googlers.github.io/explicit-javascript-compile-hints-file-basedWe don't typically ship features with specs on personal or Google-owned repos.I think it would be good to try and move this to an incubation venue (e.g. WICG).This would be a better place from an IPR perspective (i.e. allow contributions outside of Google), and will help us validate that this is something that has at least some industry support.
SummaryAllow attaching information about which functions should be eager parsed & compiled in JavaScript files. The information will be encoded as magic comments. We'll first target launching the file-based explicit compile hints, and as a follow up, investigate selecting individual functions for eager compilation.
Blink componentBlink>JavaScript
TAG reviewDid you file for a TAG review?
Thanks all! I'll reply to various things at once:domenic@: thanks for pointing out the wrong link, that was a mistake. There's no Origin Trial feedback summary available, and the results we've gotten from Workspace devs are not publicly available.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAED6dUDrcx98wUWWAM4QZS5k%2BBv6_zST8_vMs2Oj5%2BSO6PYayw%40mail.gmail.com.
About a year ago, we had a thread asking about the standardization plans for this, and I suggested giving TC39 a PSA and trying to standardize this through the Web Perf WG. Can you point to any minutes from TC39 where you discussed this with them, and have you proposed this to a WG as https://www.chromium.org/blink/launching-features/#new-feature-prepare-to-ship:~:text=propose%20that%20the%20feature%20migrate%20to%20a%20working%20group requires?
On 10/4/24 1:56 AM, 'Marja Hölttä' via blink-dev wrote:
miketaylr@: It's very likely that the privacy & security reviews will be very straightforward in comparison to the API owners approval. This is essentially a JavaScript feature (though, not a semantics changing one) so it doesn't have privacy implications. Security-wise, it's much less risky than other V8 features on average, so I don't expect much work to be coming from that direction either. That's why I kicked off the API owner discussion first, since that's the most interesting one. Would it be ok to do the privacy & security reviews only after this discussion has converged?
We ask that everyone request the various review gates before we give OWNERs approvals - but we don't block on the resolution of said reviews. Also, if you already have internal reviews (which is likely true given that you've already run an Origin Trial), you can just link to the internal launch bug and use the Request N/A button.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/448934fc-6d9d-4e09-a728-64bf28201636%40chromium.org.
The main reason I'm personally gung-ho on shipping this is that, as far as I can tell, it has extremely low interoperability and compatibility risk. This is just metadata that influences performance heuristics and (despite some risk) all browsers tweak performance heuristics all the time without necessarily having any public / transparent process for doing so. Even in the case of developer-influenced heuristics like PIFE, is there any precedent for following a standards track? This proposal seems strictly better in that regard in terms of plausibly becoming on a standards track someday as interest grows, so taking a step in that direction seems like a net positive to me. Marja, can you confirm that, should we get feedback later for adjusting the syntax and other details, we can easily change our implementation after shipping? Worst case we support both old and new formats for ~2 milestones while partners who really care about the perf wins they're seeing update, right?Of course I agree that if we can meet the bar now for getting this into an IPR-protected venue, then absolutely we should. I know we've reached out to some non-Google developers to gauge interest and haven't yet found anyone interested in experimenting. It's good to poke on that a little more (eg. maybe this will turn up someone in the web perf community), but I don't think we should block indefinitely on it as long as we have evidence of clear user-benefit.So in terms of demonstrating the benefit, Marja what data can you share about performance improvements that you've seen from properties who have tested this? From all our work on performance of native applications (like Chrome), I think it should be pretty obvious that PGO can lead to meaningful user-observable performance wins, but I do agree that we should be able to characterize those wins in a concrete public setting before shipping.RickOn Fri, Oct 4, 2024 at 9:12 AM Mike Taylor <[email protected]> wrote:On 10/4/24 1:56 AM, 'Marja Hölttä' via blink-dev wrote:
miketaylr@: It's very likely that the privacy & security reviews will be very straightforward in comparison to the API owners approval. This is essentially a JavaScript feature (though, not a semantics changing one) so it doesn't have privacy implications. Security-wise, it's much less risky than other V8 features on average, so I don't expect much work to be coming from that direction either. That's why I kicked off the API owner discussion first, since that's the most interesting one. Would it be ok to do the privacy & security reviews only after this discussion has converged?We ask that everyone request the various review gates before we give OWNERs approvals - but we don't block on the resolution of said reviews. Also, if you already have internal reviews (which is likely true given that you've already run an Origin Trial), you can just link to the internal launch bug and use the Request N/A button.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.