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

[binding] Reduce binding manager size #14303

Merged

Conversation

gjc13
Copy link
Contributor

@gjc13 gjc13 commented Jan 26, 2022

Problem

The BindingManger class consumes about 1KB of RAM.

Change overview

The PR stores the pending notifications as a flat array of binding table indecies. The RAM usage is reduced to about 250 bytes.

Testing

Build all-cluster-app with gn args chip_build_libshell=true
Run two linux all-cluster-app in different docker containers or ip namespaces.

chip-tool pairing ethernet 1 20202021 3840 172.17.0.2 5540
chip-tool pairing ethernet 2 20202021 3840 172.17.0.3 5540
chip-tool binding bind 1 0 1 6 2 1

Now in the second device's shell:

> switch on
> switch off

@github-actions
Copy link

github-actions bot commented Jan 26, 2022

PR #14303: Size comparison from c0e4d7d to c809017

Increases (5 builds for esp32, linux, mbed, p6)
platform target config section c0e4d7d c809017 change % change
esp32 all-clusters-app c3devkit (read only) 921048 921470 422 0.0
.flash.rodata 180632 180664 32 0.0
.flash.text 921048 921470 422 0.0
m5stack (read only) 970015 970319 304 0.0
.flash.rodata 209920 209952 32 0.0
.flash.text 964631 964935 304 0.0
linux thermostat-no-ble arm64 .rodata 131396 131428 32 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2355000 2355408 408 0.0
.text 1317600 1318008 408 0.0
p6 all-clusters-app default (read/write) 2414912 2415440 528 0.0
.text 1373176 1373704 528 0.0
Decreases (8 builds for esp32, linux, mbed, p6, telink)
platform target config section c0e4d7d c809017 change % change
esp32 all-clusters-app c3devkit (read/write) 1384650 1384058 -592 -0.0
.dram0.bss 70840 70224 -616 -0.9
m5stack (read/write) 451664 451080 -584 -0.1
.dram0.bss 75584 74968 -616 -0.8
linux thermostat-no-ble arm64 (read only) 2059236 2058932 -304 -0.0
(read/write) 147473 146721 -752 -0.5
.bss 65857 65105 -752 -1.1
.text 1712048 1711712 -336 -0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release .bss 189548 188932 -616 -0.3
lighting-app CY8CPROTO_062_4343W+release (read/write) 2340992 2340928 -64 -0.0
.bss 181072 180456 -616 -0.3
.text 1303592 1303528 -64 -0.0
lock-app CY8CPROTO_062_4343W+release .bss 180968 180352 -616 -0.3
p6 all-clusters-app default .bss 117892 117276 -616 -0.5
telink lighting-app tlsr9518adk80d (read/write) 847910 847246 -664 -0.1
bss 87608 86992 -616 -0.7
text 592750 592714 -36 -0.0
Full report (29 builds for cyw30739, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section c0e4d7d c809017 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 580050 580050 0 0.0
.app_xip_area 484972 484972 0 0.0
.bss 77824 77824 0 0.0
.data 596 596 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
esp32 all-clusters-app c3devkit (read only) 921048 921470 422 0.0
(read/write) 1384650 1384058 -592 -0.0
.dram0.bss 70840 70224 -616 -0.9
.dram0.data 14244 14244 0 0.0
.flash.rodata 180632 180664 32 0.0
.flash.text 921048 921470 422 0.0
.iram0.text 62056 62056 0 0.0
m5stack (read only) 970015 970319 304 0.0
(read/write) 451664 451080 -584 -0.1
.dram0.bss 75584 74968 -616 -0.8
.dram0.data 34032 34032 0 0.0
.flash.rodata 209920 209952 32 0.0
.flash.text 964631 964935 304 0.0
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 664844 664844 0 0.0
.bss 77596 77596 0 0.0
.data 1868 1868 0 0.0
.text 579580 579580 0 0.0
lock k32w061+release (read/write) 665840 665840 0 0.0
.bss 77860 77860 0 0.0
.data 1892 1892 0 0.0
.text 580288 580288 0 0.0
linux chip-tool-ipv6only arm64 (read only) 8900396 8900396 0 0.0
(read/write) 394561 394561 0 0.0
.bss 56289 56289 0 0.0
.data 1128 1128 0 0.0
.data.rel.ro 263688 263688 0 0.0
.dynamic 560 560 0 0.0
.got 69704 69704 0 0.0
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 542916 542916 0 0.0
.text 7510532 7510532 0 0.0
thermostat-no-ble arm64 (read only) 2059236 2058932 -304 -0.0
(read/write) 147473 146721 -752 -0.5
.bss 65857 65105 -752 -1.1
.data 904 904 0 0.0
.data.rel.ro 73648 73648 0 0.0
.dynamic 560 560 0 0.0
.got 4112 4112 0 0.0
.init 24 24 0 0.0
.init_array 320 320 0 0.0
.rodata 131396 131428 32 0.0
.text 1712048 1711712 -336 -0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2355000 2355408 408 0.0
.bss 189548 188932 -616 -0.3
.data 5296 5296 0 0.0
.text 1317600 1318008 408 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2340992 2340928 -64 -0.0
.bss 181072 180456 -616 -0.3
.data 5584 5584 0 0.0
.text 1303592 1303528 -64 -0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2307736 2307736 0 0.0
.bss 180968 180352 -616 -0.3
.data 5568 5568 0 0.0
.text 1270336 1270336 0 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) 2293900 2293900 0 0.0
.bss 177700 177700 0 0.0
.data 5384 5384 0 0.0
.text 1256472 1256472 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 983315 983315 0 0.0
bss 120828 120828 0 0.0
rodata 116408 116408 0 0.0
text 668284 668284 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 967175 967175 0 0.0
bss 117872 117872 0 0.0
rodata 107940 107940 0 0.0
text 662956 662956 0 0.0
nrf52840dongle_nrf52840 (read/write) 999499 999499 0 0.0
bss 122000 122000 0 0.0
rodata 115292 115292 0 0.0
text 673744 673744 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 892518 892518 0 0.0
bss 117616 117616 0 0.0
rodata 109704 109704 0 0.0
text 584464 584464 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 915991 915991 0 0.0
bss 119208 119208 0 0.0
rodata 105076 105076 0 0.0
text 614308 614308 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 826030 826030 0 0.0
bss 116024 116024 0 0.0
rodata 98304 98304 0 0.0
text 531260 531260 0 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) 918667 918667 0 0.0
bss 118952 118952 0 0.0
rodata 105464 105464 0 0.0
text 616772 616772 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 913835 913835 0 0.0
bss 118980 118980 0 0.0
rodata 104568 104568 0 0.0
text 612804 612804 0 0.0
shell nrf52840dk_nrf52840 (read/write) 798219 798219 0 0.0
bss 109776 109776 0 0.0
rodata 78288 78288 0 0.0
text 533652 533652 0 0.0
p6 all-clusters-app default (read/write) 2414912 2415440 528 0.0
.bss 117892 117276 -616 -0.5
.data 2584 2584 0 0.0
.text 1373176 1373704 528 0.0
light-app default (read/write) 2338392 2338392 0 0.0
.bss 105652 105652 0 0.0
.data 2408 2408 0 0.0
.text 1296656 1296656 0 0.0
lock-app default (read/write) 2303928 2303928 0 0.0
.bss 105396 105396 0 0.0
.data 2360 2360 0 0.0
.text 1262192 1262192 0 0.0
qpg lighting-app qpg6105+debug (read only) 571684 571684 0 0.0
(read/write) 146936 146936 0 0.0
.bss 89808 89808 0 0.0
.data 1060 1060 0 0.0
.text 566364 566364 0 0.0
lock-app qpg6105+debug (read only) 517876 517876 0 0.0
(read/write) 146940 146940 0 0.0
.bss 89280 89280 0 0.0
.data 992 992 0 0.0
.text 512556 512556 0 0.0
persistent-storage-app qpg6105+debug (read only) 107140 107140 0 0.0
(read/write) 146940 146940 0 0.0
.bss 38504 38504 0 0.0
.data 288 288 0 0.0
.text 101820 101820 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 847910 847246 -664 -0.1
bss 87608 86992 -616 -0.7
noinit 37160 37160 0 0.0
text 592750 592714 -36 -0.0

