private static void execute(int size, Resource metric, int itr) { for (int cnt = 0; cnt < itr; cnt++) { ProblemCollection<Quad> problemCollection = new ProblemCollectionQuad(metric); long start = System.nanoTime(); for (int i = 0; i < size; i++) { Quad q = new Quad(null, new Triple(ResourceCommons.generateURI().asNode(), ResourceCommons.generateURI().asNode(), ResourceCommons.generateURI().asNode())); problemCollection.addProblem(q); } ((ProblemCollectionQuad)problemCollection).commit(); long write = System.nanoTime() - start; problemCollection.cleanup(); System.gc(); System.out.println(String.format("[%s] %s Write took %s ms, Write/tp :%s", cnt, problemCollection.getClass().getName(), TimeUnit.NANOSECONDS.toMillis(write), TimeUnit.SECONDS.toNanos(size) / write)); } }