Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split global dirty set into dedicated pool #13472

Merged

Conversation

yunhanw-google
Copy link
Contributor

@yunhanw-google yunhanw-google commented Jan 11, 2022

Problem

Currently clusterInfo pool are created in array pool, we should use bitmap objects so that it can be allocated in heap in real products.

In addition, interested attribute/event paths from read/subscribe interaction are sharing the cluster info pool with dirty path used when attribute change happens. It is better to split dirty set path into dedicated pool so that it's easier to adjust the number of dirty paths using chip configuration parameter

Change overview

-- Split global dirty set into dedicated bitmap object pool
-- Update the clusterInfo pool with bitmap object pool

Testing

The exiting test covers

@github-actions
Copy link

github-actions bot commented Jan 11, 2022

PR #13472: Size comparison from f878e4a to c09e493

Increases above 0.2%:

platform target config section f878e4a c09e493 change % change
efr32 window-app BRD4161A .bss 124168 124480 312 0.3
esp32 all-clusters-app c3devkit .dram0.bss 70168 70480 312 0.4
m5stack .dram0.bss 74656 74968 312 0.4
k32w light k32w061+release .bss 76824 77136 312 0.4
lock k32w061+release .bss 77120 77432 312 0.4
linux chip-tool-ipv6only arm64 .bss 54865 55217 352 0.6
thermostat-no-ble arm64 (read/write) 145505 145873 368 0.3
.bss 64737 65089 352 0.5
nrfconnect lighting-app nrf52840dk_nrf52840 bss 119284 119596 312 0.3
nrf52840dk_nrf52840+rpc bss 116328 116640 312 0.3
nrf52840dongle_nrf52840 bss 122128 122440 312 0.3
nrf5340dk_nrf5340_cpuapp bss 116072 116384 312 0.3
lock-app nrf52840dk_nrf52840 bss 118472 118784 312 0.3
nrf5340dk_nrf5340_cpuapp bss 115288 115600 312 0.3
pump-app nrf52840dk_nrf52840 bss 118232 118544 312 0.3
pump-controller-app nrf52840dk_nrf52840 bss 118260 118572 312 0.3
p6 all-clusters-app default .bss 117148 117460 312 0.3
light-app default .bss 105728 106040 312 0.3
lock-app default .bss 104608 104920 312 0.3
qpg lighting-app qpg6105+debug .bss 86672 86984 312 0.4
lock-app qpg6105+debug .bss 85808 86120 312 0.4
telink lighting-app tlsr9518adk80d bss 86976 87288 312 0.4
Increases (26 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section f878e4a c09e493 change % change
efr32 lighting-app BRD4161A (read only) 830304 830528 224 0.0
(read/write) 127300 127612 312 0.2
.bss 125420 125732 312 0.2
.text 830296 830520 224 0.0
BRD4161A+rpc (read only) 817708 817924 216 0.0
(read/write) 143960 144272 312 0.2
.bss 141980 142292 312 0.2
.text 817700 817916 216 0.0
window-app BRD4161A (read only) 804248 804472 224 0.0
(read/write) 126008 126320 312 0.2
.bss 124168 124480 312 0.3
.text 804240 804464 224 0.0
esp32 all-clusters-app c3devkit (read only) 898202 898374 172 0.0
(read/write) 1316090 1316386 296 0.0
.dram0.bss 70168 70480 312 0.4
.flash.text 898202 898374 172 0.0
m5stack (read only) 959383 959463 80 0.0
(read/write) 448544 448848 304 0.1
.dram0.bss 74656 74968 312 0.4
.flash.text 953999 954079 80 0.0
k32w light k32w061+release (read/write) 656404 656780 376 0.1
.bss 76824 77136 312 0.4
.text 571928 571992 64 0.0
lock k32w061+release (read/write) 660740 661120 380 0.1
.bss 77120 77432 312 0.4
.text 575948 576016 68 0.0
linux chip-tool-ipv6only arm64 (read only) 7183964 7185100 1136 0.0
(read/write) 344625 344977 352 0.1
.bss 54865 55217 352 0.6
.got 58232 58240 8 0.0
.rodata 390756 390820 64 0.0
.text 6062036 6063076 1040 0.0
thermostat-no-ble arm64 (read only) 2037788 2038956 1168 0.1
(read/write) 145505 145873 368 0.3
.bss 64737 65089 352 0.5
.got 4040 4048 8 0.2
.rodata 129516 129564 48 0.0
.text 1693968 1695072 1104 0.1
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2348984 2349160 176 0.0
.bss 188876 189188 312 0.2
.text 1311560 1311736 176 0.0
lighting-app CY8CPROTO_062_4343W+release (read/write) 2330560 2330744 184 0.0
.bss 180416 180728 312 0.2
.text 1293160 1293344 184 0.0
lock-app CY8CPROTO_062_4343W+release (read/write) 2303784 2303968 184 0.0
.bss 179456 179768 312 0.2
.text 1266384 1266568 184 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 939327 939751 424 0.0
bss 119284 119596 312 0.3
rodata 108332 108340 8 0.0
text 634140 634244 104 0.0
nrf52840dk_nrf52840+rpc (read/write) 924795 925183 388 0.0
bss 116328 116640 312 0.3
rodata 100784 100788 4 0.0
text 629492 629596 104 0.0
nrf52840dongle_nrf52840 (read/write) 990007 990427 420 0.0
bss 122128 122440 312 0.3
rodata 113088 113092 4 0.0
text 666336 666440 104 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 849186 849574 388 0.0
bss 116072 116384 312 0.3
rodata 101508 101512 4 0.0
text 551060 551164 104 0.0
lock-app nrf52840dk_nrf52840 (read/write) 911599 911991 392 0.0
bss 118472 118784 312 0.3
rodata 103604 103612 8 0.0
text 612132 612236 104 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 821638 822058 420 0.1
bss 115288 115600 312 0.3
rodata 96832 96836 4 0.0
text 529092 529196 104 0.0
pump-app nrf52840dk_nrf52840 (read/write) 912879 913315 436 0.0
bss 118232 118544 312 0.3
rodata 103820 103824 4 0.0
text 613392 613496 104 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 909679 910103 424 0.0
bss 118260 118572 312 0.3
rodata 103076 103084 8 0.0
text 610880 610984 104 0.0
p6 all-clusters-app default (read/write) 2403272 2403488 216 0.0
.bss 117148 117460 312 0.3
.text 1361536 1361752 216 0.0
light-app default (read/write) 2325144 2325368 224 0.0
.bss 105728 106040 312 0.3
.text 1283408 1283632 224 0.0
lock-app default (read/write) 2297376 2297600 224 0.0
.bss 104608 104920 312 0.3
.text 1255640 1255864 224 0.0
qpg lighting-app qpg6105+debug (read only) 534084 534196 112 0.0
.bss 86672 86984 312 0.4
.text 528764 528876 112 0.0
lock-app qpg6105+debug (read only) 506004 506120 116 0.0
.bss 85808 86120 312 0.4
.text 500684 500800 116 0.0
telink lighting-app tlsr9518adk80d (read/write) 835914 836422 508 0.1
bss 86976 87288 312 0.4
text 583782 583954 172 0.0
Decreases (2 builds for esp32)
platform target config section f878e4a c09e493 change % change
esp32 all-clusters-app c3devkit .flash.rodata 178208 178200 -8 -0.0
m5stack .flash.rodata 207696 207688 -8 -0.0
Full report (32 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section f878e4a c09e493 change % change
efr32 lighting-app BRD4161A (read only) 830304 830528 224 0.0
(read/write) 127300 127612 312 0.2
.bss 125420 125732 312 0.2
.data 1880 1880 0 0.0
.text 830296 830520 224 0.0
BRD4161A+rpc (read only) 817708 817924 216 0.0
(read/write) 143960 144272 312 0.2
.bss 141980 142292 312 0.2
.data 1980 1980 0 0.0
.text 817700 817916 216 0.0
window-app BRD4161A (read only) 804248 804472 224 0.0
(read/write) 126008 126320 312 0.2
.bss 124168 124480 312 0.3
.data 1836 1836 0 0.0
.text 804240 804464 224 0.0
esp32 all-clusters-app c3devkit (read only) 898202 898374 172 0.0
(read/write) 1316090 1316386 296 0.0
.dram0.bss 70168 70480 312 0.4
.dram0.data 14212 14212 0 0.0
.flash.rodata 178208 178200 -8 -0.0
.flash.text 898202 898374 172 0.0
.iram0.text 62056 62056 0 0.0
m5stack (read only) 959383 959463 80 0.0
(read/write) 448544 448848 304 0.1
.dram0.bss 74656 74968 312 0.4
.dram0.data 34064 34064 0 0.0
.flash.rodata 207696 207688 -8 -0.0
.flash.text 953999 954079 80 0.0
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 656404 656780 376 0.1
.bss 76824 77136 312 0.4
.data 1852 1852 0 0.0
.text 571928 571992 64 0.0
lock k32w061+release (read/write) 660740 661120 380 0.1
.bss 77120 77432 312 0.4
.data 1872 1872 0 0.0
.text 575948 576016 68 0.0
linux chip-tool-ipv6only arm64 (read only) 7183964 7185100 1136 0.0
(read/write) 344625 344977 352 0.1
.bss 54865 55217 352 0.6
.data 1096 1096 0 0.0
.data.rel.ro 226744 226744 0 0.0
.dynamic 560 560 0 0.0
.got 58232 58240 8 0.0
.init 24 24 0 0.0
.init_array 168 168 0 0.0
.rodata 390756 390820 64 0.0
.text 6062036 6063076 1040 0.0
thermostat-no-ble arm64 (read only) 2037788 2038956 1168 0.1
(read/write) 145505 145873 368 0.3
.bss 64737 65089 352 0.5
.data 880 880 0 0.0
.data.rel.ro 72912 72912 0 0.0
.dynamic 560 560 0 0.0
.got 4040 4048 8 0.2
.init 24 24 0 0.0
.init_array 304 304 0 0.0
.rodata 129516 129564 48 0.0
.text 1693968 1695072 1104 0.1
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2348984 2349160 176 0.0
.bss 188876 189188 312 0.2
.data 5320 5320 0 0.0
.text 1311560 1311736 176 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2330560 2330744 184 0.0
.bss 180416 180728 312 0.2
.data 5552 5552 0 0.0
.text 1293160 1293344 184 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2303784 2303968 184 0.0
.bss 179456 179768 312 0.2
.data 5544 5544 0 0.0
.text 1266384 1266568 184 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139712 1139712 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103096 103096 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2054232 2054232 0 0.0
.bss 156876 156876 0 0.0
.data 4864 4864 0 0.0
.text 1016832 1016832 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 939327 939751 424 0.0
bss 119284 119596 312 0.3
rodata 108332 108340 8 0.0
text 634140 634244 104 0.0
nrf52840dk_nrf52840+rpc (read/write) 924795 925183 388 0.0
bss 116328 116640 312 0.3
rodata 100784 100788 4 0.0
text 629492 629596 104 0.0
nrf52840dongle_nrf52840 (read/write) 990007 990427 420 0.0
bss 122128 122440 312 0.3
rodata 113088 113092 4 0.0
text 666336 666440 104 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 849186 849574 388 0.0
bss 116072 116384 312 0.3
rodata 101508 101512 4 0.0
text 551060 551164 104 0.0
lock-app nrf52840dk_nrf52840 (read/write) 911599 911991 392 0.0
bss 118472 118784 312 0.3
rodata 103604 103612 8 0.0
text 612132 612236 104 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 821638 822058 420 0.1
bss 115288 115600 312 0.3
rodata 96832 96836 4 0.0
text 529092 529196 104 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 541835 541835 0 0.0
bss 52588 52588 0 0.0
rodata 50104 50104 0 0.0
text 376940 376940 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 912879 913315 436 0.0
bss 118232 118544 312 0.3
rodata 103820 103824 4 0.0
text 613392 613496 104 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 909679 910103 424 0.0
bss 118260 118572 312 0.3
rodata 103076 103084 8 0.0
text 610880 610984 104 0.0
shell nrf52840dk_nrf52840 (read/write) 798439 798439 0 0.0
bss 109776 109776 0 0.0
rodata 78284 78284 0 0.0
text 533880 533880 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 711254 711254 0 0.0
bss 107664 107664 0 0.0
rodata 72584 72584 0 0.0
text 451560 451560 0 0.0
p6 all-clusters-app default (read/write) 2403272 2403488 216 0.0
.bss 117148 117460 312 0.3
.data 2592 2592 0 0.0
.text 1361536 1361752 216 0.0
light-app default (read/write) 2325144 2325368 224 0.0
.bss 105728 106040 312 0.3
.data 2384 2384 0 0.0
.text 1283408 1283632 224 0.0
lock-app default (read/write) 2297376 2297600 224 0.0
.bss 104608 104920 312 0.3
.data 2344 2344 0 0.0
.text 1255640 1255864 224 0.0
qpg lighting-app qpg6105+debug (read only) 534084 534196 112 0.0
(read/write) 146940 146940 0 0.0
.bss 86672 86984 312 0.4
.data 1008 1008 0 0.0
.text 528764 528876 112 0.0
lock-app qpg6105+debug (read only) 506004 506120 116 0.0
(read/write) 146936 146936 0 0.0
.bss 85808 86120 312 0.4
.data 956 956 0 0.0
.text 500684 500800 116 0.0
persistent-storage-app qpg6105+debug (read only) 106448 106448 0 0.0
(read/write) 146938 146938 0 0.0
.bss 36146 36146 0 0.0
.data 288 288 0 0.0
.text 101128 101128 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 835914 836422 508 0.1
bss 86976 87288 312 0.4
noinit 37160 37160 0 0.0
text 583782 583954 172 0.0

Copy link
Contributor

@bzbarsky-apple bzbarsky-apple left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please explain what problem this is actually trying to address. That is, why do we want to make this change? (This is why the "Problem" and "Change overview" are separate things.)

@yunhanw-google
Copy link
Contributor Author

Please explain what problem this is actually trying to address. That is, why do we want to make this change? (This is why the "Problem" and "Change overview" are separate things.)

Updated the problem description, thanks

src/app/InteractionModelEngine.cpp Outdated Show resolved Hide resolved
src/app/reporting/Engine.cpp Outdated Show resolved Hide resolved
src/app/reporting/Engine.cpp Outdated Show resolved Hide resolved
src/app/reporting/Engine.cpp Outdated Show resolved Hide resolved
src/app/reporting/Engine.cpp Outdated Show resolved Hide resolved
src/app/reporting/Engine.cpp Show resolved Hide resolved
src/app/reporting/Engine.h Outdated Show resolved Hide resolved
src/app/reporting/Engine.h Outdated Show resolved Hide resolved
src/app/reporting/Engine.h Outdated Show resolved Hide resolved
@yunhanw-google yunhanw-google force-pushed the feature/split_dirty_paths branch from 0f25706 to df83786 Compare January 12, 2022 19:11
@github-actions
Copy link

github-actions bot commented Jan 12, 2022

PR #13472: Size comparison from 34e4032 to df83786

Increases above 0.2%:

platform target config section 34e4032 df83786 change % change
efr32 window-app BRD4161A .bss 124168 124480 312 0.3
esp32 all-clusters-app c3devkit .dram0.bss 70176 70488 312 0.4
m5stack .dram0.bss 74640 74952 312 0.4
k32w light k32w061+release .bss 76824 77136 312 0.4
lock k32w061+release .bss 77120 77432 312 0.4
linux chip-tool-ipv6only arm64 .bss 54865 55217 352 0.6
thermostat-no-ble arm64 (read/write) 145505 145873 368 0.3
.bss 64737 65089 352 0.5
nrfconnect lighting-app nrf52840dk_nrf52840 bss 119284 119596 312 0.3
nrf52840dk_nrf52840+rpc bss 116328 116640 312 0.3
nrf52840dongle_nrf52840 bss 122128 122440 312 0.3
nrf5340dk_nrf5340_cpuapp bss 116072 116384 312 0.3
lock-app nrf52840dk_nrf52840 bss 118472 118784 312 0.3
nrf5340dk_nrf5340_cpuapp bss 115288 115600 312 0.3
pump-app nrf52840dk_nrf52840 bss 118232 118544 312 0.3
pump-controller-app nrf52840dk_nrf52840 bss 118260 118572 312 0.3
p6 all-clusters-app default .bss 117148 117460 312 0.3
light-app default .bss 105728 106040 312 0.3
lock-app default .bss 104608 104920 312 0.3
qpg lighting-app qpg6105+debug .bss 89024 89336 312 0.4
lock-app qpg6105+debug .bss 88160 88472 312 0.4
telink lighting-app tlsr9518adk80d bss 86976 87288 312 0.4
Increases (26 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 34e4032 df83786 change % change
efr32 lighting-app BRD4161A (read only) 830532 830788 256 0.0
(read/write) 127300 127612 312 0.2
.bss 125420 125732 312 0.2
.text 830524 830780 256 0.0
BRD4161A+rpc (read only) 817936 818192 256 0.0
(read/write) 143964 144276 312 0.2
.bss 141980 142292 312 0.2
.text 817928 818184 256 0.0
window-app BRD4161A (read only) 804476 804732 256 0.0
(read/write) 126004 126316 312 0.2
.bss 124168 124480 312 0.3
.text 804468 804724 256 0.0
esp32 all-clusters-app c3devkit (read only) 908118 908278 160 0.0
(read/write) 1315962 1316330 368 0.0
.dram0.bss 70176 70488 312 0.4
.flash.rodata 178016 178064 48 0.0
.flash.text 908118 908278 160 0.0
m5stack (read only) 956875 956995 120 0.0
(read/write) 448128 448488 360 0.1
.dram0.bss 74640 74952 312 0.4
.flash.rodata 207296 207344 48 0.0
.flash.text 951491 951611 120 0.0
k32w light k32w061+release (read/write) 656636 657064 428 0.1
.bss 76824 77136 312 0.4
.text 572160 572276 116 0.0
lock k32w061+release (read/write) 660980 661396 416 0.1
.bss 77120 77432 312 0.4
.text 576188 576292 104 0.0
linux chip-tool-ipv6only arm64 (read only) 7207756 7208940 1184 0.0
(read/write) 345073 345441 368 0.1
.bss 54865 55217 352 0.6
.got 58416 58424 8 0.0
.rodata 392228 392340 112 0.0
.text 6083172 6084212 1040 0.0
thermostat-no-ble arm64 (read only) 2038540 2039772 1232 0.1
(read/write) 145505 145873 368 0.3
.bss 64737 65089 352 0.5
.got 4040 4048 8 0.2
.rodata 129628 129724 96 0.1
.text 1694608 1695728 1120 0.1
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2345840 2346008 168 0.0
.bss 188876 189188 312 0.2
.text 1308416 1308584 168 0.0
lighting-app CY8CPROTO_062_4343W+release (read/write) 2330808 2331040 232 0.0
.bss 180416 180728 312 0.2
.text 1293408 1293640 232 0.0
lock-app CY8CPROTO_062_4343W+release (read/write) 2304032 2304200 168 0.0
.bss 179456 179768 312 0.2
.text 1266632 1266800 168 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 939571 940043 472 0.1
bss 119284 119596 312 0.3
rodata 108448 108504 56 0.1
text 634268 634368 100 0.0
nrf52840dk_nrf52840+rpc (read/write) 925039 925479 440 0.0
bss 116328 116640 312 0.3
rodata 100900 100956 56 0.1
text 629624 629724 100 0.0
nrf52840dongle_nrf52840 (read/write) 990247 990723 476 0.0
bss 122128 122440 312 0.3
rodata 113200 113260 60 0.1
text 666468 666568 100 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 849430 849870 440 0.1
bss 116072 116384 312 0.3
rodata 101624 101680 56 0.1
text 551192 551292 100 0.0
lock-app nrf52840dk_nrf52840 (read/write) 911843 912283 440 0.0
bss 118472 118784 312 0.3
rodata 103720 103776 56 0.1
text 612260 612360 100 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 821882 822354 472 0.1
bss 115288 115600 312 0.3
rodata 96948 97004 56 0.1
text 529224 529324 100 0.0
pump-app nrf52840dk_nrf52840 (read/write) 913123 913611 488 0.1
bss 118232 118544 312 0.3
rodata 103936 103992 56 0.1
text 613520 613620 100 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 909923 910395 472 0.1
bss 118260 118572 312 0.3
rodata 103192 103248 56 0.1
text 611012 611112 100 0.0
p6 all-clusters-app default (read/write) 2399688 2399928 240 0.0
.bss 117148 117460 312 0.3
.text 1357952 1358192 240 0.0
light-app default (read/write) 2325376 2325632 256 0.0
.bss 105728 106040 312 0.3
.text 1283640 1283896 256 0.0
lock-app default (read/write) 2297600 2297864 264 0.0
.bss 104608 104920 312 0.3
.text 1255864 1256128 264 0.0
qpg lighting-app qpg6105+debug (read only) 534716 534812 96 0.0
.bss 89024 89336 312 0.4
.text 529396 529492 96 0.0
lock-app qpg6105+debug (read only) 506636 506736 100 0.0
.bss 88160 88472 312 0.4
.text 501316 501416 100 0.0
telink lighting-app tlsr9518adk80d (read/write) 836102 836654 552 0.1
bss 86976 87288 312 0.4
text 583852 584020 168 0.0
Full report (32 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 34e4032 df83786 change % change
efr32 lighting-app BRD4161A (read only) 830532 830788 256 0.0
(read/write) 127300 127612 312 0.2
.bss 125420 125732 312 0.2
.data 1880 1880 0 0.0
.text 830524 830780 256 0.0
BRD4161A+rpc (read only) 817936 818192 256 0.0
(read/write) 143964 144276 312 0.2
.bss 141980 142292 312 0.2
.data 1980 1980 0 0.0
.text 817928 818184 256 0.0
window-app BRD4161A (read only) 804476 804732 256 0.0
(read/write) 126004 126316 312 0.2
.bss 124168 124480 312 0.3
.data 1836 1836 0 0.0
.text 804468 804724 256 0.0
esp32 all-clusters-app c3devkit (read only) 908118 908278 160 0.0
(read/write) 1315962 1316330 368 0.0
.dram0.bss 70176 70488 312 0.4
.dram0.data 14284 14284 0 0.0
.flash.rodata 178016 178064 48 0.0
.flash.text 908118 908278 160 0.0
.iram0.text 62056 62056 0 0.0
m5stack (read only) 956875 956995 120 0.0
(read/write) 448128 448488 360 0.1
.dram0.bss 74640 74952 312 0.4
.dram0.data 34064 34064 0 0.0
.flash.rodata 207296 207344 48 0.0
.flash.text 951491 951611 120 0.0
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 656636 657064 428 0.1
.bss 76824 77136 312 0.4
.data 1852 1852 0 0.0
.text 572160 572276 116 0.0
lock k32w061+release (read/write) 660980 661396 416 0.1
.bss 77120 77432 312 0.4
.data 1872 1872 0 0.0
.text 576188 576292 104 0.0
linux chip-tool-ipv6only arm64 (read only) 7207756 7208940 1184 0.0
(read/write) 345073 345441 368 0.1
.bss 54865 55217 352 0.6
.data 1096 1096 0 0.0
.data.rel.ro 227000 227000 0 0.0
.dynamic 560 560 0 0.0
.got 58416 58424 8 0.0
.init 24 24 0 0.0
.init_array 168 168 0 0.0
.rodata 392228 392340 112 0.0
.text 6083172 6084212 1040 0.0
thermostat-no-ble arm64 (read only) 2038540 2039772 1232 0.1
(read/write) 145505 145873 368 0.3
.bss 64737 65089 352 0.5
.data 880 880 0 0.0
.data.rel.ro 72912 72912 0 0.0
.dynamic 560 560 0 0.0
.got 4040 4048 8 0.2
.init 24 24 0 0.0
.init_array 304 304 0 0.0
.rodata 129628 129724 96 0.1
.text 1694608 1695728 1120 0.1
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2345840 2346008 168 0.0
.bss 188876 189188 312 0.2
.data 5320 5320 0 0.0
.text 1308416 1308584 168 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2330808 2331040 232 0.0
.bss 180416 180728 312 0.2
.data 5552 5552 0 0.0
.text 1293408 1293640 232 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2304032 2304200 168 0.0
.bss 179456 179768 312 0.2
.data 5544 5544 0 0.0
.text 1266632 1266800 168 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139712 1139712 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103096 103096 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2054232 2054232 0 0.0
.bss 156876 156876 0 0.0
.data 4864 4864 0 0.0
.text 1016832 1016832 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 939571 940043 472 0.1
bss 119284 119596 312 0.3
rodata 108448 108504 56 0.1
text 634268 634368 100 0.0
nrf52840dk_nrf52840+rpc (read/write) 925039 925479 440 0.0
bss 116328 116640 312 0.3
rodata 100900 100956 56 0.1
text 629624 629724 100 0.0
nrf52840dongle_nrf52840 (read/write) 990247 990723 476 0.0
bss 122128 122440 312 0.3
rodata 113200 113260 60 0.1
text 666468 666568 100 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 849430 849870 440 0.1
bss 116072 116384 312 0.3
rodata 101624 101680 56 0.1
text 551192 551292 100 0.0
lock-app nrf52840dk_nrf52840 (read/write) 911843 912283 440 0.0
bss 118472 118784 312 0.3
rodata 103720 103776 56 0.1
text 612260 612360 100 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 821882 822354 472 0.1
bss 115288 115600 312 0.3
rodata 96948 97004 56 0.1
text 529224 529324 100 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 541835 541835 0 0.0
bss 52588 52588 0 0.0
rodata 50104 50104 0 0.0
text 376940 376940 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 913123 913611 488 0.1
bss 118232 118544 312 0.3
rodata 103936 103992 56 0.1
text 613520 613620 100 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 909923 910395 472 0.1
bss 118260 118572 312 0.3
rodata 103192 103248 56 0.1
text 611012 611112 100 0.0
shell nrf52840dk_nrf52840 (read/write) 798439 798439 0 0.0
bss 109776 109776 0 0.0
rodata 78284 78284 0 0.0
text 533880 533880 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 711254 711254 0 0.0
bss 107664 107664 0 0.0
rodata 72584 72584 0 0.0
text 451560 451560 0 0.0
p6 all-clusters-app default (read/write) 2399688 2399928 240 0.0
.bss 117148 117460 312 0.3
.data 2592 2592 0 0.0
.text 1357952 1358192 240 0.0
light-app default (read/write) 2325376 2325632 256 0.0
.bss 105728 106040 312 0.3
.data 2384 2384 0 0.0
.text 1283640 1283896 256 0.0
lock-app default (read/write) 2297600 2297864 264 0.0
.bss 104608 104920 312 0.3
.data 2344 2344 0 0.0
.text 1255864 1256128 264 0.0
qpg lighting-app qpg6105+debug (read only) 534716 534812 96 0.0
(read/write) 146940 146940 0 0.0
.bss 89024 89336 312 0.4
.data 1008 1008 0 0.0
.text 529396 529492 96 0.0
lock-app qpg6105+debug (read only) 506636 506736 100 0.0
(read/write) 146936 146936 0 0.0
.bss 88160 88472 312 0.4
.data 956 956 0 0.0
.text 501316 501416 100 0.0
persistent-storage-app qpg6105+debug (read only) 106832 106832 0 0.0
(read/write) 146940 146940 0 0.0
.bss 38504 38504 0 0.0
.data 288 288 0 0.0
.text 101512 101512 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 836102 836654 552 0.1
bss 86976 87288 312 0.4
noinit 37160 37160 0 0.0
text 583852 584020 168 0.0

src/app/reporting/Engine.h Outdated Show resolved Hide resolved
-- Split global dirty set into dedicated bitmap object pool
-- Update the clusterInfo pool with bitmap object pool
-- Update the tests
@yunhanw-google yunhanw-google force-pushed the feature/split_dirty_paths branch from 8a9a50d to 1ace624 Compare January 13, 2022 01:12
@github-actions
Copy link

github-actions bot commented Jan 13, 2022

PR #13472: Size comparison from 6bb25d5 to 1ace624

Increases above 0.2%:

platform target config section 6bb25d5 1ace624 change % change
efr32 window-app BRD4161A .bss 124168 124480 312 0.3
esp32 all-clusters-app c3devkit .dram0.bss 70176 70488 312 0.4
m5stack .dram0.bss 74640 74952 312 0.4
k32w light k32w061+release .bss 76824 77136 312 0.4
lock k32w061+release .bss 77120 77432 312 0.4
linux chip-tool-ipv6only arm64 .bss 54865 55217 352 0.6
thermostat-no-ble arm64 .bss 64737 65089 352 0.5
nrfconnect lighting-app nrf52840dk_nrf52840 bss 119284 119596 312 0.3
nrf52840dk_nrf52840+rpc bss 116328 116640 312 0.3
nrf52840dongle_nrf52840 bss 122128 122440 312 0.3
nrf5340dk_nrf5340_cpuapp bss 116072 116384 312 0.3
lock-app nrf52840dk_nrf52840 bss 118472 118784 312 0.3
nrf5340dk_nrf5340_cpuapp bss 115288 115600 312 0.3
pump-app nrf52840dk_nrf52840 bss 118232 118544 312 0.3
pump-controller-app nrf52840dk_nrf52840 bss 118260 118572 312 0.3
p6 all-clusters-app default .bss 117148 117460 312 0.3
light-app default .bss 105728 106040 312 0.3
lock-app default .bss 104608 104920 312 0.3
qpg lighting-app qpg6105+debug .bss 89024 89336 312 0.4
lock-app qpg6105+debug .bss 88160 88472 312 0.4
telink lighting-app tlsr9518adk80d bss 86976 87288 312 0.4
Increases (26 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 6bb25d5 1ace624 change % change
efr32 lighting-app BRD4161A (read only) 831200 831456 256 0.0
(read/write) 127300 127612 312 0.2
.bss 125420 125732 312 0.2
.text 831192 831448 256 0.0
BRD4161A+rpc (read only) 818604 818852 248 0.0
(read/write) 143960 144272 312 0.2
.bss 141980 142292 312 0.2
.text 818596 818844 248 0.0
window-app BRD4161A (read only) 805096 805336 240 0.0
(read/write) 126008 126320 312 0.2
.bss 124168 124480 312 0.3
.text 805088 805328 240 0.0
esp32 all-clusters-app c3devkit (read only) 908440 908600 160 0.0
(read/write) 1316058 1316426 368 0.0
.dram0.bss 70176 70488 312 0.4
.flash.rodata 178112 178160 48 0.0
.flash.text 908440 908600 160 0.0
m5stack (read only) 957187 957303 116 0.0
(read/write) 448216 448576 360 0.1
.dram0.bss 74640 74952 312 0.4
.flash.rodata 207384 207432 48 0.0
.flash.text 951803 951919 116 0.0
k32w light k32w061+release (read/write) 656952 657384 432 0.1
.bss 76824 77136 312 0.4
.text 572476 572596 120 0.0
lock k32w061+release (read/write) 661252 661668 416 0.1
.bss 77120 77432 312 0.4
.text 576460 576564 104 0.0
linux chip-tool-ipv6only arm64 (read only) 7215212 7216412 1200 0.0
(read/write) 345921 346289 368 0.1
.bss 54865 55217 352 0.6
.got 58440 58448 8 0.0
.rodata 392436 392548 112 0.0
.text 6089508 6090564 1056 0.0
thermostat-no-ble arm64 (read only) 2039628 2040908 1280 0.1
(read/write) 145617 145969 352 0.2
.bss 64737 65089 352 0.5
.got 4040 4048 8 0.2
.rodata 129756 129868 112 0.1
.text 1695312 1696448 1136 0.1
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2346192 2346360 168 0.0
.bss 188876 189188 312 0.2
.text 1308768 1308936 168 0.0
lighting-app CY8CPROTO_062_4343W+release (read/write) 2331160 2331392 232 0.0
.bss 180416 180728 312 0.2
.text 1293760 1293992 232 0.0
lock-app CY8CPROTO_062_4343W+release (read/write) 2304384 2304552 168 0.0
.bss 179456 179768 312 0.2
.text 1266984 1267152 168 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 939923 940411 488 0.1
bss 119284 119596 312 0.3
rodata 108544 108600 56 0.1
text 634532 634632 100 0.0
nrf52840dk_nrf52840+rpc (read/write) 925387 925843 456 0.0
bss 116328 116640 312 0.3
rodata 100992 101048 56 0.1
text 629884 629984 100 0.0
nrf52840dongle_nrf52840 (read/write) 990599 991071 472 0.0
bss 122128 122440 312 0.3
rodata 113296 113352 56 0.0
text 666728 666828 100 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 849778 850238 460 0.1
bss 116072 116384 312 0.3
rodata 101716 101776 60 0.1
text 551452 551552 100 0.0
lock-app nrf52840dk_nrf52840 (read/write) 912195 912651 456 0.0
bss 118472 118784 312 0.3
rodata 103816 103872 56 0.1
text 612524 612624 100 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 822230 822718 488 0.1
bss 115288 115600 312 0.3
rodata 97040 97096 56 0.1
text 529484 529584 100 0.0
pump-app nrf52840dk_nrf52840 (read/write) 913487 913963 476 0.1
bss 118232 118544 312 0.3
rodata 104028 104088 60 0.1
text 613784 613884 100 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 910275 910763 488 0.1
bss 118260 118572 312 0.3
rodata 103288 103344 56 0.1
text 611272 611372 100 0.0
p6 all-clusters-app default (read/write) 2400272 2400512 240 0.0
.bss 117148 117460 312 0.3
.text 1358536 1358776 240 0.0
light-app default (read/write) 2325968 2326232 264 0.0
.bss 105728 106040 312 0.3
.text 1284232 1284496 264 0.0
lock-app default (read/write) 2298200 2298464 264 0.0
.bss 104608 104920 312 0.3
.text 1256464 1256728 264 0.0
qpg lighting-app qpg6105+debug (read only) 535004 535100 96 0.0
.bss 89024 89336 312 0.4
.text 529684 529780 96 0.0
lock-app qpg6105+debug (read only) 506908 507008 100 0.0
.bss 88160 88472 312 0.4
.text 501588 501688 100 0.0
telink lighting-app tlsr9518adk80d (read/write) 836510 837062 552 0.1
bss 86976 87288 312 0.4
text 584166 584334 168 0.0
Full report (32 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 6bb25d5 1ace624 change % change
efr32 lighting-app BRD4161A (read only) 831200 831456 256 0.0
(read/write) 127300 127612 312 0.2
.bss 125420 125732 312 0.2
.data 1880 1880 0 0.0
.text 831192 831448 256 0.0
BRD4161A+rpc (read only) 818604 818852 248 0.0
(read/write) 143960 144272 312 0.2
.bss 141980 142292 312 0.2
.data 1980 1980 0 0.0
.text 818596 818844 248 0.0
window-app BRD4161A (read only) 805096 805336 240 0.0
(read/write) 126008 126320 312 0.2
.bss 124168 124480 312 0.3
.data 1836 1836 0 0.0
.text 805088 805328 240 0.0
esp32 all-clusters-app c3devkit (read only) 908440 908600 160 0.0
(read/write) 1316058 1316426 368 0.0
.dram0.bss 70176 70488 312 0.4
.dram0.data 14284 14284 0 0.0
.flash.rodata 178112 178160 48 0.0
.flash.text 908440 908600 160 0.0
.iram0.text 62056 62056 0 0.0
m5stack (read only) 957187 957303 116 0.0
(read/write) 448216 448576 360 0.1
.dram0.bss 74640 74952 312 0.4
.dram0.data 34064 34064 0 0.0
.flash.rodata 207384 207432 48 0.0
.flash.text 951803 951919 116 0.0
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 656952 657384 432 0.1
.bss 76824 77136 312 0.4
.data 1852 1852 0 0.0
.text 572476 572596 120 0.0
lock k32w061+release (read/write) 661252 661668 416 0.1
.bss 77120 77432 312 0.4
.data 1872 1872 0 0.0
.text 576460 576564 104 0.0
linux chip-tool-ipv6only arm64 (read only) 7215212 7216412 1200 0.0
(read/write) 345921 346289 368 0.1
.bss 54865 55217 352 0.6
.data 1096 1096 0 0.0
.data.rel.ro 227824 227824 0 0.0
.dynamic 560 560 0 0.0
.got 58440 58448 8 0.0
.init 24 24 0 0.0
.init_array 168 168 0 0.0
.rodata 392436 392548 112 0.0
.text 6089508 6090564 1056 0.0
thermostat-no-ble arm64 (read only) 2039628 2040908 1280 0.1
(read/write) 145617 145969 352 0.2
.bss 64737 65089 352 0.5
.data 880 880 0 0.0
.data.rel.ro 73016 73016 0 0.0
.dynamic 560 560 0 0.0
.got 4040 4048 8 0.2
.init 24 24 0 0.0
.init_array 304 304 0 0.0
.rodata 129756 129868 112 0.1
.text 1695312 1696448 1136 0.1
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2346192 2346360 168 0.0
.bss 188876 189188 312 0.2
.data 5320 5320 0 0.0
.text 1308768 1308936 168 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2331160 2331392 232 0.0
.bss 180416 180728 312 0.2
.data 5552 5552 0 0.0
.text 1293760 1293992 232 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2304384 2304552 168 0.0
.bss 179456 179768 312 0.2
.data 5544 5544 0 0.0
.text 1266984 1267152 168 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139712 1139712 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103096 103096 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2054392 2054392 0 0.0
.bss 156876 156876 0 0.0
.data 4864 4864 0 0.0
.text 1016992 1016992 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 939923 940411 488 0.1
bss 119284 119596 312 0.3
rodata 108544 108600 56 0.1
text 634532 634632 100 0.0
nrf52840dk_nrf52840+rpc (read/write) 925387 925843 456 0.0
bss 116328 116640 312 0.3
rodata 100992 101048 56 0.1
text 629884 629984 100 0.0
nrf52840dongle_nrf52840 (read/write) 990599 991071 472 0.0
bss 122128 122440 312 0.3
rodata 113296 113352 56 0.0
text 666728 666828 100 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 849778 850238 460 0.1
bss 116072 116384 312 0.3
rodata 101716 101776 60 0.1
text 551452 551552 100 0.0
lock-app nrf52840dk_nrf52840 (read/write) 912195 912651 456 0.0
bss 118472 118784 312 0.3
rodata 103816 103872 56 0.1
text 612524 612624 100 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 822230 822718 488 0.1
bss 115288 115600 312 0.3
rodata 97040 97096 56 0.1
text 529484 529584 100 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 541835 541835 0 0.0
bss 52588 52588 0 0.0
rodata 50104 50104 0 0.0
text 376940 376940 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 913487 913963 476 0.1
bss 118232 118544 312 0.3
rodata 104028 104088 60 0.1
text 613784 613884 100 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 910275 910763 488 0.1
bss 118260 118572 312 0.3
rodata 103288 103344 56 0.1
text 611272 611372 100 0.0
shell nrf52840dk_nrf52840 (read/write) 798627 798627 0 0.0
bss 109776 109776 0 0.0
rodata 78376 78376 0 0.0
text 533968 533968 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 711446 711446 0 0.0
bss 107664 107664 0 0.0
rodata 72680 72680 0 0.0
text 451648 451648 0 0.0
p6 all-clusters-app default (read/write) 2400272 2400512 240 0.0
.bss 117148 117460 312 0.3
.data 2592 2592 0 0.0
.text 1358536 1358776 240 0.0
light-app default (read/write) 2325968 2326232 264 0.0
.bss 105728 106040 312 0.3
.data 2384 2384 0 0.0
.text 1284232 1284496 264 0.0
lock-app default (read/write) 2298200 2298464 264 0.0
.bss 104608 104920 312 0.3
.data 2344 2344 0 0.0
.text 1256464 1256728 264 0.0
qpg lighting-app qpg6105+debug (read only) 535004 535100 96 0.0
(read/write) 146940 146940 0 0.0
.bss 89024 89336 312 0.4
.data 1008 1008 0 0.0
.text 529684 529780 96 0.0
lock-app qpg6105+debug (read only) 506908 507008 100 0.0
(read/write) 146936 146936 0 0.0
.bss 88160 88472 312 0.4
.data 956 956 0 0.0
.text 501588 501688 100 0.0
persistent-storage-app qpg6105+debug (read only) 106848 106848 0 0.0
(read/write) 146940 146940 0 0.0
.bss 38504 38504 0 0.0
.data 288 288 0 0.0
.text 101528 101528 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 836510 837062 552 0.1
bss 86976 87288 312 0.4
noinit 37160 37160 0 0.0
text 584166 584334 168 0.0

@yunhanw-google yunhanw-google merged commit 8e43cab into project-chip:master Jan 13, 2022
selissia pushed a commit to selissia/connectedhomeip that referenced this pull request Jan 28, 2022
step0035 pushed a commit to hank820/connectedhomeip that referenced this pull request Feb 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants