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

[Fast Refresh] Improve responsiveness on Windows #12909

Merged
merged 4 commits into from
May 15, 2020

Conversation

Timer
Copy link
Member

@Timer Timer commented May 15, 2020

The eval-source-map type is very slow to recompile on Windows, despite webpack's documentation.

This target is still preferable for macOS, where the reload speed is measurably faster than inline-source-map or cheap-module-source-map.

Due to this, only Windows will use inline-source-map for both Node.js and browser code.

I'd adjusted the code necessary to resolve these paths, and there should be no other test changes necessary if Windows tests pass.


Fixes #12797

@Timer Timer added this to the 9.4.1 milestone May 15, 2020
@ijjk
Copy link
Member

ijjk commented May 15, 2020

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall increase ⚠️
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
buildDuration 11.2s 11.1s -33ms
nodeModulesSize 58.7 MB 58.7 MB ⚠️ +60 B
Page Load Tests Overall decrease ⚠️
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
/ failed reqs 0 0
/ total time (seconds) 1.817 1.949 ⚠️ +0.13
/ avg req/sec 1375.8 1282.7 -93.1
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.045 1.175 ⚠️ +0.13
/error-in-render avg req/sec 2391.66 2128.2 -263.46
Client Bundles (main, webpack, commons)
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
main-HASH.js gzip 6.68 kB 6.68 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..e49d.js gzip 10.4 kB 10.4 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57 kB 57 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
main-HASH.module.js gzip 5.72 kB 5.72 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.85 kB 6.85 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.5 kB 52.5 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Pages
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
_app.js gzip 1.26 kB 1.26 kB
_error.js gzip 3.29 kB 3.29 kB
hooks.js gzip 880 B 880 B
index.js gzip 222 B 222 B
link.js gzip 2.06 kB 2.06 kB
routerDirect.js gzip 280 B 280 B
withRouter.js gzip 278 B 278 B
Overall change 8.26 kB 8.26 kB
Client Pages Modern
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
_app.module.js gzip 599 B 599 B
_error.module.js gzip 2.09 kB 2.09 kB
hooks.module.js gzip 383 B 383 B
index.module.js gzip 223 B 223 B
link.module.js gzip 1.52 kB 1.52 kB
routerDirect..dule.js gzip 279 B 279 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 5.37 kB 5.37 kB
Client Build Manifests
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Rendered Page Sizes
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
index.html gzip 926 B 926 B
link.html gzip 936 B 936 B
withRouter.html gzip 923 B 923 B
Overall change 2.79 kB 2.79 kB

Serverless Mode
General Overall increase ⚠️
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
buildDuration 11.7s 12s ⚠️ +276ms
nodeModulesSize 58.7 MB 58.7 MB ⚠️ +60 B
Client Bundles (main, webpack, commons)
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
main-HASH.js gzip 6.68 kB 6.68 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..e49d.js gzip 10.4 kB 10.4 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57 kB 57 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
main-HASH.module.js gzip 5.72 kB 5.72 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.85 kB 6.85 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.5 kB 52.5 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Pages
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
_app.js gzip 1.26 kB 1.26 kB
_error.js gzip 3.29 kB 3.29 kB
hooks.js gzip 880 B 880 B
index.js gzip 222 B 222 B
link.js gzip 2.06 kB 2.06 kB
routerDirect.js gzip 280 B 280 B
withRouter.js gzip 278 B 278 B
Overall change 8.26 kB 8.26 kB
Client Pages Modern
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
_app.module.js gzip 599 B 599 B
_error.module.js gzip 2.09 kB 2.09 kB
hooks.module.js gzip 383 B 383 B
index.module.js gzip 223 B 223 B
link.module.js gzip 1.52 kB 1.52 kB
routerDirect..dule.js gzip 279 B 279 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 5.37 kB 5.37 kB
Client Build Manifests
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Serverless bundles
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
_error.js 850 kB 850 kB
404.html 4.18 kB 4.18 kB
hooks.html 3.81 kB 3.81 kB
index.js 851 kB 851 kB
link.js 888 kB 888 kB
routerDirect.js 880 kB 880 kB
withRouter.js 880 kB 880 kB
Overall change 4.36 MB 4.36 MB

@ijjk
Copy link
Member

