diff --git a/README.md b/README.md index a8f6878..9911e36 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,10 @@ JMH benchmark for popular Java template engines: * [Freemarker](http://freemarker.org/) * [Mustache](https://github.com/spullara/mustache.java) * [Pebble](http://www.mitchellbosecke.com/pebble) +* [Rocker](https://github.com/fizzed/rocker) * [Thymeleaf](http://www.thymeleaf.org/) -* [Velocity](http://velocity.apache.org/) * [Trimou](http://trimou.org/) +* [Velocity](http://velocity.apache.org/) Running the benchmark ====================== diff --git a/results.csv b/results.csv index 5e1dcc0..99fd2d2 100644 --- a/results.csv +++ b/results.csv @@ -1,7 +1,8 @@ "Benchmark","Mode","Threads","Samples","Score","Score Error (99.9%)","Unit" -"com.mitchellbosecke.benchmark.Freemarker.benchmark","thrpt",1,50.000000,14173.537437,201.522006,"ops/s" -"com.mitchellbosecke.benchmark.Mustache.benchmark","thrpt",1,50.000000,21267.606717,201.562280,"ops/s" -"com.mitchellbosecke.benchmark.Pebble.benchmark","thrpt",1,50.000000,30057.760185,297.532402,"ops/s" -"com.mitchellbosecke.benchmark.Thymeleaf.benchmark","thrpt",1,50.000000,915.754702,20.384273,"ops/s" -"com.mitchellbosecke.benchmark.Trimou.benchmark","thrpt",1,50.000000,16089.653704,197.984211,"ops/s" -"com.mitchellbosecke.benchmark.Velocity.benchmark","thrpt",1,50.000000,18930.770276,297.552843,"ops/s" +"com.mitchellbosecke.benchmark.Freemarker.benchmark","thrpt",1,50.000000,16737.333340,184.040944,"ops/s" +"com.mitchellbosecke.benchmark.Mustache.benchmark","thrpt",1,50.000000,23393.115757,159.003408,"ops/s" +"com.mitchellbosecke.benchmark.Pebble.benchmark","thrpt",1,50.000000,35736.995844,248.860050,"ops/s" +"com.mitchellbosecke.benchmark.Rocker.benchmark","thrpt",1,50.000000,41123.645420,191.949947,"ops/s" +"com.mitchellbosecke.benchmark.Thymeleaf.benchmark","thrpt",1,50.000000,1519.092213,18.156292,"ops/s" +"com.mitchellbosecke.benchmark.Trimou.benchmark","thrpt",1,50.000000,19081.925071,112.440326,"ops/s" +"com.mitchellbosecke.benchmark.Velocity.benchmark","thrpt",1,50.000000,21553.362499,223.035824,"ops/s" diff --git a/results.png b/results.png index 5bf705b..c5b0329 100644 Binary files a/results.png and b/results.png differ diff --git a/src/main/java/com/mitchellbosecke/benchmark/Rocker.java b/src/main/java/com/mitchellbosecke/benchmark/Rocker.java index 1df2f1c..4a2b688 100644 --- a/src/main/java/com/mitchellbosecke/benchmark/Rocker.java +++ b/src/main/java/com/mitchellbosecke/benchmark/Rocker.java @@ -1,20 +1,20 @@ package com.mitchellbosecke.benchmark; -import com.mitchellbosecke.benchmark.BaseBenchmark; import com.mitchellbosecke.benchmark.model.Stock; -import freemarker.cache.ClassTemplateLoader; -import freemarker.template.Configuration; -import freemarker.template.Template; import freemarker.template.TemplateException; import org.openjdk.jmh.annotations.Benchmark; import org.openjdk.jmh.annotations.Setup; import java.io.IOException; -import java.io.StringWriter; -import java.io.Writer; import java.util.List; -import java.util.Map; +/** + * Benchmark for Rocker template engine by Fizzed. + * + * https://github.com/fizzed/rocker + * + * @author joelauer + */ public class Rocker extends BaseBenchmark { private List items; diff --git a/src/main/resources/templates/stocks.rocker.raw b/src/main/resources/templates/stocks.rocker.raw index 8719a12..f37142c 100644 --- a/src/main/resources/templates/stocks.rocker.raw +++ b/src/main/resources/templates/stocks.rocker.raw @@ -57,11 +57,11 @@ thead { @for ((ForIterator i, Stock item) : items) { - - @i.index() + + @Integer.toString(i.index()+1) @item.getSymbol() @item.getName() - item.getPrice()@if (item.getChange() < 0.0) { + @item.getPrice()@if (item.getChange() < 0.0) { @item.getChange() @item.getRatio()} else { @item.getChange() diff --git a/src/test/java/com/mitchellbosecke/benchmark/ExpectedOutputTest.java b/src/test/java/com/mitchellbosecke/benchmark/ExpectedOutputTest.java index a9133d2..8320843 100644 --- a/src/test/java/com/mitchellbosecke/benchmark/ExpectedOutputTest.java +++ b/src/test/java/com/mitchellbosecke/benchmark/ExpectedOutputTest.java @@ -31,6 +31,13 @@ public void testFreemarkerOutput() throws IOException, TemplateException { freemarker.setup(); assertOutput(freemarker.benchmark()); } + + @Test + public void testRockerOutput() throws IOException, TemplateException { + Rocker rocker = new Rocker(); + rocker.setup(); + assertOutput(rocker.benchmark()); + } @Test public void testPebbleOutput() throws IOException, PebbleException {