| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- /**
- * Module dependencies.
- */
- var uubench = require('uubench')
- , pug = require('../');
- var suite = new uubench.Suite({
- min: 200,
- result: function(name, stats){
- var persec = 1000 / stats.elapsed
- , ops = stats.iterations * persec;
- console.log('%s: %d', name, ops | 0);
- }
- });
- function setup(self) {
- var suffix = self ? ' (self)' : ''
- , options = { self: self };
- var str = 'html\n body\n h1 Title'
- , fn = pug.compile(str, options);
- suite.bench('tiny' + suffix, function(next){
- fn();
- next();
- });
- str = '\
- html\n\
- body\n\
- h1 Title\n\
- ul#menu\n\
- li: a(href="#") Home\n\
- li: a(href="#") About Us\n\
- li: a(href="#") Store\n\
- li: a(href="#") FAQ\n\
- li: a(href="#") Contact\n\
- ';
- var fn2 = pug.compile(str, options);
- suite.bench('small' + suffix, function(next){
- fn2();
- next();
- });
- str = '\
- html\n\
- body\n\
- h1 #{title}\n\
- ul#menu\n\
- - each link in links\r\n\
- li: a(href="#")= link\r\n\
- ';
- if (self) {
- str = '\
- html\n\
- body\n\
- h1 #{self.title}\n\
- ul#menu\n\
- - each link in self.links\r\n\
- li: a(href="#")= link\r\n\
- ';
- }
- var fn3 = pug.compile(str, options);
- suite.bench('small locals' + suffix, function(next){
- fn3({ title: 'Title', links: ['Home', 'About Us', 'Store', 'FAQ', 'Contact'] });
- next();
- });
- str = '\
- html\n\
- body\n\
- h1 Title\n\
- ul#menu\n\
- li: a(href="#") Home\n\
- li: a(href="#") About Us\n\
- li: a(href="#") Store\n\
- li: a(href="#") FAQ\n\
- li: a(href="#") Contact\n\
- ';
- str = Array(30).join(str);
- var fn4 = pug.compile(str, options);
- suite.bench('medium' + suffix, function(next){
- fn4();
- next();
- });
- str = '\
- html\n\
- body\n\
- h1 Title\n\
- ul#menu\n\
- li: a(href="#") Home\n\
- li: a(href="#") About Us\n\
- li: a(href="#") Store\n\
- li: a(href="#") FAQ\n\
- li: a(href="#") Contact\n\
- ';
- str = Array(100).join(str);
- var fn5 = pug.compile(str, options);
- suite.bench('large' + suffix, function(next){
- fn5();
- next();
- });
- }
- setup();
- setup(true);
- suite.run();
|