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

perf: optimize scheduler queueJob performance #138

Merged
merged 1 commit into from
Feb 25, 2024
Merged

Conversation

yyx990803
Copy link
Member

Optimize queueJob when queueing large amount of jobs with the same id (common in v-for under vapor mode).

Benchmark for selecting from 10000 items:

  • Before
    • select: min: 23.30 / max: 29.50 / median: 26.00ms / mean: 26.02ms / time: 24.80ms / std: 2.08 over 10 runs
  • After
    • select: min: 10.90 / max: 18.50 / median: 15.10ms / mean: 14.41ms / time: 15.20ms / std: 2.47 over 10 runs
  • vuejs/vapor (reference)
    • without memo select: min: 9.60 / max: 27.80 / median: 19.10ms / mean: 16.54ms / std: 5.87 over 10 runs
    • with memo select: min: 6.00 / max: 23.30 / median: 8.60ms / mean: 12.58ms / std: 6.51 over 10 runs

Copy link

netlify bot commented Feb 25, 2024

Deploy Preview for vapor-template-explorer ready!

Name Link
🔨 Latest commit d58497f
🔍 Latest deploy log https://app.netlify.com/sites/vapor-template-explorer/deploys/65dab361fc175500086212ae
😎 Deploy Preview https://deploy-preview-138--vapor-template-explorer.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Copy link

netlify bot commented Feb 25, 2024

Deploy Preview for vapor-repl ready!

Name Link
🔨 Latest commit d58497f
🔍 Latest deploy log https://app.netlify.com/sites/vapor-repl/deploys/65dab36136080c00089a5bae
😎 Deploy Preview https://deploy-preview-138--vapor-repl.netlify.app/
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Copy link

Size Report

Bundles

File Size Gzip Brotli
compiler-dom.global.prod.js 80.1 kB 28.1 kB 24.7 kB
compiler-vapor.global.prod.js 48 kB 16.4 kB 14.9 kB
runtime-dom.global.prod.js 91.4 kB 34.7 kB 31.3 kB
runtime-vapor.global.prod.js 35.7 kB (+84 B) 13.6 kB (+24 B) 12.5 kB (+26 B)
vue-vapor.global.prod.js 81.1 kB (+84 B) 28.5 kB (+21 B) 25.7 kB (+31 B)
vue.global.prod.js 149 kB 54 kB 48.2 kB

Usages

Name Size Gzip Brotli
createApp 51.6 kB 20.1 kB 18.4 kB
createSSRApp 55 kB 21.4 kB 19.5 kB
defineCustomElement 53.9 kB 20.8 kB 19.1 kB
vapor 35.8 kB (+84 B) 13.7 kB (+25 B) 12.5 kB (+21 B)
overall 65.4 kB 25.2 kB 22.8 kB

@sxzz sxzz merged commit ff943f4 into main Feb 25, 2024
11 checks passed
@sxzz sxzz deleted the optimize-scheduler branch February 25, 2024 03:29
yyx990803 added a commit to vuejs/core that referenced this pull request Feb 26, 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

Successfully merging this pull request may close these issues.

2 participants