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
addChildCostfunction 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.