Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handlebars and doT might be faster since they use compiled code #13

Open
tiye opened this issue Jul 5, 2013 · 3 comments
Open

Handlebars and doT might be faster since they use compiled code #13

tiye opened this issue Jul 5, 2013 · 3 comments

Comments

@tiye
Copy link

tiye commented Jul 5, 2013

Our team uses handlebars and is comparing several template engines for performance and. As I got from the docs that Handlebars and doT are very fast when they are precompiled.
I think this case should be added into consideration.

@bharatpatil
Copy link

@jiyinyiyong - Yes I am also agree with you. Same benchmark result on my machine is as follows:

(my machine Macbook Pro 7,1 Mid 2010, Core 2 Duo 8GB RAM)
In my case 1. Gaiken 2. Fest 3. doT
I ran test 2 times and difference between them is as follows:

--- from_file
+++ ECT
@@ -1,74 +1,74 @@
ECT

  • Escaped : 6186ms
  • Unescaped : 171ms
  • Total : 6357ms
  • Escaped : 6298ms
  • Unescaped : 177ms
  • Total : 6475ms

Dust

  • Escaped : 7878ms
  • Unescaped : 491ms
  • Total : 8369ms
  • Escaped : 8065ms
  • Unescaped : 419ms
  • Total : 8484ms

Hogan.js

  • Escaped : 8187ms
  • Unescaped : 839ms
  • Total : 9026ms
  • Escaped : 8220ms
  • Unescaped : 863ms
  • Total : 9083ms

Gaikan

  • Escaped : 3269ms
  • Unescaped : 127ms
  • Total : 3396ms
  • Escaped : 3115ms
  • Unescaped : 129ms
  • Total : 3244ms

Fest

  • Escaped : 3064ms
  • Unescaped : 307ms
  • Total : 3371ms
  • Escaped : 3088ms
  • Unescaped : 310ms
  • Total : 3398ms

EJS without with

  • Escaped : 8789ms
  • Unescaped : 778ms
  • Total : 9567ms
  • Escaped : 8950ms
  • Unescaped : 776ms
  • Total : 9726ms

doT

  • Escaped : 4284ms
  • Escaped : 4287ms
    Unescaped : 114ms
  • Total : 4398ms
  • Total : 4401ms

Swig

  • Escaped : 10242ms
  • Unescaped : 471ms
  • Total : 10713ms
  • Escaped : 10217ms
  • Unescaped : 431ms
  • Total : 10648ms

Underscore

  • Escaped : 5119ms
  • Unescaped : 3493ms
  • Total : 8612ms
  • Escaped : 4640ms
  • Unescaped : 2972ms
  • Total : 7612ms

EJS

  • Escaped : 13229ms
  • Unescaped : 3820ms
  • Total : 17049ms
  • Escaped : 12064ms
  • Unescaped : 3078ms
  • Total : 15142ms

Eco

  • Escaped : 12949ms
  • Unescaped : 1268ms
  • Total : 14217ms
  • Escaped : 12483ms
  • Unescaped : 1185ms
  • Total : 13668ms

Handlebars.js

  • Escaped : 6730ms
  • Unescaped : 2788ms
  • Total : 9518ms
  • Escaped : 6765ms
  • Unescaped : 2886ms
  • Total : 9651ms

Jade without with

  • Escaped : 12832ms
  • Unescaped : 3505ms
  • Total : 16337ms
  • Escaped : 12869ms
  • Unescaped : 3396ms
  • Total : 16265ms

CoffeeKup

  • Escaped : 4525ms
  • Unescaped : 12688ms
  • Total : 17213ms
  • Escaped : 4428ms
  • Unescaped : 13308ms
  • Total : 17736ms

Jade

  • Escaped : 21922ms
  • Unescaped : 11340ms
  • Total : 33262ms
  • Escaped : 21938ms
  • Unescaped : 11806ms
  • Total : 33744ms

@bharatpatil
Copy link

Is it possible to test it on browser?

@tiye
Copy link
Author

tiye commented Sep 28, 2013

@bharatpatil I think you should mark markup your result first, it's hard to read :-)

Jade

Escaped :   21922ms
Unescaped : 11340ms
Total :     33262ms
Escaped :   21938ms
Unescaped : 11806ms
Total :     33744ms

And it sould be like this in a terminal: https://github.com/baryshev/template-benchmark#results

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants