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

gian pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-druid.git


The following commit(s) were added to refs/heads/master by this push:
     new 871b9d2  [Benchmarking] Call blackhole#consume() on collections 
instead of iterating through each element (#7002)
871b9d2 is described below

commit 871b9d2f4c1d1bcf10794e07f6a9facd90173ee1
Author: Justin Borromeo <[email protected]>
AuthorDate: Wed Feb 20 08:48:06 2019 -0800

    [Benchmarking] Call blackhole#consume() on collections instead of iterating 
through each element (#7002)
    
    * Replaced iteration with blackhole#consume(the collection)
    
    * Added javadoc on Sequence#toList()
---
 .../druid/benchmark/query/GroupByBenchmark.java    | 25 +++++-----------------
 .../druid/benchmark/query/SearchBenchmark.java     | 18 +++-------------
 .../druid/benchmark/query/SelectBenchmark.java     |  8 ++-----
 .../apache/druid/benchmark/query/SqlBenchmark.java |  5 +----
 .../druid/benchmark/query/TimeseriesBenchmark.java | 16 ++++----------
 .../druid/benchmark/query/TopNBenchmark.java       | 13 +++--------
 .../query/timecompare/TimeCompareBenchmark.java    | 10 ++-------
 .../druid/java/util/common/guava/Sequence.java     |  4 ++++
 8 files changed, 24 insertions(+), 75 deletions(-)

diff --git 
a/benchmarks/src/main/java/org/apache/druid/benchmark/query/GroupByBenchmark.java
 
b/benchmarks/src/main/java/org/apache/druid/benchmark/query/GroupByBenchmark.java
index f96aef6..4fd2c1e 100644
--- 
a/benchmarks/src/main/java/org/apache/druid/benchmark/query/GroupByBenchmark.java
+++ 
b/benchmarks/src/main/java/org/apache/druid/benchmark/query/GroupByBenchmark.java
@@ -563,10 +563,7 @@ public class GroupByBenchmark
     );
 
     List<Row> results = GroupByBenchmark.runQuery(factory, runner, query);
-
-    for (Row result : results) {
-      blackhole.consume(result);
-    }
+    blackhole.consume(results);
   }
 
   @Benchmark
@@ -581,10 +578,7 @@ public class GroupByBenchmark
     );
 
     List<Row> results = GroupByBenchmark.runQuery(factory, runner, query);
-
-    for (Row result : results) {
-      blackhole.consume(result);
-    }
+    blackhole.consume(results);
   }
 
   @Benchmark
@@ -602,10 +596,7 @@ public class GroupByBenchmark
 
     Sequence<Row> queryResult = theRunner.run(QueryPlus.wrap(query), new 
HashMap<>());
     List<Row> results = queryResult.toList();
-
-    for (Row result : results) {
-      blackhole.consume(result);
-    }
+    blackhole.consume(results);
   }
 
   @Benchmark
@@ -626,10 +617,7 @@ public class GroupByBenchmark
     );
     Sequence<Row> queryResult = theRunner.run(QueryPlus.wrap(spillingQuery), 
new HashMap<>());
     List<Row> results = queryResult.toList();
-
-    for (Row result : results) {
-      blackhole.consume(result);
-    }
+    blackhole.consume(results);
   }
 
   @Benchmark
@@ -653,10 +641,7 @@ public class GroupByBenchmark
 
     Sequence<Row> queryResult = theRunner.run(QueryPlus.wrap(query), new 
HashMap<>());
     List<Row> results = queryResult.toList();
-
-    for (Row result : results) {
-      blackhole.consume(result);
-    }
+    blackhole.consume(results);
   }
 
   private List<QueryRunner<Row>> makeMultiRunners()
diff --git 
a/benchmarks/src/main/java/org/apache/druid/benchmark/query/SearchBenchmark.java
 
b/benchmarks/src/main/java/org/apache/druid/benchmark/query/SearchBenchmark.java
index 122914b..2c5617e 100644
--- 
a/benchmarks/src/main/java/org/apache/druid/benchmark/query/SearchBenchmark.java
+++ 
b/benchmarks/src/main/java/org/apache/druid/benchmark/query/SearchBenchmark.java
@@ -418,10 +418,7 @@ public class SearchBenchmark
     );
 
     List<Result<SearchResultValue>> results = 
