You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-30 19:23:07 +03:00
Merge branch 'develop' into MCOL-4841
This commit is contained in:
@ -1274,10 +1274,6 @@ void BatchPrimitiveProcessorJL::runBPP(ByteStream& bs, uint32_t pmNum)
|
||||
bs << uniqueID;
|
||||
bs << _priority;
|
||||
|
||||
// The weight is used by PrimProc thread pool algo
|
||||
uint32_t weight = calculateBPPWeight();
|
||||
bs << weight;
|
||||
|
||||
bs << dbRoot;
|
||||
bs << count;
|
||||
|
||||
|
@ -252,27 +252,8 @@ class BatchPrimitiveProcessorJL
|
||||
}
|
||||
|
||||
private:
|
||||
const size_t perColumnProjectWeight_ = 10;
|
||||
const size_t perColumnFilteringWeight_ = 10;
|
||||
const size_t fe1Weight_ = 10;
|
||||
const size_t fe2Weight_ = 10;
|
||||
const size_t joinWeight_ = 500;
|
||||
const size_t aggregationWeight_ = 500;
|
||||
// void setLBIDForScan(uint64_t rid, uint32_t dbroot);
|
||||
|
||||
// This is simple SQL operations-based model leveraged by
|
||||
// FairThreadPool run by PP facility.
|
||||
// Every operation mentioned in this calculation spends
|
||||
// some CPU so the morsel uses this op weights more.
|
||||
uint32_t calculateBPPWeight() const
|
||||
{
|
||||
uint32_t weight = perColumnProjectWeight_ * projectCount;
|
||||
weight += filterCount * perColumnFilteringWeight_;
|
||||
weight += tJoiners.size() * joinWeight_;
|
||||
weight += (aggregatorPM) ? aggregationWeight_ : 0;
|
||||
weight += (fe1) ? fe1Weight_ : 0;
|
||||
weight += (fe2) ? fe2Weight_ : 0;
|
||||
return weight;
|
||||
}
|
||||
BPSOutputType ot;
|
||||
|
||||
bool needToSetLBID;
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include "tuplehashjoin.h"
|
||||
#include "joinpartition.h"
|
||||
#include "threadnaming.h"
|
||||
#include "../../utils/threadpool/prioritythreadpool.h"
|
||||
|
||||
#pragma once
|
||||
|
||||
|
Reference in New Issue
Block a user