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

Add an EncodeEmptyList helper on AttributeValueEncoder. #13135

Merged

Conversation

bzbarsky-apple
Copy link
Contributor

Fixes #12850

Problem

See the issue.

Change overview

Add nice helper.

Testing

Unit test added.

@github-actions
Copy link

github-actions bot commented Dec 17, 2021

PR #13135: Size comparison from 7283e3a to 672a7ee

Decreases (24 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 7283e3a 672a7ee change % change
efr32 lighting-app BRD4161A (read only) 830584 830408 -176 -0.0
.text 830576 830400 -176 -0.0
BRD4161A+rpc (read only) 818212 818052 -160 -0.0
.text 818204 818044 -160 -0.0
window-app BRD4161A (read only) 803960 803784 -176 -0.0
.text 803952 803776 -176 -0.0
esp32 all-clusters-app c3devkit (read only) 881266 881118 -148 -0.0
.flash.text 881266 881118 -148 -0.0
m5stack (read only) 941919 941647 -272 -0.0
.flash.text 936535 936263 -272 -0.0
k32w light k32w061+release (read/write) 648852 648724 -128 -0.0
.text 564660 564532 -128 -0.0
lock k32w061+release (read/write) 633568 633440 -128 -0.0
.text 549700 549572 -128 -0.0
linux thermostat-no-ble arm64 (read only) 2006052 2002756 -3296 -0.2
.text 1666032 1662736 -3296 -0.2
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2337920 2337664 -256 -0.0
.text 1300496 1300240 -256 -0.0
lighting-app CY8CPROTO_062_4343W+release (read/write) 2330760 2330632 -128 -0.0
.text 1293360 1293232 -128 -0.0
lock-app CY8CPROTO_062_4343W+release (read/write) 2303792 2303664 -128 -0.0
.text 1266392 1266264 -128 -0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 936111 935999 -112 -0.0
text 632008 631884 -124 -0.0
nrf52840dk_nrf52840+rpc (read/write) 922479 922351 -128 -0.0
text 627320 627196 -124 -0.0
nrf5340dk_nrf5340_cpuapp (read/write) 859842 859714 -128 -0.0
text 559452 559324 -128 -0.0
lock-app nrf52840dk_nrf52840 (read/write) 908223 908095 -128 -0.0
text 609836 609708 -128 -0.0
nrf5340dk_nrf5340_cpuapp (read/write) 832186 832058 -128 -0.0
text 537316 537192 -124 -0.0
pump-app nrf52840dk_nrf52840 (read/write) 909519 909391 -128 -0.0
text 611072 610948 -124 -0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 906335 906207 -128 -0.0
text 608584 608456 -128 -0.0
p6 all-clusters-app default (read/write) 2390040 2389080 -960 -0.0
.text 1348304 1347344 -960 -0.1
light-app default (read/write) 2325120 2324944 -176 -0.0
.text 1283384 1283208 -176 -0.0
lock-app default (read/write) 2297328 2297152 -176 -0.0
.text 1255592 1255416 -176 -0.0
qpg lighting-app qpg6105+debug (read only) 532352 532224 -128 -0.0
.text 527032 526904 -128 -0.0
lock-app qpg6105+debug (read only) 504016 503888 -128 -0.0
.text 498696 498568 -128 -0.0
telink lighting-app tlsr9518adk80d (read/write) 832370 832258 -112 -0.0
text 580500 580382 -118 -0.0
Full report (31 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 7283e3a 672a7ee change % change
efr32 lighting-app BRD4161A (read only) 830584 830408 -176 -0.0
(read/write) 127360 127360 0 0.0
.bss 125480 125480 0 0.0
.data 1876 1876 0 0.0
.text 830576 830400 -176 -0.0
BRD4161A+rpc (read only) 818212 818052 -160 -0.0
(read/write) 144024 144024 0 0.0
.bss 142048 142048 0 0.0
.data 1976 1976 0 0.0
.text 818204 818044 -160 -0.0
window-app BRD4161A (read only) 803960 803784 -176 -0.0
(read/write) 126296 126296 0 0.0
.bss 124464 124464 0 0.0
.data 1832 1832 0 0.0
.text 803952 803776 -176 -0.0
esp32 all-clusters-app c3devkit (read only) 881266 881118 -148 -0.0
(read/write) 1312402 1312402 0 0.0
.dram0.bss 69296 69296 0 0.0
.dram0.data 14220 14220 0 0.0
.flash.rodata 175832 175832 0 0.0
.flash.text 881266 881118 -148 -0.0
.iram0.text 62254 62254 0 0.0
m5stack (read only) 941919 941647 -272 -0.0
(read/write) 441516 441516 0 0.0
.dram0.bss 73792 73792 0 0.0
.dram0.data 34056 34056 0 0.0
.flash.rodata 202660 202660 0 0.0
.flash.text 936535 936263 -272 -0.0
.iram0.text 122671 122671 0 0.0
k32w light k32w061+release (read/write) 648852 648724 -128 -0.0
.bss 76488 76488 0 0.0
.data 1904 1904 0 0.0
.text 564660 564532 -128 -0.0
lock k32w061+release (read/write) 633568 633440 -128 -0.0
.bss 76208 76208 0 0.0
.data 1860 1860 0 0.0
.text 549700 549572 -128 -0.0
linux chip-tool-ipv6only arm64 (read only) 6977548 6977548 0 0.0
(read/write) 325601 325601 0 0.0
.bss 54593 54593 0 0.0
.data 1096 1096 0 0.0
.data.rel.ro 209704 209704 0 0.0
.dynamic 560 560 0 0.0
.got 56504 56504 0 0.0
.init 24 24 0 0.0
.init_array 168 168 0 0.0
.rodata 383540 383540 0 0.0
.text 5902212 5902212 0 0.0
thermostat-no-ble arm64 (read only) 2006052 2002756 -3296 -0.2
(read/write) 144065 144065 0 0.0
.bss 64353 64353 0 0.0
.data 880 880 0 0.0
.data.rel.ro 72088 72088 0 0.0
.dynamic 560 560 0 0.0
.got 3840 3840 0 0.0
.init 24 24 0 0.0
.init_array 296 296 0 0.0
.rodata 128356 128356 0 0.0
.text 1666032 1662736 -3296 -0.2
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2337920 2337664 -256 -0.0
.bss 188580 188580 0 0.0
.data 5264 5264 0 0.0
.text 1300496 1300240 -256 -0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2330760 2330632 -128 -0.0
.bss 180920 180920 0 0.0
.data 5552 5552 0 0.0
.text 1293360 1293232 -128 -0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2303792 2303664 -128 -0.0
.bss 179968 179968 0 0.0
.data 5544 5544 0 0.0
.text 1266392 1266264 -128 -0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1140008 1140008 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103392 103392 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2053688 2053688 0 0.0
.bss 156972 156972 0 0.0
.data 4864 4864 0 0.0
.text 1016288 1016288 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 936111 935999 -112 -0.0
bss 118408 118408 0 0.0
rodata 108124 108124 0 0.0
text 632008 631884 -124 -0.0
nrf52840dk_nrf52840+rpc (read/write) 922479 922351 -128 -0.0
bss 115452 115452 0 0.0
rodata 101540 101540 0 0.0
text 627320 627196 -124 -0.0
nrf5340dk_nrf5340_cpuapp (read/write) 859842 859714 -128 -0.0
bss 116692 116692 0 0.0
rodata 103048 103048 0 0.0
text 559452 559324 -128 -0.0
lock-app nrf52840dk_nrf52840 (read/write) 908223 908095 -128 -0.0
bss 117596 117596 0 0.0
rodata 103428 103428 0 0.0
text 609836 609708 -128 -0.0
nrf5340dk_nrf5340_cpuapp (read/write) 832186 832058 -128 -0.0
bss 115908 115908 0 0.0
rodata 98392 98392 0 0.0
text 537316 537192 -124 -0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 542351 542351 0 0.0
bss 52588 52588 0 0.0
rodata 50668 50668 0 0.0
text 376892 376892 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 909519 909391 -128 -0.0
bss 117356 117356 0 0.0
rodata 103644 103644 0 0.0
text 611072 610948 -124 -0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 906335 906207 -128 -0.0
bss 117384 117384 0 0.0
rodata 102900 102900 0 0.0
text 608584 608456 -128 -0.0
shell nrf52840dk_nrf52840 (read/write) 796079 796079 0 0.0
bss 109464 109464 0 0.0
rodata 78096 78096 0 0.0
text 532048 532048 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 708710 708710 0 0.0
bss 107352 107352 0 0.0
rodata 72396 72396 0 0.0
text 449544 449544 0 0.0
p6 all-clusters-app default (read/write) 2390040 2389080 -960 -0.0
.bss 116780 116780 0 0.0
.data 2544 2544 0 0.0
.text 1348304 1347344 -960 -0.1
light-app default (read/write) 2325120 2324944 -176 -0.0
.bss 106160 106160 0 0.0
.data 2384 2384 0 0.0
.text 1283384 1283208 -176 -0.0
lock-app default (read/write) 2297328 2297152 -176 -0.0
.bss 105040 105040 0 0.0
.data 2336 2336 0 0.0
.text 1255592 1255416 -176 -0.0
qpg lighting-app qpg6105+debug (read only) 532352 532224 -128 -0.0
(read/write) 146936 146936 0 0.0
.bss 86824 86824 0 0.0
.data 1004 1004 0 0.0
.text 527032 526904 -128 -0.0
lock-app qpg6105+debug (read only) 504016 503888 -128 -0.0
(read/write) 146940 146940 0 0.0
.bss 85960 85960 0 0.0
.data 952 952 0 0.0
.text 498696 498568 -128 -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) 832370 832258 -112 -0.0
bss 87064 87064 0 0.0
noinit 37160 37160 0 0.0
text 580500 580382 -118 -0.0

@bzbarsky-apple bzbarsky-apple merged commit 2748848 into project-chip:master Dec 20, 2021
@bzbarsky-apple bzbarsky-apple deleted the empty-list-helper branch December 20, 2021 02:18
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.

Introduce EncodeEmptyList helper
3 participants