Hi Alex, Just to quickly reply on the breaking changes and what we've learnt: we have been in an active collaboration with Sheets on this for over 2.5 years now with a lot of development and measurements leading up to the origin trial. This allowed us to shape the proposal and the implementation before that. The main goal of the trial is to confirm that our expectations hold up in real-world scenarios and the performance numbers that we got (~40% calculation time improvement) are perfectly in line with our expectations. Other findings are mostly integration issues in user space but have fortunately not challenged the proposal nor our architecture. The extension is meant to allow us longer and broader testing on a larger variety of sheets.
We have made several changes during the trial and evaluated them together with J2CL and Sheets as well as other partners, but intentionally avoided breaking changes as these need to be propagated to Binaryen, J2Wasm and eventually Sheets which would require weeks of interruption every time. We know that there will be a breaking change coming once the final version of the proposal is merged in and that we will have to adapt our implementation before its stable release. This does not affect the functionality as the functionality is perfectly aligned, only the op codes are going to change <https://github.com/WebAssembly/gc/pull/372>. I hope this helps alleviate your concerns. Best, Emanuel On Thu, Jul 27, 2023 at 2:19 AM Alex Russell <slightly...@chromium.org> wrote: > I'd be much more likely to support the extension if there was a report-out > on what we've learned this far, particularly given the increasing risks > presented by big products using it (Sheets) given that we're proposing to > stretch to 8 months with no breaking changes. > > Best, > > Alex > > On Wednesday, July 26, 2023 at 11:16:42 AM UTC-7 Emanuel Ziegler wrote: > >> On Wed, Jul 26, 2023 at 7:22 PM Chris Harrelson <chris...@chromium.org> >> wrote: >> >>> On Wed, Jul 26, 2023 at 9:43 AM Emanuel Ziegler <ecmzieg...@chromium.org> >>> wrote: >>> >>>> Hi Chris, >>>> >>>> There is an extensive summary document from the Sheets colleagues >>>> (including a tl;dr section in the beginning): go/sheets-wasm-corp-50 >>>> We believe that error count and crash rate (mostly OOM) regressions are >>>> caused by user space code but investigations are ongoing and we expect >>>> improvements over the next weeks. >>>> >>> >>> Thanks! This is a Google-internal document, can some of it be shared >>> publicly? >>> >> >> I can ask, but since these numbers are WIP on a Google-internal trial >> with a Google product, I would be cautious. Afterᅠall, they might not tell >> that much about the state of WasmGC as a lot of this is still heavily >> influenced by user space code as mentioned above. The numbers are going to >> be more meaningful once we have reached a more stable state and are ready >> to rollᅠit out to external users. >> >> Jetbrains is also using the OT for Kotlin, but I'm not aware of detailed >>>> insights. They advertised it in a talk at WasmIO >>>> <https://seb.deleuze.fr/introducing-kotlin-wasm/>ᅠa few months back. >>>> >>> >>> Would you mind asking them for feedback? Not blocking extending the OT, >>> but feedback from OT participants is important to gather. >>> >> >> Sure. Jetbrains themselves surely have feedback on WasmGC in general but >> likely limited insights from the trial itself. They might have received >> feedback from their partners though that I can ask them about. >> >> Best regards, >>>> Emanuel >>>> >>>> On Wed, Jul 26, 2023 at 6:03 PM Chris Harrelson <chris...@chromium.org> >>>> wrote: >>>> >>>>> Hi, >>>>> >>>>> Could you share summary feedback and learnings from the OT so far? The >>>>> Sheets performance results sound great, anything else to share? >>>>> >>>>> On Tue, Jul 25, 2023 at 7:48 AM Emanuel Ziegler < >>>>> ecmzieg...@chromium.org> wrote: >>>>> >>>>>> We are requesting to extend our Origin Trial on WasmGC by another >>>>>> three milestones, effectively ending with M120. >>>>>> >>>>>> The reason is that the standardization process is taking a little >>>>>> longer than we had hoped for and will be delayed by about three months >>>>>> blocking the shipment of a stable version. Since Google Sheets is >>>>>> currently >>>>>> running user experiments using the trial with positive results (currently >>>>>> at 50% of Google corporate sheets showing ~40% calculation time >>>>>> improvement), we would like to continue this experiment for the time >>>>>> being >>>>>> to gather more data, especially extending it to non-Google users before >>>>>> shipping. >>>>>> >>>>>> The current end milestone for the trial is M117 with the most >>>>>> optimistic shipment of the feature happening in M119, perhaps even later >>>>>> if >>>>>> last minute spec changes are requested before we can reach phase 4 of the >>>>>> proposal. We would therefore potentially end the trial before M120 if >>>>>> shipment were indeed to happen sooner or use the full three milestones if >>>>>> there are further delays. >>>>>> >>>>>> Thank you! >>>>>> >>>>>> >>>>>> Contact emails >>>>>> >>>>>> ad...@chromium.org, jkumme...@chromium.org >>>>>> >>>>>> Explainer >>>>>> >>>>>> https://github.com/WebAssembly/gc/blob/master/proposals/gc/Overview.md >>>>>> >>>>>> >>>>>> https://github.com/WebAssembly/function-references/blob/main/proposals/function-references/Overview.md >>>>>> >>>>>> Specification >>>>>> >>>>>> https://github.com/WebAssembly/gc/tree/main/proposals/gc >>>>>> >>>>>> Summary >>>>>> >>>>>> The GC proposal adds efficient support for high-level managed >>>>>> languages to WebAssembly, via struct and array types that enable language >>>>>> compilers targeting Wasm to integrate with a garbage collector in the >>>>>> host >>>>>> VM. In Chrome, enabling this feature implies enabling Typed Function >>>>>> References, which allow function references to be stored in the >>>>>> aforementioned structs and arrays. >>>>>> >>>>>> >>>>>> Blink component >>>>>> >>>>>> Blink>JavaScript>WebAssembly >>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EJavaScript%3EWebAssembly> >>>>>> >>>>>> Search tags >>>>>> >>>>>> wasm <https://chromestatus.com/features#tags:wasm>, webassembly >>>>>> <https://chromestatus.com/features#tags:webassembly>, gc >>>>>> <https://chromestatus.com/features#tags:gc>, managed objects >>>>>> <https://chromestatus.com/features#tags:managed%20objects>, wasmgc >>>>>> <https://chromestatus.com/features#tags:wasmgc> >>>>>> >>>>>> TAG review >>>>>> >>>>>> https://github.com/w3ctag/design-reviews/issues/814 >>>>>> >>>>>> TAG review status >>>>>> >>>>>> Issues addressed >>>>>> >>>>>> Risks >>>>>> >>>>>> Interoperability and Compatibility >>>>>> >>>>>> Gecko: Positive >>>>>> >>>>>> WebKit: No signal >>>>>> >>>>>> Web developers: Positive Google Sheets, which is currently compiling >>>>>> Java to JavaScript, is experimenting with using WasmGC to speed up their >>>>>> calculation engine. JetBrains is working on a Kotlin -> WasmGC compiler. >>>>>> Dart is working on a Dart -> WasmGC compiler, in collaboration with >>>>>> Flutter. >>>>>> >>>>>> Other signals: >>>>>> >>>>>> WebView application risks >>>>>> >>>>>> Does this intent deprecate or change behavior of existing APIs, such >>>>>> that it has potentially high risk for Android WebView-based applications? >>>>>> >>>>>> >>>>>> Goals for experimentation >>>>>> >>>>>> Ongoing technical constraints >>>>>> >>>>>> Debuggability >>>>>> >>>>>> Will this feature be supported on all six Blink platforms (Windows, >>>>>> Mac, Linux, Chrome OS, Android, and Android WebView)? >>>>>> >>>>>> No >>>>>> >>>>>> Is this feature fully tested by web-platform-tests >>>>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> >>>>>> ? >>>>>> >>>>>> No >>>>>> >>>>>> Flag name >>>>>> >>>>>> Requires code in //chrome? >>>>>> >>>>>> False >>>>>> >>>>>> Tracking bug >>>>>> >>>>>> https://bugs.chromium.org/p/v8/issues/detail?id=7748 >>>>>> >>>>>> Launch bug >>>>>> >>>>>> https://launch.corp.google.com/launch/4231622 >>>>>> >>>>>> Estimated milestones >>>>>> >>>>>> OriginTrial desktop last >>>>>> >>>>>> 117 >>>>>> >>>>>> OriginTrial desktop first >>>>>> >>>>>> 112 >>>>>> >>>>>> OriginTrial Android last >>>>>> >>>>>> 117 >>>>>> >>>>>> OriginTrial Android first >>>>>> >>>>>> 112 >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> Link to entry on the Chrome Platform Status >>>>>> >>>>>> https://chromestatus.com/feature/6062715726462976 >>>>>> >>>>>> Links to previous Intent discussions >>>>>> >>>>>> Intent to Experiment: >>>>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/HDbvHCVFSW0 >>>>>> >>>>>> -- >>>>>> 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+unsubscr...@chromium.org. >>>>>> To view this discussion on the web visit >>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPAU7Ryv%3D-1UFkh%2BJ5GBxMFBQ88FMa9u%3Dvbboo0hCy9xcOGgAA%40mail.gmail.com >>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPAU7Ryv%3D-1UFkh%2BJ5GBxMFBQ88FMa9u%3Dvbboo0hCy9xcOGgAA%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>> . >>>>>> >>>>> -- >>>> 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+unsubscr...@chromium.org. >>>> To view this discussion on the web visit >>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPAU7RwLJsFGk6XBHrBqwoG5_MNCvPyF_dLb2R_Wsy6ALCAkYw%40mail.gmail.com >>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPAU7RwLJsFGk6XBHrBqwoG5_MNCvPyF_dLb2R_Wsy6ALCAkYw%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- 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+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPAU7Rwxi8zKEAHjox1-V%2Bg-q5R6sXinBrq5ncGzNsddqEaCnw%40mail.gmail.com.