Skip to content

pass Buffer directly to Rust#30975

Merged
timneutkens merged 2 commits intocanaryfrom
perf/pass-buffer-to-swc
Nov 5, 2021
Merged

pass Buffer directly to Rust#30975
timneutkens merged 2 commits intocanaryfrom
perf/pass-buffer-to-swc

Conversation

@sokra
Copy link
Copy Markdown
Member

@sokra sokra commented Nov 4, 2021

avoids converting Buffer to string to Buffer to rust string

improves performance

avoids converting Buffer to string to Buffer to rust string
@ijjk

This comment has been minimized.

Comment thread packages/next/build/webpack/loaders/next-swc-loader.js
Comment thread packages/next/build/swc/src/transform.rs
Comment thread packages/next/build/swc/src/transform.rs Outdated
@sokra sokra requested a review from kdy1 November 5, 2021 08:41
Copy link
Copy Markdown
Contributor

@kdy1 kdy1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool!
It's all fine now.

@ijjk
Copy link
Copy Markdown
Member

ijjk commented Nov 5, 2021

Stats from current PR

Default Build (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary vercel/next.js perf/pass-buffer-to-swc Change
buildDuration 17.8s 17.9s ⚠️ +83ms
buildDurationCached 3.7s 3.6s -95ms
nodeModulesSize 332 MB 332 MB ⚠️ +250 B
Page Load Tests Overall increase ✓
vercel/next.js canary vercel/next.js perf/pass-buffer-to-swc Change
/ failed reqs 0 0
/ total time (seconds) 2.79 2.838 ⚠️ +0.05
/ avg req/sec 896.01 880.99 ⚠️ -15.02
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.432 1.394 -0.04
/error-in-render avg req/sec 1745.35 1793.54 +48.19
Client Bundles (main, webpack, commons)
vercel/next.js canary vercel/next.js perf/pass-buffer-to-swc Change
450.HASH.js gzip 179 B 179 B
framework-HASH.js gzip 42.2 kB 42.2 kB
main-HASH.js gzip 28 kB 28 kB
webpack-HASH.js gzip 1.45 kB 1.45 kB
Overall change 71.9 kB 71.9 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js perf/pass-buffer-to-swc Change
polyfills-HASH.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary vercel/next.js perf/pass-buffer-to-swc Change
_app-HASH.js gzip 1.23 kB 1.23 kB
_error-HASH.js gzip 194 B 194 B
amp-HASH.js gzip 312 B 312 B
css-HASH.js gzip 327 B 327 B
dynamic-HASH.js gzip 2.38 kB 2.38 kB
head-HASH.js gzip 350 B 350 B
hooks-HASH.js gzip 635 B 635 B
image-HASH.js gzip 4.44 kB 4.44 kB
index-HASH.js gzip 263 B 263 B
link-HASH.js gzip 1.87 kB 1.87 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
334f979574ae..6f4.css gzip 106 B 106 B
Overall change 13.1 kB 13.1 kB
Client Build Manifests
vercel/next.js canary vercel/next.js perf/pass-buffer-to-swc Change
_buildManifest.js gzip 459 B 459 B
Overall change 459 B 459 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js perf/pass-buffer-to-swc Change
index.html gzip 522 B 522 B
link.html gzip 535 B 535 B
withRouter.html gzip 516 B 516 B
Overall change 1.57 kB 1.57 kB

Default Build with SWC (Decrease detected ✓)
General Overall increase ⚠️
vercel/next.js canary vercel/next.js perf/pass-buffer-to-swc Change
buildDuration 19.6s 19s -600ms
buildDurationCached 3.7s 3.7s ⚠️ +11ms
nodeModulesSize 332 MB 332 MB ⚠️ +250 B
Page Load Tests Overall decrease ⚠️
vercel/next.js canary vercel/next.js perf/pass-buffer-to-swc Change
/ failed reqs 0 0
/ total time (seconds) 2.882 2.89 ⚠️ +0.01
/ avg req/sec 867.44 864.97 ⚠️ -2.47
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.389 1.391 0
/error-in-render avg req/sec 1799.83 1797.1 ⚠️ -2.73
Client Bundles (main, webpack, commons)
vercel/next.js canary vercel/next.js perf/pass-buffer-to-swc Change
450.HASH.js gzip 179 B 179 B
framework-HASH.js gzip 42.3 kB 42.3 kB
main-HASH.js gzip 28.2 kB 28.2 kB
webpack-HASH.js gzip 1.43 kB 1.43 kB
Overall change 72.1 kB 72.1 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js perf/pass-buffer-to-swc Change
polyfills-HASH.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary vercel/next.js perf/pass-buffer-to-swc Change
_app-HASH.js gzip 1.22 kB 1.22 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.38 kB 2.38 kB
head-HASH.js gzip 342 B 342 B
hooks-HASH.js gzip 622 B 622 B
image-HASH.js gzip 4.46 kB 4.46 kB
index-HASH.js gzip 256 B 256 B
link-HASH.js gzip 1.91 kB 1.91 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
334f979574ae..6f4.css gzip 106 B 106 B
Overall change 13.1 kB 13.1 kB
Client Build Manifests
vercel/next.js canary vercel/next.js perf/pass-buffer-to-swc Change
_buildManifest.js gzip 460 B 460 B
Overall change 460 B 460 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js perf/pass-buffer-to-swc Change
index.html gzip 522 B 522 B
link.html gzip 535 B 535 B
withRouter.html gzip 516 B 516 B
Overall change 1.57 kB 1.57 kB
Commit: 8c9da9b

@timneutkens timneutkens merged commit 177e15b into canary Nov 5, 2021
@timneutkens timneutkens deleted the perf/pass-buffer-to-swc branch November 5, 2021 14:12
@vercel vercel locked as resolved and limited conversation to collaborators Jan 27, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants