Giter VIP home page Giter VIP logo

template-benchmark's People

Contributors

drasolka avatar jjlauer avatar jknack avatar mbosecke avatar mkouba avatar spullara avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

template-benchmark's Issues

Thymeleaf 3.0.0 is GA

Thymeleaf 3.0.0 is now released and could be curious to see the performance improvement.

Mustache doing too much pre-processing

As brought up by @mkouba in pull request #3, my recent modifications might have given mustache an unfair advantage. Before the benchmark begins it does some pre-processing on the data; processing that other templates don't have a chance to do until the are being timed.

Results are not comparable

The output is not the same for all templating engines.

stocks.mustache.html:

  1. ${["odd", "even"][item_index%2]} is ignored so don't get the correct class for odd/even rows
  2. ${item_index + 1} is ignored so don't get the index
  3. negative values are not wrapped with <td class="minus">

You should either remove these parts from all templates or implement this with mustache.java (I think you would have to implement some TemplateFunction to get the same functionality).

Also I would add a test to compare the output of all benchmarks.

Rocker test is not valid

The Rocker template does not check if the "minus" class should be applied or not. The class is always set!

Example:

<td class="minus">@item.getChange()</td>

So, the results are not similar, and the benchmark is not fair.

The plot doesn't display the full template engine names

The data file contains "com.mitchellbosecke.benchmark.Freemarker.benchmark", the plot currently transforms that into "Freema", but ideally the plot will display "Freemarker".

I don't know enough about gnuplot to fix this.

Add HtmlFlow

HtmlFlow is a Java DSL to write typesafe HTML documents.

HtmlFlow competes with the most performant template engine, i.e. Rocker and is faster than the remaining concurrency.

HtmlFlow is widely used to build dynamic HTML documents, such as papers, reports, emails, etc, involving complex programing tasks which are hardly achieved through textual templates. Moreover, HtmlFlow can also be used as a web template engine allying its performance boost with its HTML strongly type safety characteristics.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.