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

Update ZAP to tip. #11768

Merged

Conversation

bzbarsky-apple
Copy link
Contributor

Pulls in changes to make the default attribute storage for strings
depend on the actual string value, not the maximum size of the value.

Fixes #5927

Problem

Strings default values are huge.

Change overview

Make them be only as big as they need to be.

Testing

Verified by code inspection that we only read a length equal to the actual string length, so this change is safe.

Pulls in changes to make the default attribute storage for strings
depend on the actual string value, not the maximum size of the value.

Fixes project-chip#5927
@github-actions
Copy link

github-actions bot commented Nov 13, 2021

PR #11768: Size comparison from 507ba15 to afa85cc

Decreases (29 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 507ba15 afa85cc change % change
efr32 lighting-app BRD4161A (read only) 750088 749416 -672 -0.1
.text 750080 749408 -672 -0.1
BRD4161A+rpc (read only) 737636 736956 -680 -0.1
.text 737628 736948 -680 -0.1
lock-app BRD4161A (read only) 726752 726480 -272 -0.0
.text 726744 726472 -272 -0.0
window-app BRD4161A (read only) 727744 727472 -272 -0.0
.text 727736 727464 -272 -0.0
esp32 all-clusters-app c3devkit (read/write) 1224466 1220346 -4120 -0.3
.flash.rodata 168040 163920 -4120 -2.5
m5stack (read/write) 422624 418512 -4112 -1.0
.flash.rodata 195060 190948 -4112 -2.1
k32w lighting-app k32w061+se05x+release (read/write) 702540 701864 -676 -0.1
.text 617324 616648 -676 -0.1
lock-app k32w061+debug (read/write) 593548 593276 -272 -0.0
.text 517844 517572 -272 -0.1
shell k32w061+debug (read/write) 659232 658960 -272 -0.0
.text 572768 572496 -272 -0.0
linux all-clusters-app debug (read only) 1722337 1717353 -4984 -0.3
.rodata 140277 136181 -4096 -2.9
bridge-app debug+rpc (read only) 1312741 1312293 -448 -0.0
.rodata 111860 111604 -256 -0.2
lighting-app debug+rpc (read only) 1582281 1581297 -984 -0.1
.rodata 129841 129169 -672 -0.5
ota-requestor-app debug (read only) 1352009 1351953 -56 -0.0
.rodata 124208 124176 -32 -0.0
tv-app debug (read only) 1858569 1856881 -1688 -0.1
.rodata 157069 155981 -1088 -0.7
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2292200 2288088 -4112 -0.2
.text 1254800 1250688 -4112 -0.3
lighting-app CY8CPROTO_062_4343W+release (read/write) 2274688 2274016 -672 -0.0
.text 1237288 1236616 -672 -0.1
lock-app CY8CPROTO_062_4343W+release (read/write) 2250128 2249856 -272 -0.0
.text 1212728 1212456 -272 -0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 865175 864499 -676 -0.1
rodata 97080 96404 -676 -0.7
nrf52840dk_nrf52840+rpc (read/write) 827567 826891 -676 -0.1
rodata 88272 87596 -676 -0.8
nrf5340dk_nrf5340_cpuapp (read/write) 790234 789558 -676 -0.1
rodata 92340 91664 -676 -0.7
lock-app nrf52840dk_nrf52840 (read/write) 840199 839931 -268 -0.0
rodata 93144 92876 -268 -0.3
nrf5340dk_nrf5340_cpuapp (read/write) 765514 765242 -272 -0.0
rodata 88452 88180 -272 -0.3
pump-app nrf52840dk_nrf52840 (read/write) 846327 846055 -272 -0.0
rodata 94856 94584 -272 -0.3
pump-controller-app nrf52840dk_nrf52840 (read/write) 839903 839631 -272 -0.0
rodata 93104 92832 -272 -0.3
p6 all-clusters-app default (read/write) 2301232 2297120 -4112 -0.2
.text 1259496 1255384 -4112 -0.3
lock-app default (read/write) 2214704 2214432 -272 -0.0
.text 1172968 1172696 -272 -0.0
qpg lighting-app qpg6100+debug (read only) 494216 493540 -676 -0.1
.text 488896 488220 -676 -0.1
lock-app qpg6100+debug (read only) 468752 468480 -272 -0.1
.text 463432 463160 -272 -0.1
telink lighting-app tlsr9518adk80d (read/write) 667854 667178 -676 -0.1
Full report (38 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 507ba15 afa85cc change % change
efr32 lighting-app BRD4161A (read only) 750088 749416 -672 -0.1
(read/write) 115940 115940 0 0.0
.bss 114140 114140 0 0.0
.data 1800 1800 0 0.0
.text 750080 749408 -672 -0.1
BRD4161A+rpc (read only) 737636 736956 -680 -0.1
(read/write) 132568 132568 0 0.0
.bss 130644 130644 0 0.0
.data 1924 1924 0 0.0
.text 737628 736948 -680 -0.1
lock-app BRD4161A (read only) 726752 726480 -272 -0.0
(read/write) 113724 113724 0 0.0
.bss 111964 111964 0 0.0
.data 1756 1756 0 0.0
.text 726744 726472 -272 -0.0
window-app BRD4161A (read only) 727744 727472 -272 -0.0
(read/write) 114044 114044 0 0.0
.bss 112284 112284 0 0.0
.data 1760 1760 0 0.0
.text 727736 727464 -272 -0.0
esp32 all-clusters-app c3devkit (read only) 826956 826956 0 0.0
(read/write) 1224466 1220346 -4120 -0.3
.dram0.bss 57088 57088 0 0.0
.dram0.data 14092 14092 0 0.0
.flash.rodata 168040 163920 -4120 -2.5
.flash.text 826956 826956 0 0.0
.iram0.text 61394 61394 0 0.0
m5stack (read only) 897631 897631 0 0.0
(read/write) 422624 418512 -4112 -1.0
.dram0.bss 62184 62184 0 0.0
.dram0.data 34056 34056 0 0.0
.flash.rodata 195060 190948 -4112 -2.1
.flash.text 892247 892247 0 0.0
.iram0.text 122987 122987 0 0.0
k32w lighting-app k32w061+se05x+release (read/write) 702540 701864 -676 -0.1
.bss 77508 77508 0 0.0
.data 1908 1908 0 0.0
.text 617324 616648 -676 -0.1
lock-app k32w061+debug (read/write) 593548 593276 -272 -0.0
.bss 68028 68028 0 0.0
.data 1876 1876 0 0.0
.text 517844 517572 -272 -0.1
shell k32w061+debug (read/write) 659232 658960 -272 -0.0
.bss 78820 78820 0 0.0
.data 1844 1844 0 0.0
.text 572768 572496 -272 -0.0
linux all-clusters-app debug (read only) 1722337 1717353 -4984 -0.3
(read/write) 126816 126816 0 0.0
.bss 57776 57776 0 0.0
.data 1042 1042 0 0.0
.data.rel.ro 62720 62720 0 0.0
.dynamic 592 592 0 0.0
.got 4112 4112 0 0.0
.init 27 27 0 0.0
.init_array 552 552 0 0.0
.rodata 140277 136181 -4096 -2.9
.text 1447842 1447842 0 0.0
bridge-app debug+rpc (read only) 1312741 1312293 -448 -0.0
(read/write) 77424 77424 0 0.0
.bss 42896 42896 0 0.0
.data 1568 1568 0 0.0
.data.rel.ro 27960 27960 0 0.0
.dynamic 592 592 0 0.0
.got 3984 3984 0 0.0
.init 27 27 0 0.0
.init_array 408 408 0 0.0
.rodata 111860 111604 -256 -0.2
.text 1103909 1103909 0 0.0
chip-tool debug (read only) 4921493 4921493 0 0.0
(read/write) 167208 167208 0 0.0
.bss 41192 41192 0 0.0
.data 2272 2272 0 0.0
.data.rel.ro 118256 118256 0 0.0
.dynamic 592 592 0 0.0
.got 4416 4416 0 0.0
.init 27 27 0 0.0
.init_array 472 472 0 0.0
.rodata 268242 268242 0 0.0
.text 4343605 4343605 0 0.0
lighting-app debug+rpc (read only) 1582281 1581297 -984 -0.1
(read/write) 110192 110192 0 0.0
.bss 48080 48080 0 0.0
.data 1234 1234 0 0.0
.data.rel.ro 55552 55552 0 0.0
.dynamic 608 608 0 0.0
.got 4136 4136 0 0.0
.init 27 27 0 0.0
.init_array 536 536 0 0.0
.rodata 129841 129169 -672 -0.5
.text 1317746 1317746 0 0.0
ota-provider-app debug (read only) 1267337 1267337 0 0.0
(read/write) 75176 75176 0 0.0
.bss 44512 44512 0 0.0
.data 784 784 0 0.0
.data.rel.ro 24776 24776 0 0.0
.dynamic 592 592 0 0.0
.got 4016 4016 0 0.0
.init 27 27 0 0.0
.init_array 448 448 0 0.0
.rodata 113383 113383 0 0.0
.text 1057106 1057106 0 0.0
ota-requestor-app debug (read only) 1352009 1351953 -56 -0.0
(read/write) 78944 78944 0 0.0
.bss 46976 46976 0 0.0
.data 848 848 0 0.0
.data.rel.ro 26040 26040 0 0.0
.dynamic 592 592 0 0.0
.got 3992 3992 0 0.0
.init 27 27 0 0.0
.init_array 472 472 0 0.0
.rodata 124208 124176 -32 -0.0
.text 1128402 1128402 0 0.0
shell debug (read only) 789081 789081 0 0.0
(read/write) 65064 65064 0 0.0
.bss 23400 23400 0 0.0
.data 242 242 0 0.0
.data.rel.ro 36928 36928 0 0.0
.dynamic 592 592 0 0.0
.got 3528 3528 0 0.0
.init 27 27 0 0.0
.init_array 344 344 0 0.0
.rodata 77903 77903 0 0.0
.text 609282 609282 0 0.0
tv-app debug (read only) 1858569 1856881 -1688 -0.1
(read/write) 407896 407896 0 0.0
.bss 339752 339752 0 0.0
.data 2768 2768 0 0.0
.data.rel.ro 59696 59696 0 0.0
.dynamic 592 592 0 0.0
.got 4432 4432 0 0.0
.init 27 27 0 0.0
.init_array 616 616 0 0.0
.rodata 157069 155981 -1088 -0.7
.text 1556418 1556418 0 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2292200 2288088 -4112 -0.2
.bss 179692 179692 0 0.0
.data 5216 5216 0 0.0
.heap 851536 851536 0 0.0
.text 1254800 1250688 -4112 -0.3
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2274688 2274016 -672 -0.0
.bss 172556 172556 0 0.0
.data 5576 5576 0 0.0
.heap 858312 858312 0 0.0
.text 1237288 1236616 -672 -0.1
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2250128 2249856 -272 -0.0
.bss 171436 171436 0 0.0
.data 5568 5568 0 0.0
.heap 859440 859440 0 0.0
.text 1212728 1212456 -272 -0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139744 1139744 0 0.0
.bss 11752 11752 0 0.0
.data 4368 4368 0 0.0
.heap 1020328 1020328 0 0.0
.text 103128 103128 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2048376 2048376 0 0.0
.bss 155912 155912 0 0.0
.data 4968 4968 0 0.0
.heap 875568 875568 0 0.0
.text 1010976 1010976 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 865175 864499 -676 -0.1
bss 110964 110964 0 0.0
rodata 97080 96404 -676 -0.7
text 581516 581516 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 827567 826891 -676 -0.1
bss 107320 107320 0 0.0
rodata 88272 87596 -676 -0.8
text 555688 555688 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 790234 789558 -676 -0.1
bss 112340 112340 0 0.0
rodata 92340 91664 -676 -0.7
text 510984 510984 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 840199 839931 -268 -0.0
bss 109988 109988 0 0.0
rodata 93144 92876 -268 -0.3
text 561616 561616 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 765514 765242 -272 -0.0
bss 111400 111400 0 0.0
rodata 88452 88180 -272 -0.3
text 491176 491176 0 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 497327 497327 0 0.0
bss 51824 51824 0 0.0
rodata 45780 45780 0 0.0
text 339436 339436 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 846327 846055 -272 -0.0
bss 110128 110128 0 0.0
rodata 94856 94584 -272 -0.3
text 565800 565800 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 839903 839631 -272 -0.0
bss 110024 110024 0 0.0
rodata 93104 92832 -272 -0.3
text 561236 561236 0 0.0
shell nrf52840dk_nrf52840 (read/write) 775499 775499 0 0.0
bss 108736 108736 0 0.0
rodata 72160 72160 0 0.0
text 520020 520020 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 690554 690554 0 0.0
bss 109720 109720 0 0.0
rodata 66804 66804 0 0.0
text 440628 440628 0 0.0
p6 all-clusters-app default (read/write) 2301232 2297120 -4112 -0.2
.bss 112680 112680 0 0.0
.data 2520 2520 0 0.0
.heap 918144 918144 0 0.0
.text 1259496 1255384 -4112 -0.3
lock-app default (read/write) 2214704 2214432 -272 -0.0
.bss 101296 101296 0 0.0
.data 2400 2400 0 0.0
.heap 929648 929648 0 0.0
.text 1172968 1172696 -272 -0.0
qpg lighting-app qpg6100+debug (read only) 494216 493540 -676 -0.1
(read/write) 114144 114144 0 0.0
.bss 50640 50640 0 0.0
.data 1008 1008 0 0.0
.text 488896 488220 -676 -0.1
lock-app qpg6100+debug (read only) 468752 468480 -272 -0.1
(read/write) 114140 114140 0 0.0
.bss 49576 49576 0 0.0
.data 964 964 0 0.0
.text 463432 463160 -272 -0.1
persistent-storage-app qpg6100+debug (read only) 105408 105408 0 0.0
(read/write) 114142 114142 0 0.0
.bss 8978 8978 0 0.0
.data 272 272 0 0.0
.text 100088 100088 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 667854 667178 -676 -0.1
bss 69320 69320 0 0.0
noinit 33216 33216 0 0.0
text 462372 462372 0 0.0

@bzbarsky-apple bzbarsky-apple merged commit b974630 into project-chip:master Nov 15, 2021
@bzbarsky-apple bzbarsky-apple deleted the smaller-default-values branch November 15, 2021 15:40
PSONALl pushed a commit to PSONALl/connectedhomeip that referenced this pull request Dec 3, 2021
Pulls in changes to make the default attribute storage for strings
depend on the actual string value, not the maximum size of the value.

Fixes project-chip#5927
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.

String default values don't need to be sized to the max length of the string.
4 participants