mirror of https://gitee.com/bigwinds/arangodb
micro optimizations
This commit is contained in:
parent
3c9c826210
commit
c2671d7ba3
|
|
@ -35,7 +35,7 @@ class AqlItemBlock;
|
||||||
|
|
||||||
class ExecutionEngine;
|
class ExecutionEngine;
|
||||||
|
|
||||||
class SingletonBlock : public ExecutionBlock {
|
class SingletonBlock final : public ExecutionBlock {
|
||||||
public:
|
public:
|
||||||
SingletonBlock(ExecutionEngine* engine, SingletonNode const* ep)
|
SingletonBlock(ExecutionEngine* engine, SingletonNode const* ep)
|
||||||
: ExecutionBlock(engine, ep), _inputRegisterValues(nullptr), _whitelistBuilt(false) {}
|
: ExecutionBlock(engine, ep), _inputRegisterValues(nullptr), _whitelistBuilt(false) {}
|
||||||
|
|
@ -75,7 +75,7 @@ class SingletonBlock : public ExecutionBlock {
|
||||||
bool _whitelistBuilt;
|
bool _whitelistBuilt;
|
||||||
};
|
};
|
||||||
|
|
||||||
class FilterBlock : public ExecutionBlock {
|
class FilterBlock final : public ExecutionBlock {
|
||||||
public:
|
public:
|
||||||
FilterBlock(ExecutionEngine*, FilterNode const*);
|
FilterBlock(ExecutionEngine*, FilterNode const*);
|
||||||
|
|
||||||
|
|
@ -112,7 +112,7 @@ class FilterBlock : public ExecutionBlock {
|
||||||
BlockCollector _collector;
|
BlockCollector _collector;
|
||||||
};
|
};
|
||||||
|
|
||||||
class LimitBlock : public ExecutionBlock {
|
class LimitBlock final : public ExecutionBlock {
|
||||||
public:
|
public:
|
||||||
LimitBlock(ExecutionEngine* engine, LimitNode const* ep)
|
LimitBlock(ExecutionEngine* engine, LimitNode const* ep)
|
||||||
: ExecutionBlock(engine, ep),
|
: ExecutionBlock(engine, ep),
|
||||||
|
|
@ -145,7 +145,7 @@ class LimitBlock : public ExecutionBlock {
|
||||||
bool const _fullCount;
|
bool const _fullCount;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ReturnBlock : public ExecutionBlock {
|
class ReturnBlock final : public ExecutionBlock {
|
||||||
public:
|
public:
|
||||||
ReturnBlock(ExecutionEngine* engine, ReturnNode const* ep)
|
ReturnBlock(ExecutionEngine* engine, ReturnNode const* ep)
|
||||||
: ExecutionBlock(engine, ep), _returnInheritedResults(false) {}
|
: ExecutionBlock(engine, ep), _returnInheritedResults(false) {}
|
||||||
|
|
@ -168,7 +168,7 @@ class ReturnBlock : public ExecutionBlock {
|
||||||
bool _returnInheritedResults;
|
bool _returnInheritedResults;
|
||||||
};
|
};
|
||||||
|
|
||||||
class NoResultsBlock : public ExecutionBlock {
|
class NoResultsBlock final : public ExecutionBlock {
|
||||||
public:
|
public:
|
||||||
NoResultsBlock(ExecutionEngine* engine, NoResultsNode const* ep)
|
NoResultsBlock(ExecutionEngine* engine, NoResultsNode const* ep)
|
||||||
: ExecutionBlock(engine, ep) {}
|
: ExecutionBlock(engine, ep) {}
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ class AqlItemBlock;
|
||||||
|
|
||||||
class ExecutionEngine;
|
class ExecutionEngine;
|
||||||
|
|
||||||
class CalculationBlock : public ExecutionBlock {
|
class CalculationBlock final : public ExecutionBlock {
|
||||||
public:
|
public:
|
||||||
CalculationBlock(ExecutionEngine*, CalculationNode const*);
|
CalculationBlock(ExecutionEngine*, CalculationNode const*);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ class ExecutionEngine;
|
||||||
|
|
||||||
typedef std::vector<Aggregator*> AggregateValuesType;
|
typedef std::vector<Aggregator*> AggregateValuesType;
|
||||||
|
|
||||||
class SortedCollectBlock : public ExecutionBlock {
|
class SortedCollectBlock final : public ExecutionBlock {
|
||||||
private:
|
private:
|
||||||
typedef std::vector<Aggregator*> AggregateValuesType;
|
typedef std::vector<Aggregator*> AggregateValuesType;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ struct Collection;
|
||||||
class CollectionScanner;
|
class CollectionScanner;
|
||||||
class ExecutionEngine;
|
class ExecutionEngine;
|
||||||
|
|
||||||
class EnumerateCollectionBlock : public ExecutionBlock {
|
class EnumerateCollectionBlock final : public ExecutionBlock {
|
||||||
public:
|
public:
|
||||||
EnumerateCollectionBlock(ExecutionEngine* engine,
|
EnumerateCollectionBlock(ExecutionEngine* engine,
|
||||||
EnumerateCollectionNode const* ep);
|
EnumerateCollectionNode const* ep);
|
||||||
|
|
|
||||||
|
|
@ -1139,7 +1139,7 @@ void ExecutionNode::RegisterPlan::after(ExecutionNode* en) {
|
||||||
regsToClear.emplace(r);
|
regsToClear.emplace(r);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
en->setRegsToClear(regsToClear);
|
en->setRegsToClear(std::move(regsToClear));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -586,8 +586,8 @@ class ExecutionNode {
|
||||||
void toVelocyPackHelperGeneric(arangodb::velocypack::Builder&, bool) const;
|
void toVelocyPackHelperGeneric(arangodb::velocypack::Builder&, bool) const;
|
||||||
|
|
||||||
/// @brief set regs to be deleted
|
/// @brief set regs to be deleted
|
||||||
void setRegsToClear(std::unordered_set<RegisterId> const& toClear) {
|
void setRegsToClear(std::unordered_set<RegisterId>&& toClear) {
|
||||||
_regsToClear = toClear;
|
_regsToClear = std::move(toClear);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@ struct NonConstExpression {
|
||||||
~NonConstExpression() { delete expression; }
|
~NonConstExpression() { delete expression; }
|
||||||
};
|
};
|
||||||
|
|
||||||
class IndexBlock : public ExecutionBlock {
|
class IndexBlock final : public ExecutionBlock {
|
||||||
public:
|
public:
|
||||||
IndexBlock(ExecutionEngine* engine, IndexNode const* ep);
|
IndexBlock(ExecutionEngine* engine, IndexNode const* ep);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ class AqlItemBlock;
|
||||||
|
|
||||||
class ExecutionEngine;
|
class ExecutionEngine;
|
||||||
|
|
||||||
class SortBlock : public ExecutionBlock {
|
class SortBlock final : public ExecutionBlock {
|
||||||
public:
|
public:
|
||||||
SortBlock(ExecutionEngine*, SortNode const*);
|
SortBlock(ExecutionEngine*, SortNode const*);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ class ManagedDocumentResult;
|
||||||
|
|
||||||
namespace aql {
|
namespace aql {
|
||||||
|
|
||||||
class TraversalBlock : public ExecutionBlock {
|
class TraversalBlock final : public ExecutionBlock {
|
||||||
public:
|
public:
|
||||||
TraversalBlock(ExecutionEngine* engine, TraversalNode const* ep);
|
TraversalBlock(ExecutionEngine* engine, TraversalNode const* ep);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue