[feature](Nereids): Add subgraph enumerator#14291
Conversation
|
TeamCity pipeline, clickbench performance test result: |
281ed49 to
7e699a5
Compare
7e699a5 to
c2a6f18
Compare
Signed-off-by: xiejiann <jianxie0@gmail.com>
c2a6f18 to
ab9a051
Compare
| * This is a class for iterating all true subset of a bitset, referenced in | ||
| * https://groups.google.com/forum/#!msg/rec.games.chess/KnJvBnhgDKU/yCi5yBx18PQJ | ||
| */ | ||
| public class SubsetIterator implements Iterable<BitSet> { |
There was a problem hiding this comment.
Future ticket: use hand-write bitmap instead of bitset.
There was a problem hiding this comment.
Yeah, I will do it in next pr. I plan to implement it by generics. That is if the tables less 64 , we use long. Otherwise we use bitset.
| private BitSet cloneBitSet(BitSet bitSet) { | ||
| BitSet cloned = new BitSet(); | ||
| cloned.or(bitSet); | ||
| return cloned; | ||
| } |
There was a problem hiding this comment.
| private BitSet cloneBitSet(BitSet bitSet) { | |
| BitSet cloned = new BitSet(); | |
| cloned.or(bitSet); | |
| return cloned; | |
| } | |
| private BitSet newBitSet(BitSet ...bitSets) { | |
| BitSet cloned = new BitSet(); | |
| for (BitSet bitSet : bitSets) { | |
| cloned.or(bitSet); | |
| } | |
| return cloned; | |
| } |
| BitSet newCsg = new BitSet(); | ||
| newCsg.or(csg); | ||
| newCsg.or(subset); |
|
PR approved by at least one committer and no changes requested. |
1 similar comment
|
PR approved by at least one committer and no changes requested. |
|
PR approved by anyone and no changes requested. |
1 similar comment
|
PR approved by anyone and no changes requested. |
Add subgraph enumerator to find the best plan For DPHyp, we need an enumerator for all csg-cmp pairs to find the best plan
Signed-off-by: xiejiann jianxie0@gmail.com
Proposed changes
Issue Number: close #xxx
Add subgraph enumerator to find the best plan
Problem summary
For DPHyp, we need an enumerator for all csg-cmp pairs to find the best plan
Checklist(Required)
Further comments
If this is a relatively large or complex change, kick off the discussion at dev@doris.apache.org by explaining why you chose the solution you did and what alternatives you considered, etc...