You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@quickstep.apache.org by ji...@apache.org on 2016/06/13 21:36:06 UTC

incubator-quickstep git commit: updates

Repository: incubator-quickstep
Updated Branches:
  refs/heads/adaptive-bloom-filters 946332c38 -> ca9e92bbf


updates


Project: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/commit/ca9e92bb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/tree/ca9e92bb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/diff/ca9e92bb

Branch: refs/heads/adaptive-bloom-filters
Commit: ca9e92bbfe5f05a0ead4efbe6d5681ac8df046bd
Parents: 946332c
Author: Jianqiao Zhu <ji...@cs.wisc.edu>
Authored: Mon Jun 13 16:35:50 2016 -0500
Committer: Jianqiao Zhu <ji...@cs.wisc.edu>
Committed: Mon Jun 13 16:35:50 2016 -0500

----------------------------------------------------------------------
 query_optimizer/ExecutionHeuristics.cpp | 17 +++--------------
 query_optimizer/ExecutionHeuristics.hpp |  2 +-
 utility/EventProfiler.hpp               |  6 ++++++
 3 files changed, 10 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/ca9e92bb/query_optimizer/ExecutionHeuristics.cpp
----------------------------------------------------------------------
diff --git a/query_optimizer/ExecutionHeuristics.cpp b/query_optimizer/ExecutionHeuristics.cpp
index fc31c53..1f2163e 100644
--- a/query_optimizer/ExecutionHeuristics.cpp
+++ b/query_optimizer/ExecutionHeuristics.cpp
@@ -107,20 +107,9 @@ void ExecutionHeuristics::optimizeExecutionPlan(QueryPlan *query_plan,
 
 void ExecutionHeuristics::setBloomFilterProperties(serialization::BloomFilter *bloom_filter_proto,
                                                    const CatalogRelation *relation) {
-  const std::size_t cardinality = relation->estimateTupleCardinality();
-  if (cardinality < kOneThousand) {
-    bloom_filter_proto->set_bloom_filter_size(kOneThousand / kCompressionFactor);
-    bloom_filter_proto->set_number_of_hashes(kVeryLowSparsityHash);
-  } else if (cardinality < kTenThousand) {
-    bloom_filter_proto->set_bloom_filter_size(kTenThousand / kCompressionFactor);
-    bloom_filter_proto->set_number_of_hashes(kLowSparsityHash);
-  } else if (cardinality < kHundredThousand) {
-    bloom_filter_proto->set_bloom_filter_size(kHundredThousand / kCompressionFactor);
-    bloom_filter_proto->set_number_of_hashes(kMediumSparsityHash);
-  } else {
-    bloom_filter_proto->set_bloom_filter_size(kMillion / kCompressionFactor);
-    bloom_filter_proto->set_number_of_hashes(kHighSparsityHash);
-  }
+  const std::size_t cardinality = relation->getStatistics().getNumTuples();
+  bloom_filter_proto->set_bloom_filter_size(cardinality);
+  bloom_filter_proto->set_number_of_hashes(3);
 }
 
 }  // namespace optimizer

http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/ca9e92bb/query_optimizer/ExecutionHeuristics.hpp
----------------------------------------------------------------------
diff --git a/query_optimizer/ExecutionHeuristics.hpp b/query_optimizer/ExecutionHeuristics.hpp
index 92a7fe8..c43d591 100644
--- a/query_optimizer/ExecutionHeuristics.hpp
+++ b/query_optimizer/ExecutionHeuristics.hpp
@@ -49,7 +49,7 @@ class ExecutionHeuristics {
   static const std::size_t kHundredThousand = 100000;
   static const std::size_t kMillion = 1000000;
 
-  static const std::size_t kCompressionFactor = 10;
+  static const std::size_t kCompressionFactor = 1;
 
   static const std::size_t kVeryLowSparsityHash = 1;
   static const std::size_t kLowSparsityHash = 2;

http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/ca9e92bb/utility/EventProfiler.hpp
----------------------------------------------------------------------
diff --git a/utility/EventProfiler.hpp b/utility/EventProfiler.hpp
index 7ad9105..9c842a7 100644
--- a/utility/EventProfiler.hpp
+++ b/utility/EventProfiler.hpp
@@ -53,6 +53,7 @@ class EventProfiler {
     clock::time_point start_time;
     clock::time_point end_time;
     bool is_finished;
+    std::size_t payload;
 
     explicit EventInfo(const clock::time_point &start_time_in)
         : start_time(start_time_in),
@@ -64,6 +65,10 @@ class EventProfiler {
           is_finished(false) {
     }
 
+    inline void setPayload(const std::size_t &in_payload) {
+      payload = in_payload;
+    }
+
     inline void endEvent() {
       end_time = clock::now();
       is_finished = true;
@@ -108,6 +113,7 @@ class EventProfiler {
           os << std::setprecision(12)
              << event_id << ","
              << thread_id << "," << event_group.first << ","
+             << event_info.payload << ","
              << std::chrono::duration<double>(event_info.start_time - zero_time).count()
              << ","
              << std::chrono::duration<double>(event_info.end_time - zero_time).count()