Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Vue.js-method-vs-filters-vs-computed
(version: 0)
Comparing performance of:
filter vs methods vs computed vs filter repeated vs methods repeated vs computed repeated
Created:
6 years ago
by:
Guest
Jump to the latest result
HTML Preparation code:
<script src="//cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js"></script> <section id="filters"></section> <section id="computed"></section> <section id="methods"></section>
Script Preparation code:
const _trimAndCapitalize = (text, length) => { if (!text) return ""; text = text.toString(); return text.charAt(0).toUpperCase() + text.slice(1, length); };
Tests:
filter
const filtersVm = new Vue({ el: "#filters", template: ` <section> <h3>Filters</h3> <p>{{ text1 | trimAndCapitalizeFilter(2)}}</p> <p>{{ text2 | trimAndCapitalizeFilter(11)}}</p> <p>{{ text3 | trimAndCapitalizeFilter(3)}}</p> <p>{{ text4 | trimAndCapitalizeFilter(5)}}</p> </section> `, data() { return { text1: "ullam velit quis eum aliquam illum numquam ipsa.", text2: "amet consectetur, adipisicing elit.", text3: "res sit, cupiditate sapiente", text4: "adipisicing elit. Maiores sit, illum numquam ipsa." }; }, filters: { trimAndCapitalizeFilter(text, length) { return _trimAndCapitalize(text, length); } } });
methods
const methodsVm = new Vue({ el: "#methods", template: ` <section> <h3>Methods</h3> <p>{{ trimAndCapitalizeMethod(text1, 2) }}</p> <p>{{ trimAndCapitalizeMethod(text2, 11) }}</p> <p>{{ trimAndCapitalizeMethod(text3, 3) }}</p> <p>{{ trimAndCapitalizeMethod(text4, 5) }}</p> </section> `, data() { return { text1: "ullam velit quis eum aliquam illum numquam ipsa.", text2: "amet consectetur, adipisicing elit.", text3: "res sit, cupiditate sapiente", text4: "adipisicing elit. Maiores sit, illum numquam ipsa." }; }, methods: { trimAndCapitalizeMethod(text, length) { return _trimAndCapitalize(text, length); } } });
computed
const computedVm = new Vue({ el: "#computed", template: ` <section> <h3>Computed</h3> <p>{{ trimAndCapitalizeComputed(text1, 2) }}</p> <p>{{ trimAndCapitalizeComputed(text2, 11) }}</p> <p>{{ trimAndCapitalizeComputed(text3, 3) }}</p> <p>{{ trimAndCapitalizeComputed(text4, 12) }}</p> </section> `, data() { return { text1: "ullam velit quis eum aliquam illum numquam ipsa.", text2: "amet consectetur, adipisicing elit.", text3: "res sit, cupiditate sapiente", text4: "adipisicing elit. Maiores sit, illum numquam ipsa." }; }, computed: { trimAndCapitalizeComputed() { return _trimAndCapitalize; } } });
filter repeated
const filtersVm = new Vue({ el: "#filters", template: ` <section> <h3>Filters</h3> <p>{{ text1 | trimAndCapitalizeFilter(2)}}</p> <p>{{ text2 | trimAndCapitalizeFilter(11)}}</p> <p>{{ text3 | trimAndCapitalizeFilter(3)}}</p> <p>{{ text4 | trimAndCapitalizeFilter(5)}}</p> <p>{{ text1 | trimAndCapitalizeFilter(2)}}</p> <p>{{ text2 | trimAndCapitalizeFilter(11)}}</p> <p>{{ text3 | trimAndCapitalizeFilter(3)}}</p> <p>{{ text4 | trimAndCapitalizeFilter(5)}}</p> </section> `, data() { return { text1: "ullam velit quis eum aliquam illum numquam ipsa.", text2: "amet consectetur, adipisicing elit.", text3: "res sit, cupiditate sapiente", text4: "adipisicing elit. Maiores sit, illum numquam ipsa." }; }, filters: { trimAndCapitalizeFilter(text, length) { return _trimAndCapitalize(text, length); } } });
methods repeated
const methodsVm = new Vue({ el: "#methods", template: ` <section> <h3>Methods</h3> <p>{{ trimAndCapitalizeMethod(text1, 2) }}</p> <p>{{ trimAndCapitalizeMethod(text2, 11) }}</p> <p>{{ trimAndCapitalizeMethod(text3, 3) }}</p> <p>{{ trimAndCapitalizeMethod(text4, 5) }}</p> <p>{{ trimAndCapitalizeMethod(text1, 2) }}</p> <p>{{ trimAndCapitalizeMethod(text2, 11) }}</p> <p>{{ trimAndCapitalizeMethod(text3, 3) }}</p> <p>{{ trimAndCapitalizeMethod(text4, 5) }}</p> </section> `, data() { return { text1: "ullam velit quis eum aliquam illum numquam ipsa.", text2: "amet consectetur, adipisicing elit.", text3: "res sit, cupiditate sapiente", text4: "adipisicing elit. Maiores sit, illum numquam ipsa." }; }, methods: { trimAndCapitalizeMethod(text, length) { return _trimAndCapitalize(text, length); } } });
computed repeated
const computedVm = new Vue({ el: "#computed", template: ` <section> <h3>Computed</h3> <p>{{ trimAndCapitalizeComputed(text1, 2) }}</p> <p>{{ trimAndCapitalizeComputed(text2, 11) }}</p> <p>{{ trimAndCapitalizeComputed(text3, 3) }}</p> <p>{{ trimAndCapitalizeComputed(text4, 12) }}</p> <p>{{ trimAndCapitalizeComputed(text1, 2) }}</p> <p>{{ trimAndCapitalizeComputed(text2, 11) }}</p> <p>{{ trimAndCapitalizeComputed(text3, 3) }}</p> <p>{{ trimAndCapitalizeComputed(text4, 12) }}</p> </section> `, data() { return { text1: "ullam velit quis eum aliquam illum numquam ipsa.", text2: "amet consectetur, adipisicing elit.", text3: "res sit, cupiditate sapiente", text4: "adipisicing elit. Maiores sit, illum numquam ipsa." }; }, computed: { trimAndCapitalizeComputed() { return _trimAndCapitalize; } } });
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (6)
Previous results
Fork
Test case name
Result
filter
methods
computed
filter repeated
methods repeated
computed repeated
Fastest:
N/A
Slowest:
N/A
Latest run results:
No previous run results
This benchmark does not have any results yet. Be the first one
to run it!
Autogenerated LLM Summary
(model
llama3.2:3b
, generated one year ago):
I'm ready to help. Based on the benchmark definition and result, I can infer that the test is checking the performance of a Vue.js application with a computed property. To answer your question directly: **No**, the repeated tests do not seem to provide any new insights or improvements in performance. The execution per second values for "computed repeated" are actually lower than some of the other tests, suggesting that there may be some overhead or redundancy in this specific test case. If you'd like to discuss further or need help with anything else, please feel free to ask!
Related benchmarks:
string-substring-vs-slice
charAt() vs slice()
slice vs substring from end
Javascript slice vs substring
Last char remove V1.0
Comments
Confirm delete:
Do you really want to delete benchmark?