2013-08-09 2 views
3

У меня есть 2 просмотра - view1 с использованием Mustache и view2 с использованием ручек. Я хочу проверить правильность моего понимания -Усвоение усов Vs Редукция ручек

При вызове функции рендеринга представлений производительность рендеринга view2 будет лучше, чем view1, поскольку я скомпилировал шаблон Handlebars в блоке инициализации и при визуализации представления Я передаю данные в скомпилированный шаблон.

Принимая во внимание, что в случае представления 1 с использованием Усы, составление шаблона и совокупность данных происходит во время рендеринга.

Пожалуйста, дайте мне знать, если мое понимание верное. Я попытался проверить время загрузки просмотров и не получил существенной разницы в времени загрузки. Для view1 это было 10,8 мс, а view2 - 10 мс.

var view1 = Backbone.View.extend({ 

      initialize:function(options){ 

       Backbone.View.prototype.initialize.call(this); 

       this.tpl = options.template; 

       this.data = options.data; 

      }, 


      render: function(){ 

       $(this.el).html(Mustache.to_html(this.tpl,this.data)); 

      } 
     }); 


var view2 = Backbone.View.extend({ 

      initialize:function(options){ 

        Backbone.View.prototype.initialize.call(this); 

        this.tpl = options.template; 

        this.handlebarstpl = Handlebars.compile(this.tpl); 

        this.data = options.data; 

      }, 


      render: function(){ 

       $(this.el).html(this.handlebarstpl(this.data)); 

      } 
     }); 
+0

Является ли это 10,8 мс опечаткой, или вы имели в виду 10,8 секунды? –

ответ

1

Ваше понимание неверное. Предварительная компиляция ваших шаблонов - это менее дорогостоящая операция, чем компиляция ее на стороне клиента.

Вы говорите, что между двумя видами было различие в 0,8 секунды. Хотя это число, по-видимому, невелико, все это добавляет вам более быстрый (лучший?) Пользовательский интерфейс. Вероятно, вы увидите более значительную разницу между этими двумя, как только данные шаблона будут больше.

This должно дать вам объективную идею.