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

[browser] app start benchmark fix, loadBootResource fix #89857

Merged
merged 19 commits into from
Aug 8, 2023

Conversation

pavelsavara
Copy link
Member

@pavelsavara pavelsavara commented Aug 2, 2023

As we introduced cache also for non-blazor template, we also adopted it's resources cache and no-cache hint for fetch.
Because our SimpleServer which we use for benchmark doesn't use ETag header, it leads to full download.

  • stop using loadBootResource too early
  • implement ETag HTTP header for SimpleServer and benchmark
  • introduce disableNoCacheFetch and disableIntegrityCheck config flags
  • use noCache and useCredentials flags on asset just for appsettings configuration, not all VFS
  • delay cache cleanup 10 seconds later
  • delay adding new cache items to timer loop
  • replace ResourceRequest usage with AssetEntryInternal
  • remove ResourceRequest type
  • fixes prefetch on samples and bench
  • apply unique query also to js-module-library-initializer and manifest
  • start downloading non-script assets earlier
  • minor importLibraryInitializers refactoring

- use noCache and useCredentials flags on asset just for appsettings configuration, not all VFS
- delay cache cleanup 10 seconds later
- delay adding new cache items to timer loop
- replace ResourceRequest usage with AssetEntryInternal
- remove ResourceRequest type
@pavelsavara pavelsavara added arch-wasm WebAssembly architecture area-System.Runtime.InteropServices.JavaScript os-browser Browser variant of arch-wasm labels Aug 2, 2023
@pavelsavara pavelsavara added this to the 8.0.0 milestone Aug 2, 2023
@pavelsavara pavelsavara self-assigned this Aug 2, 2023
@ghost
Copy link

ghost commented Aug 2, 2023

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

As we introduced cache also for non-blazor template, we also adopted it's resources cache and no-cache hint for fetch.
Because our SimpleServer which we use for benchmark doesn't use ETag header, it leads to full download.

  • implement etag for SimpleServer and benchmark
  • use noCache and useCredentials flags on asset just for appsettings configuration, not all VFS
  • delay cache cleanup 10 seconds later
  • delay adding new cache items to timer loop
  • replace ResourceRequest usage with AssetEntryInternal
  • remove ResourceRequest type
Author: pavelsavara
Assignees: pavelsavara
Labels:

arch-wasm, area-System.Runtime.InteropServices.JavaScript, os-browser

Milestone: 8.0.0

@pavelsavara pavelsavara requested a review from maraf August 2, 2023 15:28
@pavelsavara pavelsavara marked this pull request as ready for review August 2, 2023 17:10
@pavelsavara pavelsavara changed the title [browser] app start benchmark fix [browser] app start benchmark fix, loadBootResource fix Aug 3, 2023
- minor importLibraryInitializers refactoring
@pavelsavara
Copy link
Member Author

/azp run runtime-wasm

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@pavelsavara
Copy link
Member Author

pavelsavara commented Aug 3, 2023

  • todo test it with blazor e2e tests

@pavelsavara
Copy link
Member Author

/azp run runtime-wasm

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@pavelsavara pavelsavara requested a review from kg August 4, 2023 15:45
@pavelsavara pavelsavara merged commit 749b2d2 into dotnet:main Aug 8, 2023
34 checks passed
@ghost ghost locked as resolved and limited conversation to collaborators Sep 7, 2023
@pavelsavara pavelsavara deleted the browser_etag_perf branch September 2, 2024 15:35
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-wasm WebAssembly architecture area-System.Runtime.InteropServices.JavaScript os-browser Browser variant of arch-wasm
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[browser] loadBootResource should not ask for dotnetwasm location before cache lookup
3 participants