# Benchmarks ftw!

**URL:** <https://forums.bitovi.com/t/benchmarks-ftw/904>\
**Category:** CanJS\
**Created:** [June 3, 2018, 7:01pm UTC](https://forums.bitovi.com/t/benchmarks-ftw/904 "2018-06-03T19:01:04Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![janat08](https://avatars.discourse-cdn.com/v4/letter/j/7feea3/32.png) [@janat08](https://forums.bitovi.com/u/janat08)\
**Post date:** [June 3, 2018, 7:01pm UTC](https://forums.bitovi.com/t/benchmarks-ftw/904/1 "2018-06-03T19:01:04Z")

</div>

Any1 haz dem unreal benchmarks.

---

<div class="post-metadata">

**Author:** ![janat08](https://avatars.discourse-cdn.com/v4/letter/j/7feea3/32.png) [@janat08](https://forums.bitovi.com/u/janat08)\
**Post date:** [June 3, 2018, 7:04pm UTC](https://forums.bitovi.com/t/benchmarks-ftw/904/2 "2018-06-03T19:04:17Z")

</div>

Todomvc project could proly try and run them with headless chrome

---

<div class="post-metadata">

**Author:** ![chasen](https://yyz1.discourse-cdn.com/flex035/user_avatar/forums.bitovi.com/chasen/32/402_2.png) [@chasen](https://forums.bitovi.com/u/chasen)\
**Post date:** [June 11, 2018, 6:08pm UTC](https://forums.bitovi.com/t/benchmarks-ftw/904/3 "2018-06-11T18:08:55Z")

</div>

[I talked about this a little bit on Gitter](https://gitter.im/canjs/canjs?at=5b198f68178709146f1c2d81), but for anyone who comes across this forum post:

Performance is one of those things that is so dependent on the specific code, browsers at the time, etc.  
I think it’s tough to say that X is always faster than Y… it usually all depends.

That said… the [Minimal DOM Updates](https://donejs.com/Features.html#minimal-dom-updates) part of the DoneJS site explains why CanJS is typically more performant than React when dealing with lots of DOM nodes & updates.

This JS Bin compares CanJS & React performance: [https://output.jsbin.com/zigovul/7](https://output.jsbin.com/zigovul/7)

Both the CanJS & React versions are out of date in that JS Bin (if you update those or make another benchmark, please post it here!), but I think the overall principle stays the same: when a CanJS observable updates, it can change just a specific part of the DOM, vs. needing a re-render & virtual DOM diff in React.

This is just one aspect of performance, what matters more than anything is measuring what is important in your app. Of course, if you track down a performance issue with CanJS, please [file an issue](https://github.com/canjs/canjs/issues/new). 😃
