switch to Gradle build system

This commit is contained in:
2021-02-19 23:57:26 +01:00
parent 68a419c53a
commit c6aede665e
13 changed files with 394 additions and 92 deletions

View File

@@ -0,0 +1,50 @@
package net.woggioni.jwo.benchmark;
import lombok.SneakyThrows;
import net.woggioni.jwo.Chronometer;
import net.woggioni.jwo.CollectionUtils;
import net.woggioni.jwo.JWO;
import net.woggioni.jwo.io.CircularInputStream;
import net.woggioni.jwo.tuple.Tuple2;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.util.Map;
import java.util.function.Consumer;
import java.util.stream.Stream;
public class Main {
@SneakyThrows
private static void withBenchmarkReader(Consumer<Reader> fn) {
Reader reader = new InputStreamReader(JWO.class.getResourceAsStream("/render_template_test.txt"));
InputStream is = new CircularInputStream(JWO.readAll(reader).getBytes(), 10000);
try {
fn.accept(new InputStreamReader(is));
} finally {
if (reader != null) reader.close();
}
}
public static void main(String... args) {
Map<String, Object> valuesMap = Stream.of(
new Tuple2<>("author", "John Doe"),
new Tuple2<>("date", "2020-03-25 16:22"),
new Tuple2<>("adjective", "simple"))
.collect(CollectionUtils.toUnmodifiableTreeMap(it -> it._1, it -> it._2));
withBenchmarkReader(
reader -> {
Chronometer chronometer = new Chronometer();
String result = JWO.renderTemplate(reader, valuesMap);
System.out.printf("Elapsed time: %.3f\n", chronometer.elapsed(Chronometer.UnitOfMeasure.SECONDS));
});
withBenchmarkReader(
reader -> {
Chronometer chronometer = new Chronometer();
String result = NaiveTemplateRenderer.renderTemplateNaive(JWO.readAll(reader), valuesMap);
System.out.printf("Elapsed time: %.3f\n", chronometer.elapsed(Chronometer.UnitOfMeasure.SECONDS));
});
}
}

View File

@@ -1,47 +0,0 @@
package net.woggioni.jwo.benchmark
import java.io.{InputStream, InputStreamReader, Reader}
import net.woggioni.jwo.io.CircularInputStream
import net.woggioni.jwo.{Chronometer, JWO}
import scala.collection.JavaConverters._
object Main {
def withBenchmarkReader(fn : Reader => Unit) = {
val reader = new InputStreamReader(classOf[JWO].getResourceAsStream("/render_template_test.txt"))
val is : InputStream = new CircularInputStream(JWO.readAll(reader).getBytes, 10000)
try {
fn(new InputStreamReader(is))
} finally {
if (reader != null) reader.close()
}
}
def renderTemplateBenchmark() {
val valuesMap = Map[String, Object]("author" -> "John Doe",
"date" -> "2020-03-25 16:22",
"adjective" -> "simple")
withBenchmarkReader(
reader => {
val chronometer = new Chronometer
val result = JWO.renderTemplate(reader, valuesMap.asJava)
printf("Elapsed time: %.3f\n", chronometer.elapsed(Chronometer.UnitOfMeasure.SECONDS))
}
)
withBenchmarkReader(
reader => {
val chronometer = new Chronometer
val result = NaiveTemplateRenderer.renderTemplateNaive(JWO.readAll(reader), valuesMap.asJava)
printf("Elapsed time: %.3f\n", chronometer.elapsed(Chronometer.UnitOfMeasure.SECONDS))
}
)
}
def main(argv : Array[String]) = {
renderTemplateBenchmark()
}
}