doris
doris copied to clipboard
[enhancement](Nereids): refactor costModel framework
Proposed changes
refactor cost-model frameWork:
- Use Cost class to encapsulate double cost
- Use the
addChildCost
function to calculate the cost with children rather than add directly
Note we use the Cost
class because we hope to customize the operator of adding a child host. Therefore, only when the cost would add the child Cost or be added by the parent we use Cost
. Otherwise, we use double such as upperbound
Problem summary
Describe your changes.
Checklist(Required)
- [ ] Does it affect the original behavior
- [ ] Has unit tests been added
- [ ] Has document been added or modified
- [ ] Does it need to update dependencies
- [ ] Is this PR support rollback (If NO, please explain WHY)
Further comments
If this is a relatively large or complex change, kick off the discussion at [email protected] by explaining why you chose the solution you did and what alternatives you considered, etc...
run buildall
TeamCity pipeline, clickbench performance test result: the sum of best hot time: 34 seconds stream load tsv: 468 seconds loaded 74807831229 Bytes, about 152 MB/s stream load json: 40 seconds loaded 2358488459 Bytes, about 56 MB/s stream load orc: 76 seconds loaded 1101869774 Bytes, about 13 MB/s stream load parquet: 32 seconds loaded 861443392 Bytes, about 25 MB/s https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230307071611_clickbench_pr_109897.html
run buildall
run buildall
run buildall
PR approved by at least one committer and no changes requested.
PR approved by anyone and no changes requested.