Skip to content

Commit

Permalink
Use precompiled templates in benchmark
Browse files Browse the repository at this point in the history
  • Loading branch information
casid committed May 20, 2023
1 parent 0d5ee35 commit 53c87bd
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 7 deletions.
30 changes: 27 additions & 3 deletions jte/src/test/java/gg/jte/benchmark/Benchmark.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,45 @@
import gg.jte.ContentType;
import gg.jte.TemplateEngine;
import gg.jte.output.StringOutput;
import gg.jte.resolve.ResourceCodeResolver;
import gg.jte.resolve.DirectoryCodeResolver;
import gg.jte.runtime.Constants;

import java.io.File;
import java.net.URISyntaxException;
import java.net.URL;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.concurrent.TimeUnit;

class Benchmark {

public static Path getTemplateDirectory() {
URL res = Benchmark.class.getClassLoader().getResource("benchmark/welcome.jte");
if (res == null) {
throw new IllegalStateException("Resource benchmark/welcome.jte not found!");
}

try {
return new File(res.toURI()).toPath().getParent();
} catch (URISyntaxException e) {
throw new RuntimeException(e);
}
}

private final TemplateEngine templateEngine;

public static void main(String[] args) {
new Benchmark().run();
}

Benchmark() {
templateEngine = TemplateEngine.create(new ResourceCodeResolver("benchmark"), ContentType.Html);
templateEngine.setTrimControlStructures(true);
Path classDirectory = Paths.get("jte-classes");

TemplateEngine compiler = TemplateEngine.create(new DirectoryCodeResolver(getTemplateDirectory()), classDirectory, ContentType.Html, null, Constants.PACKAGE_NAME_PRECOMPILED);
compiler.setTrimControlStructures(true);
compiler.precompileAll();

templateEngine = TemplateEngine.createPrecompiled(classDirectory, ContentType.Html);
}

public void run() {
Expand Down
16 changes: 12 additions & 4 deletions jte/src/test/java/gg/jte/benchmark/Benchmark_Binary.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,11 @@
import gg.jte.ContentType;
import gg.jte.TemplateEngine;
import gg.jte.output.Utf8ByteOutput;
import gg.jte.resolve.ResourceCodeResolver;
import gg.jte.resolve.DirectoryCodeResolver;
import gg.jte.runtime.Constants;

import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.concurrent.TimeUnit;

class Benchmark_Binary {
Expand All @@ -16,9 +19,14 @@ public static void main(String[] args) {
}

Benchmark_Binary() {
templateEngine = TemplateEngine.create(new ResourceCodeResolver("benchmark"), ContentType.Html);
templateEngine.setTrimControlStructures(true);
templateEngine.setBinaryStaticContent(true);
Path classDirectory = Paths.get("jte-classes");

TemplateEngine compiler = TemplateEngine.create(new DirectoryCodeResolver(Benchmark.getTemplateDirectory()), classDirectory, ContentType.Html, null, Constants.PACKAGE_NAME_PRECOMPILED);
compiler.setTrimControlStructures(true);
compiler.setBinaryStaticContent(true);
compiler.precompileAll();

templateEngine = TemplateEngine.createPrecompiled(classDirectory, ContentType.Html);
}

public void run() {
Expand Down

0 comments on commit 53c87bd

Please sign in to comment.