You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by re...@apache.org on 2018/07/15 17:24:23 UTC

[uima-uimafit] 02/03: [UIMA-5823] Add basic benchmarking module

This is an automated email from the ASF dual-hosted git repository.

rec pushed a commit to branch feature/UIMA-5823-Add-basic-benchmarking-module-v3
in repository https://gitbox.apache.org/repos/asf/uima-uimafit.git

commit f98cb364d0bf2c9d44411a1c2dae287a9a75b01e
Author: Richard Eckart de Castilho <re...@apache.org>
AuthorDate: Sun Jul 15 19:13:22 2018 +0200

    [UIMA-5823] Add basic benchmarking module
    
    - Added a benchmark for select/indexCovering
---
 .../uima/fit/benchmark/CasUtilBenchmark.java       | 29 ++++++++++++++++++++--
 1 file changed, 27 insertions(+), 2 deletions(-)

diff --git a/uimafit-benchmark/src/test/java/org/apache/uima/fit/benchmark/CasUtilBenchmark.java b/uimafit-benchmark/src/test/java/org/apache/uima/fit/benchmark/CasUtilBenchmark.java
index 8254048..569b884 100644
--- a/uimafit-benchmark/src/test/java/org/apache/uima/fit/benchmark/CasUtilBenchmark.java
+++ b/uimafit-benchmark/src/test/java/org/apache/uima/fit/benchmark/CasUtilBenchmark.java
@@ -18,12 +18,16 @@
  */
 package org.apache.uima.fit.benchmark;
 
-import static org.apache.uima.fit.factory.TypeSystemDescriptionFactory.*;
 import static org.apache.uima.fit.benchmark.CasInitializationUtils.initRandomCas;
+import static org.apache.uima.fit.factory.TypeSystemDescriptionFactory.createTypeSystemDescription;
+import static org.apache.uima.fit.util.CasUtil.getType;
 import static org.apache.uima.fit.util.CasUtil.indexCovered;
+import static org.apache.uima.fit.util.CasUtil.indexCovering;
 import static org.apache.uima.fit.util.CasUtil.select;
 import static org.apache.uima.fit.util.CasUtil.selectAll;
-import static org.apache.uima.fit.util.CasUtil.*;
+import static org.apache.uima.fit.util.CasUtil.selectCovered;
+import static org.apache.uima.fit.util.CasUtil.selectCovering;
+import static org.apache.uima.fit.util.CasUtil.selectFS;
 
 import org.apache.uima.cas.CAS;
 import org.apache.uima.cas.Type;
@@ -134,4 +138,25 @@ public class CasUtilBenchmark {
           .forEach((s, l) -> l.forEach(t -> {})))
       .run();
   }
+  
+  @Test
+  public void benchmarkSelectCovering() {
+    Benchmark template = new Benchmark("TEMPLATE")
+      .initialize(n -> initRandomCas(cas, n))
+      .magnitude(10)
+      .magnitudeIncrement(count -> count * 10)
+      .incrementTimes(3);
+    
+    new Benchmark("JCas selectCovering", template)
+      .measure(() -> {
+        Type sentenceType = getType(cas, TYPE_NAME_SENTENCE);
+        Type tokenType = getType(cas, TYPE_NAME_TOKEN);
+        select(cas, tokenType).forEach(s -> selectCovering(sentenceType, s));
+      })
+      .run();
+
+    new Benchmark("JCas indexCovering", template)
+      .measure(() -> indexCovering(cas, getType(cas, TYPE_NAME_TOKEN), getType(cas, TYPE_NAME_SENTENCE)))
+      .run();
+  }
 }