Reactivity Systems Benchmark: A Comparative Study between Vue 2 and Vue 3

Vue2 vs Vue3

Vue 3 has changed its reactivity system from being based on Object.defineProperty’s getter/setter to using Proxy, which brings many differences.

For large objects, in the Vue 2 era, the cost of reactive object creation was mainly concentrated during creation. Once getters/setters were created, access was quite fast. However, in Vue 3, creating a reactive object using Proxy is very fast, but accessing the Proxy object takes longer compared to getter/setter.

For our complex web application, modifying large reactive objects is crucial. This test is designed to compare the actual performance of Vue 3 and Vue 2 in this specific aspect.

Test Result

Based on the results, the overhead of modifying Vue 3 reactive objects seems to be 2 to 3 times higher compared to Vue 2. However, the absolute value of this overhead is small, making it challenging to notice in daily scenarios with small data sets. Nevertheless, the cumulative effect becomes apparent when repeatedly modifying large objects, revealing the difference in performance.

Vue3 has likely made significant improvements in component rendering, which compensates for the speed disadvantage of its reactivity system compared to Vue2. In most cases, the differences in the end results when using Vue2 or Vue3 aren’t substantial.

Vue3 has likely made significant improvements in component rendering, which compensates for the speed disadvantage of its reactivity system compared to Vue2. In most cases, due to the proportionally smaller time spent on modifying reactive objects compared to component rendering, Vue3 is generally faster overall.

However, it’s essential to note that when the modifications to reactive data become more frequent, taking up a larger proportion of the total execution time compared to component rendering, Vue3’s overall speed might not surpass Vue2.

image

_Vue2Vue3Init Data1660.1Mounted24182541Selected(Js)29137Selected(NextTick)15691020ChangeData(Js)65222ChangeData(NextTick)23652245ChangeSort(Js)49234ChangeSort(NextTick)35643603

GitHub

View Github


Related Posts

Recent Posts

ഇടുക്കിയിലെ മലയോര മേഖലകളിൽ രാത്രിയാത്ര നിരോധിച്ചു. രാത്രി ഏഴു മുതൽ രാവിലെ ആറു വരെയാണ് നിരോധനം

ഏന്തയാർ ഈസ്റ്റിൽ പ്രളയത്തിൽ തകർന്ന പാലത്തിന് പകരം പുതിയ പാലം നിർമ്മിക്കുവാൻ താത്ക്കാലിക പാലം പൊളിച്ച് നീക്കി

Explore the Investment Opportunities: A Comprehensive Guide to Different Types of Mutual Funds

Title: Understanding Mutual Funds: A Beginner's Guide to Investing

തീവ്രമഴ മുന്നറിയിപ്പിന്റെ പശ്ചാതലത്തിൽ സംസ്ഥാനം ജാഗ്രതയിൽ

250,000 അപേക്ഷകൾ വർദ്ധിച്ചതിനാൽ ട്രാൻസ്‌പോർട്ട് കമ്മീഷണർ പരിശോധന പുനരാരംഭിക്കും

ഏലക്കയിൽ കീടനാശിനി സാന്നിധ്യം; ആറര ലക്ഷത്തിലധികം ടിൻ അരവണ നശിപ്പിക്കാൻ ടെൻഡർ ക്ഷണിച്ച് ദേവസ്വം ബോർഡ്‌

ഭീമൻ പാറക്കഷണങ്ങൾ അടർന്ന് ദേശീയ പാതയിലേക്ക് വീഴുന്നത് പതിവാകുന്നു. കുട്ടിക്കാനത്തിനും മുണ്ടക്കയത്തിനുമിടയിൽ നിലനിൽക്കുന്നത് വൻ അപകട ഭീഷണി

ചക്രവാതച്ചുഴി:അതിശക്തമായ മഴ വരുന്നു

പ്ലസ് വൺ പ്രവേശനം. അക്ഷയയിൽ തിക്കി തിരക്കേണ്ട, നെറ്റിവിറ്റി/ജാതി തെളിയിക്കാൻ പത്താംതരം സർട്ടിഫിക്കറ്റ് മതി