ijjk commented May 15, 2020

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall increase ⚠️
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
buildDuration 12.7s 12.8s ⚠️ +79ms
nodeModulesSize 58.7 MB 58.7 MB ⚠️ +115 B
Page Load Tests Overall decrease ⚠️
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
/ failed reqs 0 0
/ total time (seconds) 2.172 2.111 -0.06
/ avg req/sec 1151.18 1184.36 ⚠️ +33.18
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.376 1.445 ⚠️ +0.07
/error-in-render avg req/sec 1816.58 1730.36 -86.22
Client Bundles (main, webpack, commons)
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
main-HASH.js gzip 6.68 kB 6.68 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..e49d.js gzip 10.4 kB 10.4 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57 kB 57 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
main-HASH.module.js gzip 5.72 kB 5.72 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.85 kB 6.85 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.5 kB 52.5 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Pages
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
_app.js gzip 1.26 kB 1.26 kB
_error.js gzip 3.29 kB 3.29 kB
hooks.js gzip 880 B 880 B
index.js gzip 222 B 222 B
link.js gzip 2.06 kB 2.06 kB
routerDirect.js gzip 280 B 280 B
withRouter.js gzip 278 B 278 B
Overall change 8.26 kB 8.26 kB
Client Pages Modern
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
_app.module.js gzip 599 B 599 B
_error.module.js gzip 2.09 kB 2.09 kB
hooks.module.js gzip 383 B 383 B
index.module.js gzip 223 B 223 B
link.module.js gzip 1.52 kB 1.52 kB
routerDirect..dule.js gzip 279 B 279 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 5.37 kB 5.37 kB
Client Build Manifests
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Rendered Page Sizes
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
index.html gzip 926 B 926 B
link.html gzip 936 B 936 B
withRouter.html gzip 923 B 923 B
Overall change 2.79 kB 2.79 kB

Serverless Mode
General Overall increase ⚠️
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
buildDuration 13.5s 13.3s -159ms
nodeModulesSize 58.7 MB 58.7 MB ⚠️ +115 B
Client Bundles (main, webpack, commons)
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
main-HASH.js gzip 6.68 kB 6.68 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..e49d.js gzip 10.4 kB 10.4 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57 kB 57 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
main-HASH.module.js gzip 5.72 kB 5.72 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.85 kB 6.85 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.5 kB 52.5 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Pages
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
_app.js gzip 1.26 kB 1.26 kB
_error.js gzip 3.29 kB 3.29 kB
hooks.js gzip 880 B 880 B
index.js gzip 222 B 222 B
link.js gzip 2.06 kB 2.06 kB
routerDirect.js gzip 280 B 280 B
withRouter.js gzip 278 B 278 B
Overall change 8.26 kB 8.26 kB
Client Pages Modern
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
_app.module.js gzip 599 B 599 B
_error.module.js gzip 2.09 kB 2.09 kB
hooks.module.js gzip 383 B 383 B
index.module.js gzip 223 B 223 B
link.module.js gzip 1.52 kB 1.52 kB
routerDirect..dule.js gzip 279 B 279 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 5.37 kB 5.37 kB
Client Build Manifests
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Serverless bundles
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
_error.js 850 kB 850 kB
404.html 4.18 kB 4.18 kB
hooks.html 3.81 kB 3.81 kB
index.js 851 kB 851 kB
link.js 888 kB 888 kB
routerDirect.js 880 kB 880 kB
withRouter.js 880 kB 880 kB
Overall change 4.36 MB 4.36 MB

@ijjk
Copy link
Member

ijjk commented May 15, 2020

Failing test suites

test/acceptance/ReactRefreshLogBox.test.js

  • logbox: can recover from a event handler error

Expand output

● logbox: can recover from a event handler error

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `logbox: can recover from a event handler error 1`

- Snapshot
+ Received

  index.js (8:16) @ eval

