Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Explore removing/disabling chunk separator feature #9998

Open
niloc132 opened this issue Aug 30, 2024 · 0 comments
Open

Explore removing/disabling chunk separator feature #9998

niloc132 opened this issue Aug 30, 2024 · 0 comments
Milestone

Comments

@niloc132
Copy link
Member

IframeLinker (deprecated) and CrossSiteIframeLinker (the current default) have a feature to split up strings passed to script blocks. There are roughly two considerations that have historically mattered here:

  • If chunks are too small, there are too many <script> blocks, which breaks IE (see defunct class JsIEBlockSizeVisitor, removed in github.com/gwtproject/gwt/commit/11bcab6517cb27940bb00df26f2be2310c73150b)
  • If chunks are too big, performance is bad in loading large <script> blocks in Firefox

The firefox performance issue was noted in 2009, and may no longer apply. Additionally, only the initial fragment has this applied anyway - all split points appear to have their output un-chunked (suggesting that these fragments loaded "slowly" in firefox at the time).

The impact of this feature is low - it helped contribute to #9931, and will require 2-3x the memory of the primary fragment in order to copy it. No user code can depend on this as a feature - it if there is no performance benefit to keep it, it seems easily worth removing/disabling.

It seems likely that this feature no longer matters, If so, we should consider one or more of the following:

  • Set the iframe.linker.script.chunk.size configuration property to -1 to disable the feature - this is a supported value, but the default is presently 30000.
  • Detect non--1 values when sourcemaps are enabled, optionally with a warning if another value is set.
  • Deprecate/remove the feature entirely.

See also:

@niloc132 niloc132 added this to the 2.13 milestone Aug 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant