connectedhomeip
Try to reduce the codesize needed by EncodeListItem.
#37076
Merged

Try to reduce the codesize needed by EncodeListItem. #37076

bzbarsky-apple
bzbarsky-apple90 days ago

We shouldn't need separate specializations of EncodeListItem for T, T&, const T, and const T&. Try to collapse those all down to "const T&".

Testing

No functional changes expected; CI should check this.

bzbarsky-apple Try to reduce the codesize needed by EncodeListItem.
1167292f
semanticdiff-com
semanticdiff-com90 days ago

Review changes with  SemanticDiff

github-actions github-actions added app
github-actions
github-actions90 days ago (edited 90 days ago)

PR #37076: Size comparison from 958c1cb to 1167292

Full report (71 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 958c1cb 1167292 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094560 1094048 -512 -0.0
RAM 103346 103354 8 0.0
bl702 lighting-app bl702+eth FLASH 652366 652110 -256 -0.0
RAM 25353 25361 8 0.0
bl702+wifi FLASH 830546 830034 -512 -0.1
RAM 14093 14101 8 0.1
bl706+mfd+rpc+littlefs FLASH 1057832 1057320 -512 -0.0
RAM 23949 23957 8 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 890856 890344 -512 -0.1
RAM 18624 18632 8 0.0
lighting-app bl702l+mfd+littlefs FLASH 973816 973304 -512 -0.1
RAM 16472 16480 8 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 840084 839628 -456 -0.1
RAM 123536 123536 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 825600 825080 -520 -0.1
RAM 125424 125424 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 772528 772072 -456 -0.1
RAM 113900 113900 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 756724 756252 -472 -0.1
RAM 114100 114100 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 540021 539693 -328 -0.1
RAM 205288 205288 0 0.0
lock CC3235SF_LAUNCHXL FLASH 574189 573789 -400 -0.1
RAM 205432 205432 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 681569 681097 -472 -0.1
RAM 78596 78596 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 701413 700949 -464 -0.1
RAM 81236 81236 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 701413 700949 -464 -0.1
RAM 81236 81236 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 658357 657885 -472 -0.1
RAM 73664 73664 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618153 617633 -520 -0.1
RAM 71588 71588 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 637789 637269 -520 -0.1
RAM 74132 74132 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 637789 637269 -520 -0.1
RAM 74132 74132 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 637601 637081 -520 -0.1
RAM 74596 74596 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 657317 656789 -528 -0.1
RAM 77140 77140 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 657317 656789 -528 -0.1
RAM 77140 77140 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 614213 613749 -464 -0.1
RAM 68684 68684 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 634065 633601 -464 -0.1
RAM 71316 71316 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 634065 633601 -464 -0.1
RAM 71316 71316 0 0.0
efr32 lock-app BRD4187C FLASH 932548 932036 -512 -0.1
RAM 160068 160068 0 0.0
BRD4338a FLASH 749328 748408 -920 -0.1
RAM 233196 233196 0 0.0
window-app BRD4187C FLASH 1027008 1026304 -704 -0.1
RAM 128172 128172 0 0.0
esp32 all-clusters-app c3devkit DRAM 95192 95192 0 0.0
FLASH 1541922 1541314 -608 -0.0
IRAM 82552 82552 0 0.0
m5stack DRAM 116172 116172 0 0.0
FLASH 1548478 1547818 -660 -0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4752 4752 0 0.0
FLASH 2722505 2714781 -7724 -0.3
RAM 133096 133096 0 0.0
all-clusters-app debug unknown 5560 5560 0 0.0
FLASH 5997022 5984682 -12340 -0.2
RAM 529752 529752 0 0.0
all-clusters-minimal-app debug unknown 5456 5456 0 0.0
FLASH 5341278 5331666 -9612 -0.2
RAM 243008 243008 0 0.0
bridge-app debug unknown 5472 5472 0 0.0
FLASH 4696432 4687618 -8814 -0.2
RAM 221760 221760 0 0.0
chip-tool debug unknown 5984 5984 0 0.0
FLASH 12986152 12984854 -1298 -0.0
RAM 592474 592474 0 0.0
chip-tool-ipv6only arm64 unknown 21664 21664 0 0.0
FLASH 11082640 11081840 -800 -0.0
RAM 643824 643824 0 0.0
fabric-admin debug unknown 5808 5808 0 0.0
FLASH 1135286 11351567 -1298 -0.0
RAM 592818 592818 0 0.0
fabric-bridge-app debug unknown 4728 4728 0 0.0
FLASH 4521464 4511856 -9608 -0.2
RAM 208880 208880 0 0.0
fabric-sync debug unknown 4968 4968 0 0.0
FLASH 5622965 5613845 -9120 -0.2
RAM 481576 481576 0 0.0
lighting-app debug+rpc+ui unknown 6136 6136 0 0.0
FLASH 5630609 5622401 -8208 -0.1
RAM 232008 232008 0 0.0
lock-app debug unknown 5408 5408 0 0.0
FLASH 4744194 4736014 -8180 -0.2
RAM 208008 208008 0 0.0
ota-provider-app debug unknown 4768 4768 0 0.0
FLASH 4371814 4364984 -6830 -0.2
RAM 201696 201696 0 0.0
ota-requestor-app debug unknown 4720 4720 0 0.0
FLASH 4509826 4502910 -6916 -0.2
RAM 206280 206280 0 0.0
shell debug unknown 4248 4248 0 0.0
FLASH 3022829 3014829 -8000 -0.3
RAM 160736 160736 0 0.0
thermostat-no-ble arm64 unknown 9552 9552 0 0.0
FLASH 4109912 4105400 -4512 -0.1
RAM 246304 246304 0 0.0
tv-app debug unknown 5736 5736 0 0.0
FLASH 5966661 5956261 -10400 -0.2
RAM 605008 605008 0 0.0
tv-casting-app debug unknown 5312 5312 0 0.0
FLASH 11223949 11215725 -8224 -0.1
RAM 706456 706456 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 917804 917372 -432 -0.0
RAM 143172 143172 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 890868 890880 12 0.0
RAM 141359 141359 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 851932 851496 -436 -0.1
RAM 142084 142084 0 0.0
nxp contact k32w0+release FLASH 585968 585464 -504 -0.1
RAM 70952 70952 0 0.0
mcxw71+release FLASH 601488 600984 -504 -0.1
RAM 63168 63168 0 0.0
light k32w0+release FLASH 612588 612148 -440 -0.1
RAM 70344 70344 0 0.0
k32w1+release FLASH 687152 686696 -456 -0.1
RAM 48760 48760 0 0.0
lock mcxw71+release FLASH 763464 762952 -512 -0.1
RAM 70796 70796 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1652092 1650908 -1184 -0.1
RAM 211624 211624 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1557860 1556916 -944 -0.1
RAM 208440 208440 0 0.0
light cy8ckit_062s2_43012 FLASH 1472460 1471596 -864 -0.1
RAM 200408 200408 0 0.0
lock cy8ckit_062s2_43012 FLASH 1470244 1469332 -912 -0.1
RAM 224760 224760 0 0.0
qpg lighting-app qpg6105+debug FLASH 664144 663688 -456 -0.1
RAM 105296 105296 0 0.0
lock-app qpg6105+debug FLASH 622004 621500 -504 -0.1
RAM 99748 99748 0 0.0
stm32 light STM32WB5MM-DK FLASH 484976 484448 -528 -0.1
RAM 144752 144752 0 0.0
telink bridge-app tlsr9258a FLASH 683552 683134 -418 -0.1
RAM 91088 91088 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 623810 623392 -418 -0.1
RAM 31488 31488 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 772652 772234 -418 -0.1
RAM 49348 49348 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 777256 776838 -418 -0.1
RAM 99652 99652 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 711250 710774 -476 -0.1
RAM 73384 73384 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 628264 627776 -488 -0.1
RAM 142020 142020 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 814266 813848 -418 -0.1
RAM 99564 99564 0 0.0
tizen all-clusters-app arm unknown 5120 5120 0 0.0
FLASH 1766952 1761072 -5880 -0.3
RAM 93672 93672 0 0.0
chip-tool-ubsan arm unknown 10968 10968 0 0.0
FLASH 18132110 18129518 -2592 -0.0
RAM 7923244 7922084 -1160 -0.0
bzbarsky-apple bzbarsky-apple marked this pull request as ready for review 89 days ago
pullapprove pullapprove added review - pending
andy31415
andy31415 approved these changes on 2025-01-16
jmartinez-silabs
jmartinez-silabs approved these changes on 2025-01-16
pullapprove pullapprove removed review - pending
pullapprove pullapprove added review - approved
mergify mergify merged 5055cbe4 into master 89 days ago
bzbarsky-apple bzbarsky-apple deleted the try-encode-size-reduction branch 89 days ago

Login to write a write a comment.

Login via GitHub

Assignees
No one assigned
Labels
Milestone