-   6 | const increment = useCallback(() => {
+    6 | const increment = useCallback(() => {
-   7 |   setCount(c => c + 1)
+    7 |   setCount(c => c + 1)
  >  8 |   throw new Error('oops')
-     |        ^
+      |        ^
-   9 | }, [setCount])
+    9 | }, [setCount])
    10 | return (
    11 |   <main>

  115 |     `)
  116 |   } else {
> 117 |     expect(await session.getRedboxSource()).toMatchInlineSnapshot(`
      |                                             ^
  118 |       "index.js (8:16) @ eval
  119 | 
  120 |         6 | const increment = useCallback(() => {

  at Object.<anonymous> (acceptance/ReactRefreshLogBox.test.js:117:45)

@ijjk
Copy link
Member

ijjk commented May 15, 2020

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall increase ⚠️
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
buildDuration 11s 11.1s ⚠️ +165ms
nodeModulesSize 58.7 MB 58.7 MB ⚠️ +115 B
Page Load Tests Overall decrease ⚠️
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
/ failed reqs 0 0
/ total time (seconds) 1.89 2.02 ⚠️ +0.13
/ avg req/sec 1322.71 1237.92 -84.79
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.263 1.331 ⚠️ +0.07
/error-in-render avg req/sec 1980.02 1878.85 -101.17
Client Bundles (main, webpack, commons)
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
main-HASH.js gzip 6.68 kB 6.68 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..e49d.js gzip 10.4 kB 10.4 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57 kB 57 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
main-HASH.module.js gzip 5.72 kB 5.72 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.85 kB 6.85 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.5 kB 52.5 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Pages
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
_app.js gzip 1.26 kB 1.26 kB
_error.js gzip 3.29 kB 3.29 kB
hooks.js gzip 880 B 880 B
index.js gzip 222 B 222 B
link.js gzip 2.06 kB 2.06 kB
routerDirect.js gzip 280 B 280 B
withRouter.js gzip 278 B 278 B
Overall change 8.26 kB 8.26 kB
Client Pages Modern
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
_app.module.js gzip 599 B 599 B
_error.module.js gzip 2.09 kB 2.09 kB
hooks.module.js gzip 383 B 383 B
index.module.js gzip 223 B 223 B
link.module.js gzip 1.52 kB 1.52 kB
routerDirect..dule.js gzip 279 B 279 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 5.37 kB 5.37 kB
Client Build Manifests
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Rendered Page Sizes
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
index.html gzip 926 B 926 B
link.html gzip 936 B 936 B
withRouter.html gzip 923 B 923 B
Overall change 2.79 kB 2.79 kB

Serverless Mode
General Overall increase ⚠️
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
buildDuration 11.9s 12s ⚠️ +15ms
nodeModulesSize 58.7 MB 58.7 MB ⚠️ +115 B
Client Bundles (main, webpack, commons)
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
main-HASH.js gzip 6.68 kB 6.68 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..e49d.js gzip 10.4 kB 10.4 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57 kB 57 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
main-HASH.module.js gzip 5.72 kB 5.72 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.85 kB 6.85 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.5 kB 52.5 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Pages
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
_app.js gzip 1.26 kB 1.26 kB
_error.js gzip 3.29 kB 3.29 kB
hooks.js gzip 880 B 880 B
index.js gzip 222 B 222 B
link.js gzip 2.06 kB 2.06 kB
routerDirect.js gzip 280 B 280 B
withRouter.js gzip 278 B 278 B
Overall change 8.26 kB 8.26 kB
Client Pages Modern
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
_app.module.js gzip 599 B 599 B
_error.module.js gzip 2.09 kB 2.09 kB
hooks.module.js gzip 383 B 383 B
index.module.js gzip 223 B 223 B
link.module.js gzip 1.52 kB 1.52 kB
routerDirect..dule.js gzip 279 B 279 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 5.37 kB 5.37 kB
Client Build Manifests
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Serverless bundles
zeit/next.js canary Timer/next.js hotfix/windows-overlay-speed Change
_error.js 850 kB 850 kB
404.html 4.18 kB 4.18 kB
hooks.html 3.81 kB 3.81 kB
index.js 851 kB 851 kB
link.js 888 kB 888 kB
routerDirect.js 880 kB 880 kB
withRouter.js 880 kB 880 kB
Overall change 4.36 MB 4.36 MB

@Timer Timer merged commit 3bd2711 into vercel:canary May 15, 2020
@Timer Timer deleted the hotfix/windows-overlay-speed branch May 15, 2020 12:30
chibicode pushed a commit to chibicode/next.js that referenced this pull request May 21, 2020
rokinsky pushed a commit to rokinsky/next.js that referenced this pull request Jul 11, 2020
@sokra sokra mentioned this pull request Sep 7, 2021
10 tasks
@vercel vercel locked as resolved and limited conversation to collaborators Jan 30, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Compiling too slow on next 9.4
3 participants