From 2001b4c6f825ebb4ef54998a1c9647c88810cc7e Mon Sep 17 00:00:00 2001 From: dfsek Date: Wed, 15 Jun 2022 20:03:32 -0700 Subject: [PATCH] remove TerraScript PerformanceTest --- .../test/java/structure/PerformanceTest.java | 90 ------------------- .../src/test/resources/performance.tesf | 25 ------ 2 files changed, 115 deletions(-) delete mode 100644 common/addons/structure-terrascript-loader/src/test/java/structure/PerformanceTest.java delete mode 100644 common/addons/structure-terrascript-loader/src/test/resources/performance.tesf diff --git a/common/addons/structure-terrascript-loader/src/test/java/structure/PerformanceTest.java b/common/addons/structure-terrascript-loader/src/test/java/structure/PerformanceTest.java deleted file mode 100644 index cc2ed4372..000000000 --- a/common/addons/structure-terrascript-loader/src/test/java/structure/PerformanceTest.java +++ /dev/null @@ -1,90 +0,0 @@ -package structure; - -import net.jafama.FastMath; -import org.apache.commons.io.IOUtils; - -import java.io.IOException; -import java.nio.charset.Charset; -import java.util.List; - -import com.dfsek.terra.addons.terrascript.parser.Parser; -import com.dfsek.terra.addons.terrascript.parser.lang.Block; -import com.dfsek.terra.addons.terrascript.parser.lang.ImplementationArguments; -import com.dfsek.terra.addons.terrascript.parser.lang.Returnable; -import com.dfsek.terra.addons.terrascript.parser.lang.Returnable.ReturnType; -import com.dfsek.terra.addons.terrascript.parser.lang.Scope; -import com.dfsek.terra.addons.terrascript.parser.lang.functions.Function; -import com.dfsek.terra.addons.terrascript.parser.lang.functions.FunctionBuilder; -import com.dfsek.terra.addons.terrascript.script.builders.UnaryNumberFunctionBuilder; -import com.dfsek.terra.addons.terrascript.script.builders.UnaryStringFunctionBuilder; -import com.dfsek.terra.addons.terrascript.tokenizer.Position; - - -public class PerformanceTest { - public static void main(String... args) throws IOException { - Parser parser = new Parser( - IOUtils.toString(PerformanceTest.class.getResourceAsStream("/performance.tesf"), Charset.defaultCharset())); - - parser.registerFunction("assert", new FunctionBuilder() { - @Override - public AssertFunction build(List> argumentList, Position position) { - return new AssertFunction(position, (Returnable) argumentList.get(0)); - } - - @Override - public int argNumber() { - return 1; - } - - @Override - public Returnable.ReturnType getArgument(int position) { - return switch(position) { - case 0 -> ReturnType.BOOLEAN; - default -> null; - }; - } - - }).registerFunction("print", - new UnaryStringFunctionBuilder(System.out::println)) - .registerFunction("sqrt", new UnaryNumberFunctionBuilder(number -> FastMath.sqrt(number.doubleValue()))); - - Block block = parser.parse(); - - for(int i = 0; i < 20; i++) { - long s = System.nanoTime(); - - block.apply(null, new Scope()); - - long e = System.nanoTime(); - long d = e - s; - - System.out.println("Took " + ((double) d) / 1000000 + "ms"); - } - } - - public static final class AssertFunction implements Function { - private final Position position; - private final Returnable arg; - - public AssertFunction(Position position, Returnable arg) { - this.position = position; - this.arg = arg; - } - - @Override - public Void apply(ImplementationArguments implementationArguments, Scope scope) { - if(!arg.apply(implementationArguments, scope)) throw new IllegalStateException(); - return null; - } - - @Override - public Position getPosition() { - return position; - } - - @Override - public ReturnType returnType() { - return ReturnType.VOID; - } - } -} diff --git a/common/addons/structure-terrascript-loader/src/test/resources/performance.tesf b/common/addons/structure-terrascript-loader/src/test/resources/performance.tesf deleted file mode 100644 index 45527678c..000000000 --- a/common/addons/structure-terrascript-loader/src/test/resources/performance.tesf +++ /dev/null @@ -1,25 +0,0 @@ -num epsilon = 0.001; - -for(num n = 1; n < 1000000; n = n + 1) { - - num x = n; - - num root = 0; - - while(true) { - root = 0.5 * (x + (n / x)); - - num diff = root - x; - if(diff < 0) diff = -diff; - - if(diff < epsilon) break; - - x = root; - } - - num diff = root - sqrt(n); - - if(diff < 0) diff = -diff; - - assert(diff <= epsilon); -} \ No newline at end of file