Skip to content

perf: optimize scheduler queueJob performance #138

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

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

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