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

Optimize offline condition judgment #33238

Merged
merged 15 commits into from Feb 2, 2022
Merged

Conversation

zh-lx
Copy link
Contributor

@zh-lx zh-lx commented Jan 13, 2022

The purpose of this code is to judge whether the user is offline, so the !isOnline judgment condition should be placed on the outermost layer. In this way, one judgment logic can be reduced when isOnline is true.

Documentation / Examples

  • Make sure the linting passes by running yarn lint

@ijjk ijjk added create-next-app Related to our CLI tool for quickly starting a new Next.js application. type: next labels Jan 13, 2022
@my-mini-react

This comment has been minimized.

timneutkens
timneutkens previously approved these changes Jan 31, 2022
@timneutkens
Copy link
Member

Thanks!

@timneutkens timneutkens changed the title perf: optimize offline condition judgment Optimize offline condition judgment Jan 31, 2022
@ijjk

This comment has been minimized.

ijjk
ijjk previously approved these changes Feb 2, 2022
@ijjk

This comment has been minimized.

@ijjk

This comment has been minimized.

@ijjk

This comment has been minimized.

@ijjk ijjk dismissed stale reviews from timneutkens and themself via e1088c4 February 2, 2022 15:38
@ijjk
Copy link
Member

ijjk commented Feb 2, 2022

Stats from current PR

Default Build (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary zh-lx/next.js perf-offline-judgment Change
buildDuration 12.5s 12.8s ⚠️ +213ms
buildDurationCached 3.2s 3.2s ⚠️ +15ms
nodeModulesSize 359 MB 359 MB -244 B
Page Load Tests Overall increase ✓
vercel/next.js canary zh-lx/next.js perf-offline-judgment Change
/ failed reqs 0 0
/ total time (seconds) 2.995 3.01 ⚠️ +0.01
/ avg req/sec 834.82 830.49 ⚠️ -4.33
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.402 1.379 -0.02
/error-in-render avg req/sec 1782.96 1812.71 +29.75
Client Bundles (main, webpack, commons)
vercel/next.js canary zh-lx/next.js perf-offline-judgment Change
450.HASH.js gzip 179 B 179 B
framework-HASH.js gzip 42.2 kB 42.2 kB
main-HASH.js gzip 27.2 kB 27.2 kB
webpack-HASH.js gzip 1.44 kB 1.44 kB
Overall change 71.1 kB 71.1 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary zh-lx/next.js perf-offline-judgment Change
polyfills-HASH.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary zh-lx/next.js perf-offline-judgment Change
_app-HASH.js gzip 1.37 kB 1.37 kB
_error-HASH.js gzip 194 B 194 B
amp-HASH.js gzip 312 B 312 B
css-HASH.js gzip 326 B 326 B
dynamic-HASH.js gzip 2.37 kB 2.37 kB
head-HASH.js gzip 350 B 350 B
hooks-HASH.js gzip 919 B 919 B
image-HASH.js gzip 4.94 kB 4.94 kB
index-HASH.js gzip 263 B 263 B
link-HASH.js gzip 2.19 kB 2.19 kB
routerDirect..HASH.js gzip 321 B 321 B
script-HASH.js gzip 383 B 383 B
withRouter-HASH.js gzip 318 B 318 B
85e02e95b279..7e3.css gzip 107 B 107 B
Overall change 14.3 kB 14.3 kB
Client Build Manifests
vercel/next.js canary zh-lx/next.js perf-offline-judgment Change
_buildManifest.js gzip 459 B 459 B
Overall change 459 B 459 B
Rendered Page Sizes
vercel/next.js canary zh-lx/next.js perf-offline-judgment Change
index.html gzip 529 B 529 B
link.html gzip 544 B 544 B
withRouter.html gzip 525 B 525 B
Overall change 1.6 kB 1.6 kB

Default Build with SWC (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary zh-lx/next.js perf-offline-judgment Change
buildDuration 15.9s 17.9s ⚠️ +2.1s
buildDurationCached 3.2s 3.2s ⚠️ +38ms
nodeModulesSize 359 MB 359 MB -244 B
Page Load Tests Overall increase ✓
vercel/next.js canary zh-lx/next.js perf-offline-judgment Change
/ failed reqs 0 0
/ total time (seconds) 2.886 2.956 ⚠️ +0.07
/ avg req/sec 866.16 845.79 ⚠️ -20.37
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.398 1.32 -0.08
/error-in-render avg req/sec 1788.02 1893.7 +105.68
Client Bundles (main, webpack, commons)
vercel/next.js canary zh-lx/next.js perf-offline-judgment Change
450.HASH.js gzip 179 B 179 B
framework-HASH.js gzip 42.3 kB 42.3 kB
main-HASH.js gzip 27.4 kB 27.4 kB
webpack-HASH.js gzip 1.44 kB 1.44 kB
Overall change 71.3 kB 71.3 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary zh-lx/next.js perf-offline-judgment Change
polyfills-HASH.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary zh-lx/next.js perf-offline-judgment Change
_app-HASH.js gzip 1.35 kB 1.35 kB
_error-HASH.js gzip 180 B 180 B
amp-HASH.js gzip 305 B 305 B
css-HASH.js gzip 321 B 321 B
dynamic-HASH.js gzip 2.36 kB 2.36 kB
head-HASH.js gzip 342 B 342 B
hooks-HASH.js gzip 911 B 911 B
image-HASH.js gzip 4.98 kB 4.98 kB
index-HASH.js gzip 256 B 256 B
link-HASH.js gzip 2.21 kB 2.21 kB
routerDirect..HASH.js gzip 314 B 314 B
script-HASH.js gzip 375 B 375 B
withRouter-HASH.js gzip 309 B 309 B
85e02e95b279..7e3.css gzip 107 B 107 B
Overall change 14.3 kB 14.3 kB
Client Build Manifests
vercel/next.js canary zh-lx/next.js perf-offline-judgment Change
_buildManifest.js gzip 458 B 458 B
Overall change 458 B 458 B
Rendered Page Sizes
vercel/next.js canary zh-lx/next.js perf-offline-judgment Change
index.html gzip 530 B 530 B
link.html gzip 542 B 542 B
withRouter.html gzip 524 B 524 B
Overall change 1.6 kB 1.6 kB
Commit: e1088c4

@ijjk ijjk merged commit 6dfe02d into vercel:canary Feb 2, 2022
natew pushed a commit to natew/next.js that referenced this pull request Feb 16, 2022
* perf: optimize offline condition judgment

* lint-fix

Co-authored-by: JJ Kasper <jj@jjsweb.site>
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 5, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
create-next-app Related to our CLI tool for quickly starting a new Next.js application. type: next
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants