vuejs / core-vapor

Vue Vapor is a variant of Vue that offers rendering without the Virtual DOM.
https://vapor-repl.netlify.app
MIT License
1.8k stars 86 forks source link

perf(compiler-vapor/runtime-vapor): finer update granularity #222

Closed Doctor-wu closed 3 months ago

Doctor-wu commented 3 months ago

related #154

netlify[bot] commented 3 months ago

Deploy Preview for vapor-template-explorer ready!

Name Link
Latest commit 5ae3b9eec8aa6f1f4bdddde2d3c75258d9c7b4fa
Latest deploy log https://app.netlify.com/sites/vapor-template-explorer/deploys/665cf54a83ecf100084ca791
Deploy Preview https://deploy-preview-222--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.

netlify[bot] commented 3 months ago

Deploy Preview for vapor-repl ready!

Name Link
Latest commit 5ae3b9eec8aa6f1f4bdddde2d3c75258d9c7b4fa
Latest deploy log https://app.netlify.com/sites/vapor-repl/deploys/665cf54a33f16d0008f47af8
Deploy Preview https://deploy-preview-222--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.

github-actions[bot] commented 3 months ago

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 57.7 kB (+97 B) 19.6 kB (+20 B) 17.7 kB (-5 B)
runtime-dom.global.prod.js 95.1 kB 35.8 kB 32.3 kB
runtime-vapor.global.prod.js 48.3 kB (+3 B) 18 kB (+25 B) 16.5 kB (+9 B)
vue-vapor.global.prod.js 103 kB (+100 B) 36.1 kB (+52 B) 32.5 kB (+34 B)
vue.global.prod.js 152 kB 55.1 kB 49.3 kB

Usages

Name Size Gzip Brotli
createApp 55.4 kB 21.2 kB 19.4 kB
createSSRApp 58.7 kB 22.6 kB 20.6 kB
defineCustomElement 57.7 kB 21.9 kB 20 kB
vapor 48.6 kB (+3 B) 18.1 kB (+29 B) 16.6 kB (+50 B)
overall 69.2 kB 26.2 kB 23.8 kB
Doctor-wu commented 3 months ago

Are there any plans to refactor the initSlots function?

The runtime initSlots function needs to be refactored for performance optimization. Because it now uses one big firstEffect callback to resolve all dynamic slots, it doesn't optimize performance even if multiple dynamic slots functions are separated out.

Yes, the runtime part will be done in this PR as well