@woody-apple
Copy link
Contributor

/rebase

1 similar comment
@woody-apple
Copy link
Contributor

/rebase

@github-actions
Copy link

github-actions bot commented Jan 26, 2022

PR #14303: Size comparison from 3bd289d to b6e5b85

Increases (5 builds for esp32, linux, mbed, p6)
platform target config section 3bd289d b6e5b85 change % change
esp32 all-clusters-app c3devkit (read only) 921116 921538 422 0.0
.flash.rodata 180672 180704 32 0.0
.flash.text 921116 921538 422 0.0
m5stack (read only) 970111 970415 304 0.0
.flash.rodata 209968 210000 32 0.0
.flash.text 964727 965031 304 0.0
linux thermostat-no-ble arm64 .rodata 131428 131460 32 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2355056 2355464 408 0.0
.text 1317656 1318064 408 0.0
p6 all-clusters-app default (read/write) 2415424 2415952 528 0.0
.text 1373688 1374216 528 0.0
Decreases (8 builds for esp32, linux, mbed, p6, telink)
platform target config section 3bd289d b6e5b85 change % change
esp32 all-clusters-app c3devkit (read/write) 1384722 1384130 -592 -0.0
.dram0.bss 70872 70256 -616 -0.9
m5stack (read/write) 451744 451160 -584 -0.1
.dram0.bss 75616 75000 -616 -0.8
linux thermostat-no-ble arm64 (read only) 2061828 2061524 -304 -0.0
(read/write) 148113 147361 -752 -0.5
.bss 66417 65665 -752 -1.1
.text 1714416 1714080 -336 -0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release .bss 189580 188964 -616 -0.3
lighting-app CY8CPROTO_062_4343W+release (read/write) 2341048 2340984 -64 -0.0
.bss 181104 180488 -616 -0.3
.text 1303648 1303584 -64 -0.0
lock-app CY8CPROTO_062_4343W+release .bss 181000 180384 -616 -0.3
p6 all-clusters-app default .bss 117924 117308 -616 -0.5
telink lighting-app tlsr9518adk80d (read/write) 848046 847390 -656 -0.1
bss 87640 87024 -616 -0.7
text 592818 592782 -36 -0.0
Full report (32 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 3bd289d b6e5b85 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 580330 580330 0 0.0
.app_xip_area 485224 485224 0 0.0
.bss 77852 77852 0 0.0
.data 596 596 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
efr32 lighting-app BRD4161A (read only) 843316 843316 0 0.0
(read/write) 127396 127396 0 0.0
.bss 125496 125496 0 0.0
.data 1900 1900 0 0.0
.text 843308 843308 0 0.0
BRD4161A+rpc (read only) 830672 830672 0 0.0
(read/write) 144056 144056 0 0.0
.bss 142056 142056 0 0.0
.data 2000 2000 0 0.0
.text 830664 830664 0 0.0
window-app BRD4161A (read only) 815948 815948 0 0.0
(read/write) 126052 126052 0 0.0
.bss 124196 124196 0 0.0
.data 1856 1856 0 0.0
.text 815940 815940 0 0.0
esp32 all-clusters-app c3devkit (read only) 921116 921538 422 0.0
(read/write) 1384722 1384130 -592 -0.0
.dram0.bss 70872 70256 -616 -0.9
.dram0.data 14244 14244 0 0.0
.flash.rodata 180672 180704 32 0.0
.flash.text 921116 921538 422 0.0
.iram0.text 62056 62056 0 0.0
m5stack (read only) 970111 970415 304 0.0
(read/write) 451744 451160 -584 -0.1
.dram0.bss 75616 75000 -616 -0.8
.dram0.data 34032 34032 0 0.0
.flash.rodata 209968 210000 32 0.0
.flash.text 964727 965031 304 0.0
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 665192 665192 0 0.0
.bss 77628 77628 0 0.0
.data 1868 1868 0 0.0
.text 579896 579896 0 0.0
lock k32w061+release (read/write) 666080 666080 0 0.0
.bss 77892 77892 0 0.0
.data 1892 1892 0 0.0
.text 580496 580496 0 0.0
linux chip-tool-ipv6only arm64 (read only) 8904716 8904716 0 0.0
(read/write) 393649 393649 0 0.0
.bss 55377 55377 0 0.0
.data 1128 1128 0 0.0
.data.rel.ro 263656 263656 0 0.0
.dynamic 560 560 0 0.0
.got 69728 69728 0 0.0
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 542916 542916 0 0.0
.text 7514868 7514868 0 0.0
thermostat-no-ble arm64 (read only) 2061828 2061524 -304 -0.0
(read/write) 148113 147361 -752 -0.5
.bss 66417 65665 -752 -1.1
.data 904 904 0 0.0
.data.rel.ro 73712 73712 0 0.0
.dynamic 560 560 0 0.0
.got 4128 4128 0 0.0
.init 24 24 0 0.0
.init_array 320 320 0 0.0
.rodata 131428 131460 32 0.0
.text 1714416 1714080 -336 -0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2355056 2355464 408 0.0
.bss 189580 188964 -616 -0.3
.data 5296 5296 0 0.0
.text 1317656 1318064 408 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2341048 2340984 -64 -0.0
.bss 181104 180488 -616 -0.3
.data 5584 5584 0 0.0
.text 1303648 1303584 -64 -0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2307792 2307792 0 0.0
.bss 181000 180384 -616 -0.3
.data 5568 5568 0 0.0
.text 1270392 1270392 0 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) 2294060 2294060 0 0.0
.bss 177732 177732 0 0.0
.data 5384 5384 0 0.0
.text 1256632 1256632 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 983643 983643 0 0.0
bss 120860 120860 0 0.0
rodata 116480 116480 0 0.0
text 668512 668512 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 967507 967507 0 0.0
bss 117904 117904 0 0.0
rodata 108016 108016 0 0.0
text 663184 663184 0 0.0
nrf52840dongle_nrf52840 (read/write) 999731 999731 0 0.0
bss 122032 122032 0 0.0
rodata 115332 115332 0 0.0
text 673900 673900 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 892866 892866 0 0.0
bss 117648 117648 0 0.0
rodata 109780 109780 0 0.0
text 584692 584692 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 916227 916227 0 0.0
bss 119240 119240 0 0.0
rodata 105120 105120 0 0.0
text 614460 614460 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 826246 826246 0 0.0
bss 116056 116056 0 0.0
rodata 98344 98344 0 0.0
text 531412 531412 0 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) 918883 918883 0 0.0
bss 118984 118984 0 0.0
rodata 105504 105504 0 0.0
text 616924 616924 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 914067 914067 0 0.0
bss 119012 119012 0 0.0
rodata 104608 104608 0 0.0
text 612956 612956 0 0.0
shell nrf52840dk_nrf52840 (read/write) 798219 798219 0 0.0
bss 109776 109776 0 0.0
rodata 78288 78288 0 0.0
text 533652 533652 0 0.0
p6 all-clusters-app default (read/write) 2415424 2415952 528 0.0
.bss 117924 117308 -616 -0.5
.data 2584 2584 0 0.0
.text 1373688 1374216 528 0.0
light-app default (read/write) 2338904 2338904 0 0.0
.bss 105684 105684 0 0.0
.data 2408 2408 0 0.0
.text 1297168 1297168 0 0.0
lock-app default (read/write) 2304440 2304440 0 0.0
.bss 105428 105428 0 0.0
.data 2360 2360 0 0.0
.text 1262704 1262704 0 0.0
qpg lighting-app qpg6105+debug (read only) 571964 571964 0 0.0
(read/write) 146936 146936 0 0.0
.bss 89840 89840 0 0.0
.data 1060 1060 0 0.0
.text 566644 566644 0 0.0
lock-app qpg6105+debug (read only) 518060 518060 0 0.0
(read/write) 146940 146940 0 0.0
.bss 89312 89312 0 0.0
.data 992 992 0 0.0
.text 512740 512740 0 0.0
persistent-storage-app qpg6105+debug (read only) 107140 107140 0 0.0
(read/write) 146940 146940 0 0.0
.bss 38504 38504 0 0.0
.data 288 288 0 0.0
.text 101820 101820 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 848046 847390 -656 -0.1
bss 87640 87024 -616 -0.7
noinit 37160 37160 0 0.0
text 592818 592782 -36 -0.0

