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 <[email protected]> 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(); + } }