SearchBenchmark.runQuery(factory, runner, query);
-    List<SearchHit> hits = results.get(0).getValue().getValue();
-    for (SearchHit hit : hits) {
-      blackhole.consume(hit);
-    }
+    blackhole.consume(results);
   }
 
   @Benchmark
@@ -436,10 +433,7 @@ public class SearchBenchmark
     );
 
     List<Result<SearchResultValue>> results = 
SearchBenchmark.runQuery(factory, runner, query);
-    List<SearchHit> hits = results.get(0).getValue().getValue();
-    for (SearchHit hit : hits) {
-      blackhole.consume(hit);
-    }
+    blackhole.consume(results);
   }
 
 
@@ -472,12 +466,6 @@ public class SearchBenchmark
         new HashMap<>()
     );
     List<Result<SearchResultValue>> results = queryResult.toList();
-
-    for (Result<SearchResultValue> result : results) {
-      List<SearchHit> hits = result.getValue().getValue();
-      for (SearchHit hit : hits) {
-        blackhole.consume(hit);
-      }
-    }
+    blackhole.consume(results);
   }
 }
diff --git 
a/benchmarks/src/main/java/org/apache/druid/benchmark/query/SelectBenchmark.java
 
b/benchmarks/src/main/java/org/apache/druid/benchmark/query/SelectBenchmark.java
index b802ba0..28bbb1f 100644
--- 
a/benchmarks/src/main/java/org/apache/druid/benchmark/query/SelectBenchmark.java
+++ 
b/benchmarks/src/main/java/org/apache/druid/benchmark/query/SelectBenchmark.java
@@ -336,9 +336,7 @@ public class SelectBenchmark
       if (result.getEvents().size() == 0) {
         done = true;
       } else {
-        for (EventHolder eh : result.getEvents()) {
-          blackhole.consume(eh);
-        }
+        blackhole.consume(result);
         queryCopy = incrementQueryPagination(queryCopy, result);
       }
     }
@@ -382,9 +380,7 @@ public class SelectBenchmark
       if (result.getEvents().size() == 0) {
         done = true;
       } else {
-        for (EventHolder eh : result.getEvents()) {
-          blackhole.consume(eh);
-        }
+        blackhole.consume(result);
         queryCopy = incrementQueryPagination(queryCopy, result);
       }
     }
diff --git 
a/benchmarks/src/main/java/org/apache/druid/benchmark/query/SqlBenchmark.java 
b/benchmarks/src/main/java/org/apache/druid/benchmark/query/SqlBenchmark.java
index 1f51588..529886a 100644
--- 
a/benchmarks/src/main/java/org/apache/druid/benchmark/query/SqlBenchmark.java
+++ 
b/benchmarks/src/main/java/org/apache/druid/benchmark/query/SqlBenchmark.java
@@ -173,10 +173,7 @@ public class SqlBenchmark
   {
     final Sequence<Row> resultSequence = 
QueryPlus.wrap(groupByQuery).run(walker, new HashMap<>());
     final List<Row> resultList = resultSequence.toList();
-
-    for (Row row : resultList) {
-      blackhole.consume(row);
-    }
+    blackhole.consume(resultList);
   }
 
   @Benchmark
diff --git 
a/benchmarks/src/main/java/org/apache/druid/benchmark/query/TimeseriesBenchmark.java
 
b/benchmarks/src/main/java/org/apache/druid/benchmark/query/TimeseriesBenchmark.java
index 5c58c94..ac413c4 100644
--- 
a/benchmarks/src/main/java/org/apache/druid/benchmark/query/TimeseriesBenchmark.java
+++ 
b/benchmarks/src/main/java/org/apache/druid/benchmark/query/TimeseriesBenchmark.java
@@ -342,9 +342,7 @@ public class TimeseriesBenchmark
     );
 
     List<Result<TimeseriesResultValue>> results = 
TimeseriesBenchmark.runQuery(factory, runner, query);
-    for (Result<TimeseriesResultValue> result : results) {
-      blackhole.consume(result);
-    }
+    blackhole.consume(results);
   }
 
   @Benchmark
@@ -359,9 +357,7 @@ public class TimeseriesBenchmark
     );
 
     List<Result<TimeseriesResultValue>> results = 
TimeseriesBenchmark.runQuery(factory, runner, query);
-    for (Result<TimeseriesResultValue> result : results) {
-      blackhole.consume(result);
-    }
+    blackhole.consume(results);
   }
 
   @Benchmark