src/app/clusters/bindings/BindingManager.cpp Outdated Show resolved Hide resolved
src/app/clusters/bindings/BindingManager.cpp Outdated Show resolved Hide resolved
src/app/clusters/bindings/BindingManager.cpp Outdated Show resolved Hide resolved
src/app/clusters/bindings/BindingManager.cpp Show resolved Hide resolved
src/app/clusters/bindings/BindingManager.h Outdated Show resolved Hide resolved
src/app/clusters/bindings/PendingNotificationMap.cpp Outdated Show resolved Hide resolved
src/app/clusters/bindings/PendingNotificationMap.cpp Outdated Show resolved Hide resolved
@gjc13 gjc13 force-pushed the reduce-binding-manager-size branch from b6e5b85 to 5ff4f87 Compare January 27, 2022 10:04
The PR stores the pending notifications as a flat array of binding table
indecies to recude the size of the BindingManager class.
@github-actions
Copy link

github-actions bot commented Jan 27, 2022

PR #14303: Size comparison from 271f275 to d3e13e2

Increases (8 builds for esp32, linux, mbed, p6, telink)
platform target config section 271f275 d3e13e2 change % change
esp32 all-clusters-app c3devkit (read only) 923298 923464 166 0.0
.flash.rodata 180936 180968 32 0.0
.flash.text 923298 923464 166 0.0
m5stack (read only) 972227 972327 100 0.0
.flash.rodata 210232 210264 32 0.0
.flash.text 966843 966943 100 0.0
linux thermostat-no-ble arm64 .rodata 131940 132084 144 0.1
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2357384 2357536 152 0.0
.text 1319984 1320136 152 0.0
lighting-app CY8CPROTO_062_4343W+release (read/write) 2341088 2341152 64 0.0
.text 1303688 1303752 64 0.0
lock-app CY8CPROTO_062_4343W+release (read/write) 2307840 2307904 64 0.0
.text 1270440 1270504 64 0.0
p6 all-clusters-app default (read/write) 2418240 2418352 112 0.0
.text 1376504 1376616 112 0.0
telink lighting-app tlsr9518adk80d text 592932 593038 106 0.0
Decreases (8 builds for esp32, linux, mbed, p6, telink)
platform target config section 271f275 d3e13e2 change % change
esp32 all-clusters-app c3devkit (read/write) 1384986 1384410 -576 -0.0
.dram0.bss 70880 70264 -616 -0.9
m5stack (read/write) 452016 451432 -584 -0.1
.dram0.bss 75624 75008 -616 -0.8
linux thermostat-no-ble arm64 (read only) 2082804 2082404 -400 -0.0
(read/write) 151873 151121 -752 -0.5
.bss 69585 68833 -752 -1.1
.text 1733616 1733072 -544 -0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release .bss 189588 188972 -616 -0.3
lighting-app CY8CPROTO_062_4343W+release .bss 181104 180488 -616 -0.3
lock-app CY8CPROTO_062_4343W+release .bss 181000 180384 -616 -0.3
p6 all-clusters-app default .bss 117932 117316 -616 -0.5
telink lighting-app tlsr9518adk80d (read/write) 848158 847646 -512 -0.1
bss 87640 87024 -616 -0.7
Full report (33 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 271f275 d3e13e2 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 580442 580442 0 0.0
.app_xip_area 485336 485336 0 0.0
.bss 77852 77852 0 0.0
.data 596 596 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock-app CYW30739 (read/write) 538446 538446 0 0.0
.app_xip_area 444884 444884 0 0.0
.bss 76348 76348 0 0.0
.data 560 560 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
efr32 lighting-app BRD4161A (read only) 843492 843492 0 0.0
(read/write) 127396 127396 0 0.0
.bss 125496 125496 0 0.0
.data 1900 1900 0 0.0
.text 843484 843484 0 0.0
BRD4161A+rpc (read only) 830864 830864 0 0.0
(read/write) 144056 144056 0 0.0
.bss 142056 142056 0 0.0
.data 2000 2000 0 0.0
.text 830856 830856 0 0.0
window-app BRD4161A (read only) 816108 816108 0 0.0
(read/write) 126052 126052 0 0.0
.bss 124196 124196 0 0.0
.data 1856 1856 0 0.0
.text 816100 816100 0 0.0
esp32 all-clusters-app c3devkit (read only) 923298 923464 166 0.0
(read/write) 1384986 1384410 -576 -0.0
.dram0.bss 70880 70264 -616 -0.9
.dram0.data 14252 14252 0 0.0
.flash.rodata 180936 180968 32 0.0
.flash.text 923298 923464 166 0.0
.iram0.text 62056 62056 0 0.0
m5stack (read only) 972227 972327 100 0.0
(read/write) 452016 451432 -584 -0.1
.dram0.bss 75624 75008 -616 -0.8
.dram0.data 34032 34032 0 0.0
.flash.rodata 210232 210264 32 0.0
.flash.text 966843 966943 100 0.0
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 665224 665224 0 0.0
.bss 77628 77628 0 0.0
.data 1868 1868 0 0.0
.text 579928 579928 0 0.0
lock k32w061+release (read/write) 666192 666192 0 0.0
.bss 77892 77892 0 0.0
.data 1892 1892 0 0.0
.text 580608 580608 0 0.0
linux chip-tool-ipv6only arm64 (read only) 8935692 8935692 0 0.0
(read/write) 394801 394801 0 0.0
.bss 55377 55377 0 0.0
.data 1128 1128 0 0.0
.data.rel.ro 264512 264512 0 0.0
.dynamic 560 560 0 0.0
.got 70024 70024 0 0.0
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 544356 544356 0 0.0
.text 7541700 7541700 0 0.0
thermostat-no-ble arm64 (read only) 2082804 2082404 -400 -0.0
(read/write) 151873 151121 -752 -0.5
.bss 69585 68833 -752 -1.1
.data 960 960 0 0.0
.data.rel.ro 74208 74208 0 0.0
.dynamic 560 560 0 0.0
.got 4144 4144 0 0.0
.init 24 24 0 0.0
.init_array 336 336 0 0.0
.rodata 131940 132084 144 0.1
.text 1733616 1733072 -544 -0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2357384 2357536 152 0.0
.bss 189588 188972 -616 -0.3
.data 5296 5296 0 0.0
.text 1319984 1320136 152 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2341088 2341152 64 0.0
.bss 181104 180488 -616 -0.3
.data 5584 5584 0 0.0
.text 1303688 1303752 64 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2307840 2307904 64 0.0
.bss 181000 180384 -616 -0.3
.data 5568 5568 0 0.0
.text 1270440 1270504 64 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) 2294044 2294044 0 0.0
.bss 177732 177732 0 0.0
.data 5384 5384 0 0.0
.text 1256616 1256616 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 983707 983707 0 0.0
bss 120860 120860 0 0.0
rodata 116480 116480 0 0.0
text 668576 668576 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 967571 967571 0 0.0
bss 117904 117904 0 0.0
rodata 108016 108016 0 0.0
text 663248 663248 0 0.0
nrf52840dongle_nrf52840 (read/write) 999827 999827 0 0.0
bss 122032 122032 0 0.0
rodata 115332 115332 0 0.0
text 674004 674004 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 892930 892930 0 0.0
bss 117648 117648 0 0.0
rodata 109780 109780 0 0.0
text 584756 584756 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 916323 916323 0 0.0
bss 119240 119240 0 0.0
rodata 105120 105120 0 0.0
text 614560 614560 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 826358 826358 0 0.0
bss 116056 116056 0 0.0
rodata 98344 98344 0 0.0
text 531512 531512 0 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) 919187 919187 0 0.0
bss 118992 118992 0 0.0
rodata 105632 105632 0 0.0
text 617096 617096 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 914371 914371 0 0.0
bss 119016 119016 0 0.0
rodata 104736 104736 0 0.0
text 613132 613132 0 0.0
shell nrf52840dk_nrf52840 (read/write) 798203 798203 0 0.0
bss 109776 109776 0 0.0
rodata 78288 78288 0 0.0
text 533640 533640 0 0.0
p6 all-clusters-app default (read/write) 2418240 2418352 112 0.0
.bss 117932 117316 -616 -0.5
.data 2592 2592 0 0.0
.text 1376504 1376616 112 0.0
light-app default (read/write) 2339064 2339064 0 0.0
.bss 105684 105684 0 0.0
.data 2408 2408 0 0.0
.text 1297328 1297328 0 0.0
lock-app default (read/write) 2304584 2304584 0 0.0
.bss 105428 105428 0 0.0
.data 2360 2360 0 0.0
.text 1262848 1262848 0 0.0
qpg lighting-app qpg6105+debug (read only) 572036 572036 0 0.0
(read/write) 146936 146936 0 0.0
.bss 89840 89840 0 0.0
.data 1060 1060 0 0.0
.text 566716 566716 0 0.0
lock-app qpg6105+debug (read only) 518164 518164 0 0.0
(read/write) 146940 146940 0 0.0
.bss 89312 89312 0 0.0
.data 992 992 0 0.0
.text 512844 512844 0 0.0
persistent-storage-app qpg6105+debug (read only) 107140 107140 0 0.0
(read/write) 146940 146940 0 0.0
.bss 38504 38504 0 0.0
.data 288 288 0 0.0
.text 101820 101820 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 848158 847646 -512 -0.1
bss 87640 87024 -616 -0.7
noinit 37160 37160 0 0.0
text 592932 593038 106 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.

