1 package eu.fbk.rdfpro.util;
2
3 import org.openrdf.model.Statement;
4
5 import eu.fbk.rdfpro.RDFHandlers;
6 import eu.fbk.rdfpro.RDFSource;
7 import eu.fbk.rdfpro.RDFSources;
8 import eu.fbk.rdfpro.util.IO;
9 import eu.fbk.rdfpro.util.QuadModel;
10
11 public class QuadModelLoadTest {
12
13 public static void main(final String... args) throws Throwable {
14
15 final QuadModel model = QuadModel.create();
16
17
18
19
20
21
22
23
24
25
26 final long ts = System.currentTimeMillis();
27
28 final RDFSource source = RDFSources.read(false, true, null, null, args);
29 source.emit(RDFHandlers.synchronize(RDFHandlers.wrap(model)), 1);
30 Runtime.getRuntime().gc();
31 final long mem = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
32
33 final long ts2 = System.currentTimeMillis();
34 System.out.println(model.size() + " " + mem + " " + (ts2 - ts));
35
36 int sum = 0;
37 for (final Statement stmt : model) {
38
39
40 sum += stmt.getSubject().stringValue().hashCode();
41 sum += stmt.getObject().stringValue().hashCode();
42 sum += stmt.getPredicate().stringValue().hashCode();
43 }
44
45 final long ts3 = System.currentTimeMillis();
46 System.out.println(sum + " " + (ts3 - ts2));
47
48 IO.closeQuietly(model);
49 }
50
51 }