forked from JavaTX/JavaCompilerCore
Benchmark Endgültig
This commit is contained in:
parent
ef9f9157f3
commit
0ae743f446
@ -155,7 +155,7 @@ public class JavaTXCompiler {
|
|||||||
writer.close();
|
writer.close();
|
||||||
ASPUnify clingo = new ASPUnify(Arrays.asList(new File(tempDirectory + "test.lp")));
|
ASPUnify clingo = new ASPUnify(Arrays.asList(new File(tempDirectory + "test.lp")));
|
||||||
String result = clingo.runClingo();
|
String result = clingo.runClingo();
|
||||||
System.out.println(result);
|
//System.out.println(result);
|
||||||
ResultSet resultSet = ASPParser.parse(result, getInvolvedTPHS(cons));
|
ResultSet resultSet = ASPParser.parse(result, getInvolvedTPHS(cons));
|
||||||
return Arrays.asList(resultSet);
|
return Arrays.asList(resultSet);
|
||||||
}
|
}
|
||||||
|
@ -45,8 +45,8 @@ public class ASPUnify {
|
|||||||
}
|
}
|
||||||
commands.addAll(programFiles.stream().map(f->f.getPath()).collect(Collectors.toList()));
|
commands.addAll(programFiles.stream().map(f->f.getPath()).collect(Collectors.toList()));
|
||||||
|
|
||||||
commands.stream().forEach(s -> System.out.print(s + " "));
|
//commands.stream().forEach(s -> System.out.print(s + " "));
|
||||||
System.out.println();
|
//System.out.println();
|
||||||
|
|
||||||
Process clingo = new ProcessBuilder( commands.toArray(new String[0])).start();
|
Process clingo = new ProcessBuilder( commands.toArray(new String[0])).start();
|
||||||
InputStream output = clingo.getInputStream();
|
InputStream output = clingo.getInputStream();
|
||||||
|
@ -1,17 +1,22 @@
|
|||||||
package asp.unifywithoutwildcards;
|
package asp.unifywithoutwildcards;
|
||||||
|
|
||||||
import de.dhbwstuttgart.core.JavaTXCompiler;
|
import de.dhbwstuttgart.core.JavaTXCompiler;
|
||||||
|
import de.dhbwstuttgart.syntaxtree.ClassOrInterface;
|
||||||
import de.dhbwstuttgart.syntaxtree.SourceFile;
|
import de.dhbwstuttgart.syntaxtree.SourceFile;
|
||||||
|
import de.dhbwstuttgart.syntaxtree.factory.UnifyTypeFactory;
|
||||||
import de.dhbwstuttgart.syntaxtree.visual.ASTPrinter;
|
import de.dhbwstuttgart.syntaxtree.visual.ASTPrinter;
|
||||||
import de.dhbwstuttgart.syntaxtree.visual.ASTTypePrinter;
|
import de.dhbwstuttgart.syntaxtree.visual.ASTTypePrinter;
|
||||||
import de.dhbwstuttgart.syntaxtree.visual.ResultSetPrinter;
|
|
||||||
import de.dhbwstuttgart.typedeployment.TypeInsert;
|
import de.dhbwstuttgart.typedeployment.TypeInsert;
|
||||||
import de.dhbwstuttgart.typedeployment.TypeInsertFactory;
|
import de.dhbwstuttgart.typedeployment.TypeInsertFactory;
|
||||||
|
import de.dhbwstuttgart.typeinference.constraints.ConstraintSet;
|
||||||
|
import de.dhbwstuttgart.typeinference.constraints.Pair;
|
||||||
import de.dhbwstuttgart.typeinference.result.ResultSet;
|
import de.dhbwstuttgart.typeinference.result.ResultSet;
|
||||||
|
import de.dhbwstuttgart.typeinference.unify.model.FiniteClosure;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.io.PrintWriter;
|
||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
@ -22,92 +27,55 @@ public class JavaTXCompilerASPBenchmark {
|
|||||||
|
|
||||||
public static final String rootDirectory = System.getProperty("user.dir")+"/test/javFiles/";
|
public static final String rootDirectory = System.getProperty("user.dir")+"/test/javFiles/";
|
||||||
|
|
||||||
@Test
|
|
||||||
public void finiteClosure() throws IOException, ClassNotFoundException, InterruptedException {
|
|
||||||
execute(new File(rootDirectory+"fc.jav"));
|
|
||||||
}
|
|
||||||
@Test
|
|
||||||
public void lambda() throws IOException, ClassNotFoundException, InterruptedException {
|
|
||||||
execute(new File(rootDirectory+"Lambda.jav"));
|
|
||||||
}
|
|
||||||
@Test
|
|
||||||
public void lambda2() throws IOException, ClassNotFoundException, InterruptedException {
|
|
||||||
execute(new File(rootDirectory+"Lambda2.jav"));
|
|
||||||
}
|
|
||||||
@Test
|
|
||||||
public void lambda3() throws IOException, ClassNotFoundException, InterruptedException {
|
|
||||||
execute(new File(rootDirectory+"Lambda3.jav"));
|
|
||||||
}
|
|
||||||
@Test
|
|
||||||
public void mathStruc() throws IOException, ClassNotFoundException, InterruptedException {
|
|
||||||
execute(new File(rootDirectory+"mathStruc.jav"));
|
|
||||||
}
|
|
||||||
@Test
|
|
||||||
public void generics() throws IOException, ClassNotFoundException, InterruptedException {
|
|
||||||
execute(new File(rootDirectory+"Generics.jav"));
|
|
||||||
}
|
|
||||||
@Test
|
|
||||||
public void genericsMethodCall() throws IOException, ClassNotFoundException, InterruptedException {
|
|
||||||
TestResultSet result = execute(new File(rootDirectory+"MethodCallGenerics.jav"));
|
|
||||||
//TODO: Hier sollte der Rückgabetyp der Methode String sein
|
|
||||||
}
|
|
||||||
@Test
|
|
||||||
public void faculty() throws IOException, ClassNotFoundException, InterruptedException {
|
|
||||||
execute(new File(rootDirectory+"Faculty.jav"));
|
|
||||||
}
|
|
||||||
@Test
|
|
||||||
public void facultyTyped() throws IOException, ClassNotFoundException, InterruptedException {
|
|
||||||
execute(new File(rootDirectory+"FacultyTyped.jav"));
|
|
||||||
}
|
|
||||||
@Test
|
|
||||||
public void matrix() throws IOException, ClassNotFoundException, InterruptedException {
|
|
||||||
execute(new File(rootDirectory+"Matrix.jav"));
|
|
||||||
}
|
|
||||||
@Test
|
|
||||||
public void matrixTest() throws IOException, ClassNotFoundException, InterruptedException {
|
|
||||||
execute(new File(rootDirectory+"MatrixTest.jav"));
|
|
||||||
}
|
|
||||||
@Test
|
|
||||||
public void packageTests() throws IOException, ClassNotFoundException, InterruptedException {
|
|
||||||
execute(new File(rootDirectory+"Package.jav"));
|
|
||||||
}
|
|
||||||
@Test
|
@Test
|
||||||
public void vector() throws IOException, ClassNotFoundException, InterruptedException {
|
public void vector() throws IOException, ClassNotFoundException, InterruptedException {
|
||||||
execute(new File(rootDirectory+"Vector.jav"));
|
//execute(new File(rootDirectory+"Vector.jav"));
|
||||||
}
|
List<List<Long>> benchmarkUnifyResults = new ArrayList<>();
|
||||||
@Test
|
for(int numAdds = 1; numAdds <= 15; numAdds++){
|
||||||
public void lambdaRunnable() throws IOException, ClassNotFoundException, InterruptedException {
|
|
||||||
execute(new File(rootDirectory+"LambdaRunnable.jav"));
|
|
||||||
}
|
|
||||||
@Test
|
|
||||||
public void expressions() throws IOException, ClassNotFoundException, InterruptedException {
|
|
||||||
execute(new File(rootDirectory+"Expressions.jav"));
|
|
||||||
}
|
|
||||||
@Test
|
|
||||||
public void addLong() throws IOException, ClassNotFoundException, InterruptedException {
|
|
||||||
execute(new File(rootDirectory+"AddLong.jav"));
|
|
||||||
}
|
|
||||||
|
|
||||||
private static class TestResultSet{
|
String tmpFile = "/tmp/vector.jav";
|
||||||
|
PrintWriter writer = new PrintWriter(tmpFile, "UTF-8");
|
||||||
|
writer.println("import java.util.ArrayList;");
|
||||||
|
writer.println("import java.util.Vector;");
|
||||||
|
writer.println("import java.lang.Object;");
|
||||||
|
writer.println("class MyVector{");
|
||||||
|
writer.println("id(x){");
|
||||||
|
writer.println("Object i;");
|
||||||
|
for(int i = 0; i< numAdds; i++)
|
||||||
|
writer.println("x.add(i);");
|
||||||
|
writer.println("return x;");
|
||||||
|
writer.println("}}");
|
||||||
|
writer.close();
|
||||||
|
|
||||||
}
|
List<Long> results = new ArrayList<>();
|
||||||
|
List<Long> resultsTotal = new ArrayList<>();
|
||||||
public TestResultSet execute(File fileToTest) throws IOException, ClassNotFoundException, InterruptedException {
|
for(int i = 0; i < 20 ; i++){
|
||||||
List<String> results = new ArrayList<>();
|
|
||||||
for(int i = 0; i < 20; i++){
|
|
||||||
Date d1 = new Date();
|
Date d1 = new Date();
|
||||||
JavaTXCompiler compiler = new JavaTXCompiler(fileToTest);
|
JavaTXCompiler compiler = new JavaTXCompiler(new File(tmpFile));
|
||||||
|
|
||||||
|
Date du1 = new Date();
|
||||||
compiler.aspTypeInference();
|
compiler.aspTypeInference();
|
||||||
|
Date du2 = new Date();
|
||||||
|
|
||||||
Date d2 = new Date();
|
Date d2 = new Date();
|
||||||
long seconds = (d2.getTime()-d1.getTime())/1000;
|
if(i > 4){
|
||||||
results.add("Total: "+seconds + " Sekunden");
|
long milliseconds = (du2.getTime()-du1.getTime());
|
||||||
|
results.add(milliseconds);
|
||||||
|
milliseconds = (d2.getTime()-d1.getTime());
|
||||||
|
resultsTotal.add(milliseconds);
|
||||||
}
|
}
|
||||||
for(String result : results){
|
|
||||||
System.out.println(result);
|
|
||||||
}
|
}
|
||||||
return new TestResultSet();
|
benchmarkUnifyResults.add(results);
|
||||||
|
}
|
||||||
|
|
||||||
|
for(int y = 0; y < benchmarkUnifyResults.get(0).size(); y++){
|
||||||
|
for(int x = 0; x < benchmarkUnifyResults.size(); x++){
|
||||||
|
long value = benchmarkUnifyResults.get(x).get(y);
|
||||||
|
System.out.print(value + " ");
|
||||||
|
}
|
||||||
|
System.out.println();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static String readFile(String path, Charset encoding)
|
static String readFile(String path, Charset encoding)
|
||||||
|
Loading…
Reference in New Issue
Block a user