Will need substantial changes and re-review once #14487 merges.

@gjc13
Copy link
Contributor Author

gjc13 commented Feb 7, 2022

@bzbarsky-apple Merged latest master and comments resolved.

@github-actions
Copy link

github-actions bot commented Feb 7, 2022

PR #14303: Size comparison from 0f7be8b to 020f7f1

Increases (5 builds for esp32, linux, mbed, telink)
platform target config section 0f7be8b 020f7f1 change % change
esp32 all-clusters-app c3devkit (read only) 936986 937076 90 0.0
.flash.rodata 198000 198032 32 0.0
.flash.text 936986 937076 90 0.0
m5stack (read only) 984975 985023 48 0.0
.flash.rodata 224608 224640 32 0.0
.flash.text 979591 979639 48 0.0
linux thermostat-no-ble arm64 (read/write) 140561 140625 64 0.0
.bss 57601 57665 64 0.1
.rodata 131412 131556 144 0.1
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2389192 2389280 88 0.0
.text 1351792 1351880 88 0.0
telink lighting-app tlsr9518adk80d text 602176 602218 42 0.0
Decreases (6 builds for esp32, linux, mbed, p6, telink)
platform target config section 0f7be8b 020f7f1 change % change
esp32 all-clusters-app c3devkit (read/write) 1401242 1400666 -576 -0.0
.dram0.bss 70064 69448 -616 -0.9
m5stack (read/write) 465592 465008 -584 -0.1
.dram0.bss 74816 74200 -616 -0.8
linux thermostat-no-ble arm64 (read only) 2127300 2126372 -928 -0.0
.text 1777936 1776864 -1072 -0.1
mbed all-clusters-app CY8CPROTO_062_4343W+release .bss 188972 188356 -616 -0.3
p6 all-clusters-app default (read/write) 2450304 2450288 -16 -0.0
.bss 117128 116512 -616 -0.5
.text 1408568 1408552 -16 -0.0
telink lighting-app tlsr9518adk80d (read/write) 859102 858542 -560 -0.1
bss 88332 87716 -616 -0.7
Full report (34 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 0f7be8b 020f7f1 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 587670 587670 0 0.0
.app_xip_area 494404 494404 0 0.0
.bss 75988 75988 0 0.0
.data 624 624 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 545586 545586 0 0.0
.app_xip_area 453880 453880 0 0.0
.bss 74460 74460 0 0.0
.data 588 588 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor cyw930739m2evb_01 (read/write) 570010 570010 0 0.0
.app_xip_area 468984 468984 0 0.0
.bss 83452 83452 0 0.0
.data 532 532 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 857496 857496 0 0.0
(read/write) 125744 125744 0 0.0
.bss 123816 123816 0 0.0
.data 1924 1924 0 0.0
.text 857488 857488 0 0.0
BRD4161A+rpc (read only) 844848 844848 0 0.0
(read/write) 142400 142400 0 0.0
.bss 140376 140376 0 0.0
.data 2024 2024 0 0.0
.text 844840 844840 0 0.0
window-app BRD4161A (read only) 829732 829732 0 0.0
(read/write) 124384 124384 0 0.0
.bss 122504 122504 0 0.0
.data 1880 1880 0 0.0
.text 829724 829724 0 0.0
esp32 all-clusters-app c3devkit (read only) 936986 937076 90 0.0
(read/write) 1401242 1400666 -576 -0.0
.dram0.bss 70064 69448 -616 -0.9
.dram0.data 14276 14276 0 0.0
.flash.rodata 198000 198032 32 0.0
.flash.text 936986 937076 90 0.0
.iram0.text 62056 62056 0 0.0
m5stack (read only) 984975 985023 48 0.0
(read/write) 465592 465008 -584 -0.1
.dram0.bss 74816 74200 -616 -0.8
.dram0.data 34040 34040 0 0.0
.flash.rodata 224608 224640 32 0.0
.flash.text 979591 979639 48 0.0
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 672212 672212 0 0.0
.bss 75688 75688 0 0.0
.data 1884 1884 0 0.0
.text 588840 588840 0 0.0
lock k32w061+release (read/write) 673744 673744 0 0.0
.bss 76016 76016 0 0.0
.data 1924 1924 0 0.0
.text 590004 590004 0 0.0
linux chip-tool-ipv6only arm64 (read only) 7238916 7238916 0 0.0
(read/write) 287921 287921 0 0.0
.bss 50641 50641 0 0.0
.data 1176 1176 0 0.0
.data.rel.ro 186528 186528 0 0.0
.dynamic 560 560 0 0.0
.got 45784 45784 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 392812 392812 0 0.0
.text 6241268 6241268 0 0.0
thermostat-no-ble arm64 (read only) 2127300 2126372 -928 -0.0
(read/write) 140561 140625 64 0.0
.bss 57601 57665 64 0.1
.data 968 968 0 0.0
.data.rel.ro 74872 74872 0 0.0
.dynamic 560 560 0 0.0
.got 4152 4152 0 0.0
.init 24 24 0 0.0
.init_array 328 328 0 0.0
.rodata 131412 131556 144 0.1
.text 1777936 1776864 -1072 -0.1
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2389192 2389280 88 0.0
.bss 188972 188356 -616 -0.3
.data 5296 5296 0 0.0
.text 1351792 1351880 88 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2348448 2348448 0 0.0
.bss 180936 180936 0 0.0
.data 5600 5600 0 0.0
.text 1311048 1311048 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2312368 2312368 0 0.0
.bss 180824 180824 0 0.0
.data 5584 5584 0 0.0
.text 1274968 1274968 0 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) 2302708 2302708 0 0.0
.bss 178100 178100 0 0.0
.data 5400 5400 0 0.0
.text 1265280 1265280 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 998095 998095 0 0.0
bss 120404 120404 0 0.0
rodata 117308 117308 0 0.0
text 681464 681464 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 969451 969451 0 0.0
bss 116260 116260 0 0.0
rodata 108696 108696 0 0.0
text 666020 666020 0 0.0
nrf52840dongle_nrf52840 (read/write) 1014783 1014783 0 0.0
bss 121768 121768 0 0.0
rodata 116144 116144 0 0.0
text 686956 686956 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 904786 904786 0 0.0
bss 116964 116964 0 0.0
rodata 110564 110564 0 0.0
text 596472 596472 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 930235 930235 0 0.0
bss 118740 118740 0 0.0
rodata 105656 105656 0 0.0
text 627324 627324 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 837762 837762 0 0.0
bss 115336 115336 0 0.0
rodata 98828 98828 0 0.0
text 543108 543108 0 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 541779 541779 0 0.0
bss 52588 52588 0 0.0
rodata 50048 50048 0 0.0
text 376940 376940 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 932867 932867 0 0.0
bss 118492 118492 0 0.0
rodata 106128 106128 0 0.0
text 629660 629660 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 927807 927807 0 0.0
bss 118496 118496 0 0.0
rodata 105132 105132 0 0.0
text 625600 625600 0 0.0
shell nrf52840dk_nrf52840 (read/write) 802811 802811 0 0.0
bss 110968 110968 0 0.0
rodata 78480 78480 0 0.0
text 535792 535792 0 0.0
p6 all-clusters-app default (read/write) 2450304 2450288 -16 -0.0
.bss 117128 116512 -616 -0.5
.data 2584 2584 0 0.0
.text 1408568 1408552 -16 -0.0
light-app default (read/write) 2353736 2353736 0 0.0
.bss 106128 106128 0 0.0
.data 2432 2432 0 0.0
.text 1312000 1312000 0 0.0
lock-app default (read/write) 2318944 2318944 0 0.0
.bss 105848 105848 0 0.0
.data 2392 2392 0 0.0
.text 1277208 1277208 0 0.0
qpg lighting-app qpg6105+debug (read only) 580468 580468 0 0.0
(read/write) 146940 146940 0 0.0
.bss 87976 87976 0 0.0
.data 1088 1088 0 0.0
.text 575148 575148 0 0.0
lock-app qpg6105+debug (read only) 526548 526548 0 0.0
(read/write) 146940 146940 0 0.0
.bss 87424 87424 0 0.0
.data 1024 1024 0 0.0
.text 521228 521228 0 0.0
persistent-storage-app qpg6105+debug (read only) 107140 107140 0 0.0
(read/write) 146940 146940 0 0.0
.bss 38504 38504 0 0.0
.data 288 288 0 0.0
.text 101820 101820 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 859102 858542 -560 -0.1
bss 88332 87716 -616 -0.7
noinit 37160 37160 0 0.0
text 602176 602218 42 0.0

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.

4 participants