vmware-archive / database-stream-processor

Streaming and Incremental Computation Framework
Other
222 stars 20 forks source link

Optimize nexmark q9. #362

Closed ryzhyk closed 1 year ago

ryzhyk commented 1 year ago

See individual commits for details.

codecov[bot] commented 1 year ago

Codecov Report

Merging #362 (f463b48) into main (73eda35) will decrease coverage by 0.33%. The diff coverage is 61.39%.

Additional details and impacted files [![Impacted file tree graph](https://codecov.io/gh/vmware/database-stream-processor/pull/362/graphs/tree.svg?width=650&height=150&src=pr&token=0wZcmD11gt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vmware)](https://codecov.io/gh/vmware/database-stream-processor/pull/362?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vmware) ```diff @@ Coverage Diff @@ ## main #362 +/- ## ========================================== - Coverage 72.56% 72.23% -0.33% ========================================== Files 227 233 +6 Lines 46733 48316 +1583 ========================================== + Hits 33910 34903 +993 - Misses 12823 13413 +590 ``` | [Impacted Files](https://codecov.io/gh/vmware/database-stream-processor/pull/362?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vmware) | Coverage Δ | | |---|---|---| | [crates/dataflow-jit/src/codegen/vtable/mod.rs](https://codecov.io/gh/vmware/database-stream-processor/pull/362?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vmware#diff-Y3JhdGVzL2RhdGFmbG93LWppdC9zcmMvY29kZWdlbi92dGFibGUvbW9kLnJz) | `93.61% <ø> (ø)` | | | [crates/dataflow-jit/src/ir/exprs/binary.rs](https://codecov.io/gh/vmware/database-stream-processor/pull/362?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vmware#diff-Y3JhdGVzL2RhdGFmbG93LWppdC9zcmMvaXIvZXhwcnMvYmluYXJ5LnJz) | `89.28% <ø> (ø)` | | | [crates/dataflow-jit/src/ir/exprs/call.rs](https://codecov.io/gh/vmware/database-stream-processor/pull/362?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vmware#diff-Y3JhdGVzL2RhdGFmbG93LWppdC9zcmMvaXIvZXhwcnMvY2FsbC5ycw==) | `70.21% <ø> (ø)` | | | [crates/dataflow-jit/src/ir/exprs/mod.rs](https://codecov.io/gh/vmware/database-stream-processor/pull/362?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vmware#diff-Y3JhdGVzL2RhdGFmbG93LWppdC9zcmMvaXIvZXhwcnMvbW9kLnJz) | `55.00% <ø> (+9.84%)` | :arrow_up: | | [crates/dataflow-jit/src/ir/optimize/dedup.rs](https://codecov.io/gh/vmware/database-stream-processor/pull/362?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vmware#diff-Y3JhdGVzL2RhdGFmbG93LWppdC9zcmMvaXIvb3B0aW1pemUvZGVkdXAucnM=) | `93.33% <ø> (ø)` | | | [crates/dbsp/src/trace/layers/erased/builders.rs](https://codecov.io/gh/vmware/database-stream-processor/pull/362?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vmware#diff-Y3JhdGVzL2Ric3Avc3JjL3RyYWNlL2xheWVycy9lcmFzZWQvYnVpbGRlcnMucnM=) | `0.00% <0.00%> (ø)` | | | [crates/dbsp/src/trace/layers/mod.rs](https://codecov.io/gh/vmware/database-stream-processor/pull/362?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vmware#diff-Y3JhdGVzL2Ric3Avc3JjL3RyYWNlL2xheWVycy9tb2QucnM=) | `34.48% <0.00%> (-1.24%)` | :arrow_down: | | [crates/dbsp/src/trace/layers/ordered\_leaf.rs](https://codecov.io/gh/vmware/database-stream-processor/pull/362?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vmware#diff-Y3JhdGVzL2Ric3Avc3JjL3RyYWNlL2xheWVycy9vcmRlcmVkX2xlYWYucnM=) | `57.14% <0.00%> (-0.76%)` | :arrow_down: | | [crates/dbsp/src/trace/layers/unordered.rs](https://codecov.io/gh/vmware/database-stream-processor/pull/362?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vmware#diff-Y3JhdGVzL2Ric3Avc3JjL3RyYWNlL2xheWVycy91bm9yZGVyZWQucnM=) | `0.00% <0.00%> (ø)` | | | [crates/dbsp/src/trace/ord/key\_batch.rs](https://codecov.io/gh/vmware/database-stream-processor/pull/362?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vmware#diff-Y3JhdGVzL2Ric3Avc3JjL3RyYWNlL29yZC9rZXlfYmF0Y2gucnM=) | `0.00% <0.00%> (ø)` | | | ... and [38 more](https://codecov.io/gh/vmware/database-stream-processor/pull/362?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vmware) | | ... and [3 files with indirect coverage changes](https://codecov.io/gh/vmware/database-stream-processor/pull/362/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=vmware)
github-actions[bot] commented 1 year ago

Benchmark results

Nexmark

name main~24 [kOp/s] PR [kOp/s] Tput change [%] Assessment Peak RSS diff
q0 5602.71 5357.91 -4 :heavy_check_mark: 45.8 MB
q1 5601.67 5567.31 -1 :heavy_check_mark: 6.5 MB
q2 5581.49 5536.42 -1 :heavy_check_mark: 6.8 MB
q3 5503.97 5520.36 0 :heavy_check_mark: 61.8 MB
q4 3419.6 4913.33 44 :evergreen_tree: 2.5 GB
q5 5536.85 5340.56 -4 :heavy_check_mark: 2.5 GB
q6 3569.32 4824.6 35 :evergreen_tree: 2.8 GB
q7 4220.95 3490 -17 :small_red_triangle_down: 286.8 MB
q8 5312.9 5023.55 -5 :small_red_triangle_down: 286.8 MB
q9 590.375 865.627 47 :evergreen_tree: 3.1 GB
q12 5029.04 4829.01 -4 :heavy_check_mark: 3.1 GB
q13 3581.6 3664.9 2 :heavy_check_mark: 3.1 GB
q14 5645.38 5626.87 0 :heavy_check_mark: 3.1 GB
q15 5101.58 5345.81 5 :heavy_check_mark: 3.1 GB
q16 1040.59 1044.73 0 :heavy_check_mark: 3.1 GB
q17 3117.28 3059.13 -2 :heavy_check_mark: 6.3 GB
q18 866.254 1423.5 64 :evergreen_tree: 15.6 GB
q19 964.977 1387.41 44 :evergreen_tree: 15.6 GB
q20 1120.15 1547.04 38 :evergreen_tree: 15.6 GB
q21 5426.09 5331.58 -2 :heavy_check_mark: 15.6 GB
q22 5626.02 5407.58 -4 :heavy_check_mark: 15.6 GB

Galen

name main~24 [s] PR [s] Runtime change [%] Assessment
galen 28.0726 28.6804 2 :heavy_check_mark:

LDBC

algorithm dataset threads main~24 [kEVPS] PR [kEVPS] Tput change [%] Assessment Peak RSS diff
bfs graph500-22 1 1764.55 1763.09 0 :heavy_check_mark: -45.1 kB
bfs datagen-8_4-fb 6 7626.21 7650.87 0 :heavy_check_mark: 32.8 MB
pagerank graph500-22 1 690.237 679.98 -1 :heavy_check_mark: 167.9 kB
pagerank datagen-8_4-fb 6 1932.51 2032.02 5 :evergreen_tree: 1.3 GB

Nexmark (with Persistence)

name main~24 [kOp/s] PR [kOp/s] Tput change [%] PR DRAM [kOp/s] DRAM diff [%] Assessment
q0 2450.36 2472.44 1 2472.67 0 :heavy_check_mark:
q1 1707.45 1716.38 1 1727.26 -1 :heavy_check_mark:
q2 2425.47 2429.77 0 2442.98 -1 :heavy_check_mark:
q3 2049.26 2054.16 0 2340.74 -12 :heavy_check_mark:
q4 361.584 361.191 0 1402.23 -74 :heavy_check_mark:
q5 2036.37 2035.6 0 2323.36 -12 :heavy_check_mark:
q6 335.78 332.213 -1 1338.81 -75 :heavy_check_mark:
q7 618.269 621.676 1 1308.23 -52 :heavy_check_mark:
q8 2159.16 2168.78 0 2296.87 -6 :heavy_check_mark:
q9 79.9765 79.2736 -1 381.589 -79 :heavy_check_mark:
q12 860.457 863.033 0 1831.16 -53 :heavy_check_mark:
q13 439.35 410.199 -7 1007.07 -59 :small_red_triangle_down:
q14 1688.03 1725.24 2 1732.23 0 :heavy_check_mark:
q15 196.64 197.394 0 1187.59 -83 :heavy_check_mark:
q16 25.7936 25.4308 -1 283.882 -91 :heavy_check_mark:
q17 80.6281 80.3398 0 778.661 -90 :heavy_check_mark:
q18 124.345 124.953 0 722.576 -83 :heavy_check_mark:
q19 181.169 180.853 0 649.595 -72 :heavy_check_mark:
q20 497.432 516.055 4 963.883 -46 :heavy_check_mark:
q21 1509.37 1511.52 0 1524.76 -1 :heavy_check_mark:
q22 2106.25 2021.17 -4 2087.36 -3 :heavy_check_mark: