blob: 535b1ce75917c04422b24bebd9faef484caf88a5 [file] [log] [blame]
Akron98b78542015-08-06 21:43:08 +02001package de.ids_mannheim.korap.benchmark;
2
3import java.util.*;
4import java.io.*;
5
6import com.fasterxml.jackson.databind.JsonNode;
7import com.fasterxml.jackson.databind.ObjectMapper;
8
9import de.ids_mannheim.korap.KrillIndex;
10import de.ids_mannheim.korap.KrillQuery;
11import de.ids_mannheim.korap.KrillCollection;
12import de.ids_mannheim.korap.query.QueryBuilder;
13import de.ids_mannheim.korap.Krill;
14import de.ids_mannheim.korap.response.Result;
15import de.ids_mannheim.korap.util.QueryException;
16
17import static org.junit.Assert.*;
18import org.junit.Test;
19import org.junit.Ignore;
20import org.junit.runner.RunWith;
21import org.junit.runners.JUnit4;
22
23
24@RunWith(JUnit4.class)
25public class TestBenchmarkSamples {
26
27 private final ObjectMapper mapper = new ObjectMapper();
28 private final int rounds = 1000;
29 private long t1 = 0, t2 = 0;
30
Akron09ae3732015-08-13 20:56:20 +020031
Akron98b78542015-08-06 21:43:08 +020032 @Test
33 public void simpleSegmentQuery () throws Exception {
34 // Construct index
35
36 KrillIndex ki = new KrillIndex();
37
38 // Indexing test files
39 for (String i : new String[] { "00001", "00002", "00003", "00004",
Akron09ae3732015-08-13 20:56:20 +020040 "00005", "00006", "02439" }) {
Akron98b78542015-08-06 21:43:08 +020041 ki.addDoc(
Akron09ae3732015-08-13 20:56:20 +020042 getClass().getResourceAsStream("/wiki/" + i + ".json.gz"),
43 true);
Akron98b78542015-08-06 21:43:08 +020044 };
45 ki.commit();
46
47 t1 = System.nanoTime();
48 for (int i = 1; i <= rounds; i++) {
49 final QueryBuilder qb = new QueryBuilder("tokens");
50 final Krill ks = new Krill(qb.seg("mate/m:gender:masc").toQuery());
51 final Result kr = ks.apply(ki);
52 assertEquals(kr.getTotalResults(), 497);
53 };
54 t2 = System.nanoTime();
55 double seconds = (double) (t2 - t1) / 1000000000.0;
56 System.err.println("Seconds: " + seconds);
57
58 // Seconds: 9.465514311
59 // Seconds: 9.302011468
60 // Seconds: 9.052496918
61 // Seconds: 9.0567007
62 // Seconds: 9.113724089
63 // Seconds: 8.700548842
64 // Seconds: 9.390980437
65 // Seconds: 8.817503952
66 };
67};