@@ -379,9 +375,7 @@ public class TimeseriesBenchmark
     Query filteredQuery = query.withDimFilter(filter);
 
     List<Result<TimeseriesResultValue>> results = 
TimeseriesBenchmark.runQuery(factory, runner, filteredQuery);
-    for (Result<TimeseriesResultValue> result : results) {
-      blackhole.consume(result);
-    }
+    blackhole.consume(results);
   }
 
   @Benchmark
@@ -414,8 +408,6 @@ public class TimeseriesBenchmark
     );
     List<Result<TimeseriesResultValue>> results = queryResult.toList();
 
-    for (Result<TimeseriesResultValue> result : results) {
-      blackhole.consume(result);
-    }
+    blackhole.consume(results);
   }
 }
diff --git 
a/benchmarks/src/main/java/org/apache/druid/benchmark/query/TopNBenchmark.java 
b/benchmarks/src/main/java/org/apache/druid/benchmark/query/TopNBenchmark.java
index 566ebe3..fee4d42 100644
--- 
a/benchmarks/src/main/java/org/apache/druid/benchmark/query/TopNBenchmark.java
+++ 
b/benchmarks/src/main/java/org/apache/druid/benchmark/query/TopNBenchmark.java
@@ -326,9 +326,7 @@ public class TopNBenchmark
     );
 
     List<Result<TopNResultValue>> results = TopNBenchmark.runQuery(factory, 
runner, query);
-    for (Result<TopNResultValue> result : results) {
-      blackhole.consume(result);
-    }
+    blackhole.consume(results);
   }
 
   @Benchmark
@@ -343,9 +341,7 @@ public class TopNBenchmark
     );
 
     List<Result<TopNResultValue>> results = TopNBenchmark.runQuery(factory, 
runner, query);
-    for (Result<TopNResultValue> result : results) {
-      blackhole.consume(result);
-    }
+    blackhole.consume(results);
   }
 
   @Benchmark
@@ -377,9 +373,6 @@ public class TopNBenchmark
         new HashMap<>()
     );
     List<Result<TopNResultValue>> results = queryResult.toList();
-
-    for (Result<TopNResultValue> result : results) {
-      blackhole.consume(result);
-    }
+    blackhole.consume(results);
   }
 }
diff --git 
a/benchmarks/src/main/java/org/apache/druid/benchmark/query/timecompare/TimeCompareBenchmark.java
 
b/benchmarks/src/main/java/org/apache/druid/benchmark/query/timecompare/TimeCompareBenchmark.java
index 85ef600..e50dde0 100644
--- 
a/benchmarks/src/main/java/org/apache/druid/benchmark/query/timecompare/TimeCompareBenchmark.java
+++ 
b/benchmarks/src/main/java/org/apache/druid/benchmark/query/timecompare/TimeCompareBenchmark.java
@@ -422,10 +422,7 @@ public class TimeCompareBenchmark
   {
     Sequence<Result<TopNResultValue>> queryResult = 
topNRunner.run(QueryPlus.wrap(topNQuery), new HashMap<>());
     List<Result<TopNResultValue>> results = queryResult.toList();
-
-    for (Result<TopNResultValue> result : results) {
-      blackhole.consume(result);
-    }
+    blackhole.consume(results);
   }
 
 
@@ -439,9 +436,6 @@ public class TimeCompareBenchmark
         new HashMap<>()
     );
     List<Result<TimeseriesResultValue>> results = queryResult.toList();
-
-    for (Result<TimeseriesResultValue> result : results) {
-      blackhole.consume(result);
-    }
+    blackhole.consume(results);
   }
 }
diff --git 
a/core/src/main/java/org/apache/druid/java/util/common/guava/Sequence.java 
b/core/src/main/java/org/apache/druid/java/util/common/guava/Sequence.java
index 8e04f9f..c5eded2 100644
--- a/core/src/main/java/org/apache/druid/java/util/common/guava/Sequence.java
+++ b/core/src/main/java/org/apache/druid/java/util/common/guava/Sequence.java
@@ -71,6 +71,10 @@ public interface Sequence<T>
     return new MappedSequence<>(this, mapper);
   }
 
+  /**
+   * Several benchmarks rely on this method to eagerly accumulate Sequences to 
ArrayLists.  e.g.
+   * GroupByBenchmark.
+   */
   default List<T> toList()
   {
     return accumulate(new ArrayList<>(), Accumulators.list());


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to