I think this sentence from @arunoda:
whenever any data changes, the whole template will be re-rendered
can be considered right or wrong depending on the meaning of template re-rendering.
If template re-rendering only means the Blaze sub-task consisting of updating the DOM, then I agree with @sashko: Blaze does a terrific job at updating only the smallest part of the DOM (this is the main reason why I love Blaze). In that sense, I think @arunoda’s sentence is wrong.
If template re-rendering means the full Blaze activity consisting of:
- parsing the whole template to determine which DOM elements to update,
- calling all template helpers,
- updating the DOM.
then @arunoda’s sentence is right. However, in that case the inefficiency is not in Blaze, but in people relying too much on heavy template helpers that will be called again and again whenever data context changes.