8000 [codegen/CodegenDataModelProvider.cpp]: Move the constructor of AttributeEntry inside a closer "for" loop. by gabc-cpp · Pull Request #38866 · project-chip/connectedhomeip · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

[codegen/CodegenDataModelProvider.cpp]: Move the constructor of AttributeEntry inside a closer "for" loop. #38866

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

Conversation

gabc-cpp
Copy link
Contributor
@gabc-cpp gabc-cpp commented May 12, 2025

Fixes #38769

Inside https://github.com/project-chip/connectedhomeip/blob/master/src/data-model-providers/codegen/CodegenDataModelProvider.cpp, at the function Attributes(), we have the declaration of the variable globalListEntry of type DataModel::AttributeEntry. This declaration calls the AttributeEntry constructor, with the first parameter (attributeId) set to zero by default. This value is set later inside a for loop, immediately after the globalListEntry declaration.

We have moved the AttributeEntry constructor call inside this near for loop, since in here we already know the value of the first parameter, and we can avoid calling the constructor with unnecessary filler or garbage data.

The codesize does not increase, and in fact it does decrease around ~1 KByte.

We got rid of the now redundant line:

globalListEntry.attributeId = attribute;

inside the for loop.

Also, the use of std::move() enables move semantics, which allows efficient transfer of resources (in this case, the DataModel::AttributeEntry instance) from one object to another, avoiding unnecessary copies.

Function to change

  • CodegenDataModelProvider::Attributes()

Testing

CI checks will be run against this PR.

@gabc-cpp gabc-cpp self-assigned this May 12, 2025
Copy link
github-actions bot commented May 12, 2025

PR #38866: Size comparison from 8167c5f to 7ba17d8

Full report (75 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 8167c5f 7ba17d8 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1102286 1102286 0 0.0
RAM 94882 94882 0 0.0
bl702 lighting-app bl702+eth FLASH 656842 656842 0 0.0
RAM 33645 33645 0 0.0
bl702+wifi FLASH 834096 834096 0 0.0
RAM 22369 22369 0 0.0
bl706+mfd+rpc+littlefs FLASH 1066952 1066952 0 0.0
RAM 32293 32293 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 897768 897768 0 0.0
RAM 27040 27040 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 980552 980552 0 0.0
RAM 24780 24780 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 821716 821732 16 0.0
RAM 120296 120296 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 831528 831528 0 0.0
RAM 125432 125432 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 778416 778432 16 0.0
RAM 113780 113780 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 762748 762748 0 0.0
RAM 113988 113988 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 549002 549018 16 0.0
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 581050 581066 16 0.0
RAM 205440 205440 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 663261 663269 8 0.0
RAM 77324 77324 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 683113 683121 8 0.0
RAM 79964 79964 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 683113 683121 8 0.0
RAM 79964 79964 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 640053 640061 8 0.0
RAM 72392 72392 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 623405 623413 8 0.0
RAM 73564 73564 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 643041 643049 8 0.0
RAM 76116 76116 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 643041 643049 8 0.0
RAM 76116 76116 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 643701 643717 16 0.0
RAM 76588 76588 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 663417 663433 16 0.0
RAM 79140 79140 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 663417 663433 16 0.0
RAM 79140 79140 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 620065 620081 16 0.0
RAM 70684 70684 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 639917 639933 16 0.0
RAM 73316 73316 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 639917 639933 16 0.0
RAM 73316 73316 0 0.0
efr32 lock-app BRD4187C FLASH 946276 946308 32 0.0
RAM 132096 132096 0 0.0
BRD4338a FLASH 772800 772792 -8 -0.0
RAM 173328 173328 0 0.0
window-app BRD4187C FLASH 1038760 1038760 0 0.0
RAM 128232 128232 0 0.0
esp32 all-clusters-app c3devkit DRAM 103328 103328 0 0.0
FLASH 1805448 1805462 14 0.0
IRAM 83846 83846 0 0.0
m5stack DRAM 121932 121932 0 0.0
FLASH 1770642 1770654 12 0.0
IRAM 117043 117043 0 0.0
linux air-purifier-app debug unknown 4848 4848 0 0.0
FLASH 2787212 2787204 -8 -0.0
RAM 115032 115032 0 0.0
all-clusters-app debug unknown 5656 5656 0 0.0
FLASH 6340936 6340928 -8 -0.0
RAM 533496 533496 0 0.0
all-clusters-minimal-app debug unknown 5528 5528 0 0.0
FLASH 5445196 5445188 -8 -0.0
RAM 225000 225000 0 0.0
bridge-app debug unknown 5560 5560 0 0.0
FLASH 4761600 4761592 -8 -0.0
RAM 204640 204640 0 0.0
camera-app debug unknown 8856 8856 0 0.0
FLASH 6896523 6896507 -16 -0.0
RAM 226800 226800 0 0.0
camera-controller debug unknown 9240 9240 0 0.0
FLASH 14317067 14317067 0 0.0
RAM 658800 658800 0 0.0
chip-tool debug unknown 6256 6256 0 0.0
FLASH 14604557 14604549 -8 -0.0
RAM 645552 645552 0 0.0
chip-tool-ipv6only arm64 unknown 40328 40328 0 0.0
FLASH 12582272 12582272 0 0.0
RAM 691856 691856 0 0.0
fabric-admin debug unknown 5936 5936 0 0.0
FLASH 12676137 12676129 -8 -0.0
RAM 644912 644912 0 0.0
fabric-bridge-app debug unknown 4808 4808 0 0.0
FLASH 4578638 4578630 -8 -0.0
RAM 190704 190704 0 0.0
fabric-sync debug unknown 5064 5064 0 0.0
FLASH 5718885 5718885 0 0.0
RAM 486944 486944 0 0.0
lighting-app debug+rpc+ui unknown 6264 6264 0 0.0
FLASH 5648497 5648481 -16 -0.0
RAM 207704 207704 0 0.0
lock-app debug unknown 5496 5496 0 0.0
FLASH 4821428 4821420 -8 -0.0
RAM 194904 194904 0 0.0
ota-provider-app debug unknown 4848 4848 0 0.0
FLASH 4441386 4441378 -8 -0.0
RAM 184120 184120 0 0.0
ota-requestor-app debug unknown 4800 4800 0 0.0
FLASH 4569152 4569144 -8 -0.0
RAM 187992 187992 0 0.0
shell debug unknown 4272 4272 0 0.0
FLASH 3078572 3078572 0 0.0
RAM 148072 148072 0 0.0
thermostat-no-ble arm64 unknown 9608 9608 0 0.0
FLASH 4232136 4232136 0 0.0
RAM 231352 231352 0 0.0
tv-app debug unknown 5832 5832 0 0.0
FLASH 6076117 6076101 -16 -0.0
RAM 611568 611568 0 0.0
tv-casting-app debug unknown 5416 5416 0 0.0
FLASH 12796765 12796749 -16 -0.0
RAM 766104 766104 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 919200 919212 12 0.0
RAM 167328 167328 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 911184 911196 12 0.0
RAM 145572 145572 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 856424 856436 12 0.0
RAM 141091 141091 0 0.0
nxp contact k32w0+release FLASH 591888 591904 16 0.0
RAM 72848 72848 0 0.0
mcxw71+release FLASH 624648 624656 8 0.0
RAM 63188 63188 0 0.0
light k32w0+release FLASH 617820 617820 0 0.0
RAM 72144 72144 0 0.0
k32w1+release FLASH 709120 709128 8 0.0
RAM 72036 72036 0 0.0
lock mcxw71+release FLASH 774176 774184 8 0.0
RAM 67612 67612 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1665252 1665252 0 0.0
RAM 212328 212328 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1569756 1569756 0 0.0
RAM 208504 208504 0 0.0
light cy8ckit_062s2_43012 FLASH 1447012 1447012 0 0.0
RAM 197320 197320 0 0.0
lock cy8ckit_062s2_43012 FLASH 1476868 1476868 0 0.0
RAM 225016 225016 0 0.0
qpg lighting-app qpg6105+debug FLASH 667212 667228 16 0.0
RAM 105200 105200 0 0.0
lock-app qpg6105+debug FLASH 625624 625640 16 0.0
RAM 99820 99820 0 0.0
stm32 light STM32WB5MM-DK FLASH 466052 466068 16 0.0
RAM 141504 141504 0 0.0
telink bridge-app tl7218x FLASH 693532 676812 -16720 -2.4
RAM 101832 90692 -11140 -10.9
light-app-ota-compress-lzma-factory-data tl3218x FLASH 774164 774178 14 0.0
RAM 50072 50072 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 771280 771294 14 0.0
RAM 40372 40372 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 781270 759750 -21520 -2.8
RAM 109252 97492 -11760 -10.8
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 702648 686788 -15860 -2.3
RAM 62572 51540 -11032 -17.6
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 740602 715238 -25364 -3.4
RAM 85752 73360 -12392 -14.5
light-switch-app-ota-shell-factory-data tl3218x_retention FLASH 712552 712566 14 0.0
RAM 36996 36996 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 607568 607582 14 0.0
RAM 119468 119468 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 816580 794804 -21776 -2.7
RAM 107520 96348 -11172 -10.4
tizen all-clusters-app arm unknown 5212 5212 0 0.0
FLASH 1812288 1812384 96 0.0
RAM 94832 94832 0 0.0
chip-tool-ubsan arm unknown 20600 20600 0 0.0
FLASH 20843598 20843846 248 0.0
RAM 9067720 9067816 96 0.0

Copy link
github-actions bot commented May 12, 2025

PR #38866: Size comparison from 8167c5f to 72106ce

Increases above 0.2%:

platform target config section 8167c5f 72106ce change % change
bl602 lighting-app bl602+mfd+littlefs+rpc RAM 94882 179002 84120 88.7
bl702 lighting-app bl702+eth RAM 33645 134941 101296 301.1
bl702+wifi RAM 22369 124481 102112 456.5
bl706+mfd+rpc+littlefs RAM 32293 117349 85056 263.4
bl702l contact-sensor-app bl702l+mfd+littlefs RAM 27040 105760 78720 291.1
lighting-app bl702l+mfd+littlefs RAM 24780 109836 85056 343.2
Full report (73 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 8167c5f 72106ce change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1102286 1101688 -598 -0.1
RAM 94882 179002 84120 88.7
bl702 lighting-app bl702+eth FLASH 656842 656482 -360 -0.1
RAM 33645 134941 101296 301.1
bl702+wifi FLASH 834096 833504 -592 -0.1
RAM 22369 124481 102112 456.5
bl706+mfd+rpc+littlefs FLASH 1066952 1066592 -360 -0.0
RAM 32293 117349 85056 263.4
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 897768 897152 -616 -0.1
RAM 27040 105760 78720 291.1
lighting-app bl702l+mfd+littlefs FLASH 980552 979936 -616 -0.1
RAM 24780 109836 85056 343.2
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 821716 821256 -460 -0.1
RAM 120296 120272 -24 -0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 831528 831068 -460 -0.1
RAM 125432 125408 -24 -0.0
pump-app LP_EM_CC1354P10_6 FLASH 778416 778432 16 0.0
RAM 113780 113780 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 762748 762748 0 0.0
RAM 113988 113988 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 549002 549018 16 0.0
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 581050 580598 -452 -0.1
RAM 205440 205416 -24 -0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 663261 662797 -464 -0.1
RAM 77324 77300 -24 -0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 683113 682649 -464 -0.1
RAM 79964 79940 -24 -0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 683113 682649 -464 -0.1
RAM 79964 79940 -24 -0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 640053 639589 -464 -0.1
RAM 72392 72368 -24 -0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 623405 622957 -448 -0.1
RAM 73564 73532 -32 -0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 643041 642601 -440 -0.1
RAM 76116 76084 -32 -0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 643041 642601 -440 -0.1
RAM 76116 76084 -32 -0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 643701 643245 -456 -0.1
RAM 76588 76564 -24 -0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 663417 662961 -456 -0.1
RAM 79140 79116 -24 -0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 663417 662961 -456 -0.1
RAM 79140 79116 -24 -0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 620065 619609 -456 -0.1
RAM 70684 70660 -24 -0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 639917 639461 -456 -0.1
RAM 73316 73292 -24 -0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 639917 639461 -456 -0.1
RAM 73316 73292 -24 -0.0
efr32 lock-app BRD4187C FLASH 946276 945820 -456 -0.0
RAM 132096 132060 -36 -0.0
BRD4338a FLASH 772800 772288 -512 -0.1
RAM 173328 173300 -28 -0.0
window-app BRD4187C FLASH 1038760 1038272 -488 -0.0
RAM 128232 128196 -36 -0.0
esp32 all-clusters-app c3devkit DRAM 103328 103328 0 0.0
FLASH 1805448 1805462 14 0.0
IRAM 83846 83846 0 0.0
m5stack DRAM 121932 121932 0 0.0
FLASH 1770642 1770654 12 0.0
IRAM 117043 117043 0 0.0
linux air-purifier-app debug unknown 4848 4848 0 0.0
FLASH 2787212 2787234 22 0.0
RAM 115032 115032 0 0.0
all-clusters-app debug unknown 5656 5656 0 0.0
FLASH 6340936 6340958 22 0.0
RAM 533496 533496 0 0.0
all-clusters-minimal-app debug unknown 5528 5528 0 0.0
FLASH 5445196 5445218 22 0.0
RAM 225000 225000 0 0.0
bridge-app debug unknown 5560 5560 0 0.0
FLASH 4761600 4761622 22 0.0
RAM 204640 204640 0 0.0
camera-app debug unknown 8856 8856 0 0.0
FLASH 6896523 6894731 -1792 -0.0
RAM 226800 226600 -200 -0.1
camera-controller debug unknown 9240 9240 0 0.0
FLASH 14317067 14317051 -16 -0.0
RAM 658800 658800 0 0.0
chip-tool debug unknown 6256 6256 0 0.0
FLASH 14604557 14604579 22 0.0
RAM 645552 645552 0 0.0
chip-tool-ipv6only arm64 unknown 40328 40328 0 0.0
FLASH 12582272 12582272 0 0.0
RAM 691856 691856 0 0.0
fabric-admin debug unknown 5936 5936 0 0.0
FLASH 12676137 12676159 22 0.0
RAM 644912 644912 0 0.0
fabric-bridge-app debug unknown 4808 4808 0 0.0
FLASH 4578638 4578660 22 0.0
RAM 190704 190704 0 0.0
fabric-sync debug unknown 5064 5064 0 0.0
FLASH 5718885 5718917 32 0.0
RAM 486944 486944 0 0.0
lighting-app debug+rpc+ui unknown 6264 6264 0 0.0
FLASH 5648497 5646849 -1648 -0.0
RAM 207704 207504 -200 -0.1
lock-app debug unknown 5496 5496 0 0.0
FLASH 4821428 4819676 -1752 -0.0
RAM 194904 194704 -200 -0.1
ota-provider-app debug unknown 4848 4848 0 0.0
FLASH 4441386 4439634 -1752 -0.0
RAM 184120 183888 -232 -0.1
ota-requestor-app debug unknown 4800 4800 0 0.0
FLASH 4569152 4567398 -1754 -0.0
RAM 187992 187792 -200 -0.1
shell debug unknown 4272 4272 0 0.0
FLASH 3078572 3078604 32 0.0
RAM 148072 148072 0 0.0
thermostat-no-ble arm64 unknown 9608 9608 0 0.0
FLASH 4232136 4230808 -1328 -0.0
RAM 231352 231112 -240 -0.1
tv-app debug unknown 5832 5832 0 0.0
FLASH 6076117 6074357 -1760 -0.0
RAM 611568 611368 -200 -0.0
tv-casting-app debug unknown 5416 5416 0 0.0
FLASH 12796765 12794061 -2704 -0.0
RAM 766104 765840 -264 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 919200 919208 8 0.0
RAM 167328 167328 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 911184 911196 12 0.0
RAM 145572 145572 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 856424 856432 8 0.0
RAM 141091 141091 0 0.0
nxp contact k32w0+release FLASH 591888 591888 0 0.0
RAM 72848 72848 0 0.0
mcxw71+release FLASH 624648 624648 0 0.0
RAM 63188 63188 0 0.0
light k32w0+release FLASH 617820 617820 0 0.0
RAM 72144 72144 0 0.0
k32w1+release FLASH 709120 709128 8 0.0
RAM 72036 72036 0 0.0
lock mcxw71+release FLASH 774176 774176 0 0.0
RAM 67612 67612 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1665252 1665252 0 0.0
RAM 212328 212328 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1569756 1569756 0 0.0
RAM 208504 208504 0 0.0
light cy8ckit_062s2_43012 FLASH 1447012 1446524 -488 -0.0
RAM 197320 197280 -40 -0.0
lock cy8ckit_062s2_43012 FLASH 1476868 1476364 -504 -0.0
RAM 225016 224976 -40 -0.0
qpg lighting-app qpg6105+debug FLASH 667212 666764 -448 -0.1
RAM 105200 105172 -28 -0.0
lock-app qpg6105+debug FLASH 625624 625176 -448 -0.1
RAM 99820 99792 -28 -0.0
stm32 light STM32WB5MM-DK FLASH 466052 465604 -448 -0.1
RAM 141504 141480 -24 -0.0
telink bridge-app tl7218x FLASH 693532 693522 -10 -0.0
RAM 101832 101832 0 0.0
light-app-ota-compress-lzma-factory-data tl3218x FLASH 774164 773770 -394 -0.1
RAM 50072 50044 -28 -0.1
light-app-ota-shell-factory-data tl7218x FLASH 781270 780876 -394 -0.1
RAM 109252 109224 -28 -0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 702648 702282 -366 -0.1
RAM 62572 62544 -28 -0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 740602 740236 -366 -0.0
RAM 85752 85724 -28 -0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 607568 607198 -370 -0.1
RAM 119468 119440 -28 -0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 816580 816190 -390 -0.0
RAM 107520 107492 -28 -0.0
tizen all-clusters-app arm unknown 5212 5212 0 0.0
FLASH 1812288 1812424 136 0.0
RAM 94832 94832 0 0.0
chip-tool-ubsan arm unknown 20600 20600 0 0.0
FLASH 20843598 20843942 344 0.0
RAM 9067720 9067880 160 0.0

Copy link
github-actions bot commented May 13, 2025

PR #38866: Size comparison from dfa46da to 056b400

Full report (73 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section dfa46da 056b400 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1101688 1101688 0 0.0
RAM 179002 179002 0 0.0
bl702 lighting-app bl702+eth FLASH 656482 656482 0 0.0
RAM 134941 134941 0 0.0
bl702+wifi FLASH 833504 833504 0 0.0
RAM 124481 124481 0 0.0
bl706+mfd+rpc+littlefs FLASH 1066592 1066592 0 0.0
RAM 117349 117349 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 897152 897152 0 0.0
RAM 105760 105760 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 979936 979936 0 0.0
RAM 109836 109836 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 821256 821256 0 0.0
RAM 120272 120272 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 831052 831068 16 0.0
RAM 125408 125408 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 778416 778432 16 0.0
RAM 113780 113780 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 762732 762748 16 0.0
RAM 113988 113988 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 549002 549018 16 0.0
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 580582 580598 16 0.0
RAM 205416 205416 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 662789 662797 8 0.0
RAM 77300 77300 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 682641 682649 8 0.0
RAM 79940 79940 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 682641 682649 8 0.0
RAM 79940 79940 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 639581 639589 8 0.0
RAM 72368 72368 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 622941 622957 16 0.0
RAM 73532 73532 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 642585 642601 16 0.0
RAM 76084 76084 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 642585 642601 16 0.0
RAM 76084 76084 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 643237 643245 8 0.0
RAM 76564 76564 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 662953 662961 8 0.0
RAM 79116 79116 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 662953 662961 8 0.0
RAM 79116 79116 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 619601 619609 8 0.0
RAM 70660 70660 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 639453 639461 8 0.0
RAM 73292 73292 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 639453 639461 8 0.0
RAM 73292 73292 0 0.0
efr32 lock-app BRD4187C FLASH 945820 945820 0 0.0
RAM 132060 132060 0 0.0
BRD4338a FLASH 772296 772288 -8 -0.0
RAM 173300 173300 0 0.0
window-app BRD4187C FLASH 1038272 1038272 0 0.0
RAM 128196 128196 0 0.0
esp32 all-clusters-app c3devkit DRAM 103328 103328 0 0.0
FLASH 1805448 1805462 14 0.0
IRAM 83846 83846 0 0.0
m5stack DRAM 121932 121932 0 0.0
FLASH 1770642 1770654 12 0.0
IRAM 117043 117043 0 0.0
linux air-purifier-app debug unknown 4848 4848 0 0.0
FLASH 2787212 2787234 22 0.0
RAM 115032 115032 0 0.0
all-clusters-app debug unknown 5656 5656 0 0.0
FLASH 6340936 6340958 22 0.0
RAM 533496 533496 0 0.0
all-clusters-minimal-app debug unknown 5528 5528 0 0.0
FLASH 5445196 5445218 22 0.0
RAM 225000 225000 0 0.0
bridge-app debug unknown 5560 5560 0 0.0
FLASH 4761600 4761622 22 0.0
RAM 204640 204640 0 0.0
camera-app debug unknown 8856 8856 0 0.0
FLASH 6894715 6894731 16 0.0
RAM 226600 226600 0 0.0
camera-controller debug unknown 9240 9240 0 0.0
FLASH 14317035 14317051 16 0.0
RAM 658800 658800 0 0.0
chip-tool debug unknown 6256 6256 0 0.0
FLASH 14604557 14604579 22 0.0
RAM 645552 645552 0 0.0
chip-tool-ipv6only arm64 unknown 40328 40328 0 0.0
FLASH 12582272 12582272 0 0.0
RAM 691856 691856 0 0.0
fabric-admin debug unknown 5936 5936 0 0.0
FLASH 12676137 12676159 22 0.0
RAM 644912 644912 0 0.0
fabric-bridge-app debug unknown 4808 4808 0 0.0
FLASH 4578638 4578660 22 0.0
RAM 190704 190704 0 0.0
fabric-sync debug unknown 5064 5064 0 0.0
FLASH 5718885 5718917 32 0.0
RAM 486944 486944 0 0.0
lighting-app debug+rpc+ui unknown 6264 6264 0 0.0
FLASH 5646817 5646849 32 0.0
RAM 207504 207504 0 0.0
lock-app debug unknown 5496 5496 0 0.0
FLASH 4819654 4819676 22 0.0
RAM 194704 194704 0 0.0
ota-provider-app debug unknown 4848 4848 0 0.0
FLASH 4439612 4439634 22 0.0
RAM 183888 183888 0 0.0
ota-requestor-app debug unknown 4800 4800 0 0.0
FLASH 4567376 4567398 22 0.0
RAM 187792 187792 0 0.0
shell debug unknown 4272 4272 0 0.0
FLASH 3078572 3078604 32 0.0
RAM 148072 148072 0 0.0
thermostat-no-ble arm64 unknown 9608 9608 0 0.0
FLASH 4230808 4230808 0 0.0
RAM 231112 231112 0 0.0
tv-app debug unknown 5832 5832 0 0.0
FLASH 6074341 6074357 16 0.0
RAM 611368 611368 0 0.0
tv-casting-app debug unknown 5416 5416 0 0.0
FLASH 12794029 12794061 32 0.0
RAM 765840 765840 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 919196 919208 12 0.0
RAM 167328 167328 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 911184 911196 12 0.0
RAM 145572 145572 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 856420 856432 12 0.0
RAM 141091 141091 0 0.0
nxp contact k32w0+release FLASH 591872 591888 16 0.0
RAM 72848 72848 0 0.0
mcxw71+release FLASH 624640 624648 8 0.0
RAM 63188 63188 0 0.0
light k32w0+release FLASH 617804 617820 16 0.0
RAM 72144 72144 0 0.0
k32w1+release FLASH 709120 709128 8 0.0
RAM 72036 72036 0 0.0
lock mcxw71+release FLASH 774168 774176 8 0.0
RAM 67612 67612 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1665252 1665252 0 0.0
RAM 212328 212328 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1569756 1569756 0 0.0
RAM 208504 208504 0 0.0
light cy8ckit_062s2_43012 FLASH 1446524 1446524 0 0.0
RAM 197280 197280 0 0.0
lock cy8ckit_062s2_43012 FLASH 1476364 1476364 0 0.0
RAM 224976 224976 0 0.0
qpg lighting-app qpg6105+debug FLASH 666748 666764 16 0.0
RAM 105172 105172 0 0.0
lock-app qpg6105+debug FLASH 625160 625176 16 0.0
RAM 99792 99792 0 0.0
stm32 light STM32WB5MM-DK FLASH 465596 465604 8 0.0
RAM 141480 141480 0 0.0
telink bridge-app tl7218x FLASH 693508 693522 14 0.0
RAM 101832 101832 0 0.0
light-app-ota-compress-lzma-factory-data tl3218x FLASH 773756 773770 14 0.0
RAM 50044 50044 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 780862 780876 14 0.0
RAM 109224 109224 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 702268 702282 14 0.0
RAM 62544 62544 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 740222 740236 14 0.0
RAM 85724 85724 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 607184 607198 14 0.0
RAM 119440 119440 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 816172 816190 18 0.0
RAM 107492 107492 0 0.0
tizen all-clusters-app arm unknown 5212 5212 0 0.0
FLASH 1812288 1812424 136 0.0
RAM 94832 94832 0 0.0
chip-tool-ubsan arm unknown 20600 20600 0 0.0
FLASH 20843598 20843942 344 0.0
RAM 9067720 9067880 160 0.0

Copy link
github-actions bot commented May 13, 2025

PR #38866: Size comparison from 70e5039 to 041021b

Full report (73 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 70e5039 041021b change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1101688 1101688 0 0.0
RAM 179002 179002 0 0.0
bl702 lighting-app bl702+eth FLASH 656482 656482 0 0.0
RAM 134941 134941 0 0.0
bl702+wifi FLASH 833504 833504 0 0.0
RAM 124481 124481 0 0.0
bl706+mfd+rpc+littlefs FLASH 1066592 1066592 0 0.0
RAM 117349 117349 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 897152 897152 0 0.0
RAM 105760 105760 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 979936 979936 0 0.0
RAM 109836 109836 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 821256 821256 0 0.0
RAM 120272 12 6D40 0272 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 831052 831068 16 0.0
RAM 125408 125408 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 778416 778432 16 0.0
RAM 113780 113780 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 762732 762748 16 0.0
RAM 113988 113988 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 549002 549018 16 0.0
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 580582 580598 16 0.0
RAM 205416 205416 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 662789 662797 8 0.0
RAM 77300 77300 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 682641 682649 8 0.0
RAM 79940 79940 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 682641 682649 8 0.0
RAM 79940 79940 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 639581 639589 8 0.0
RAM 72368 72368 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 622941 622957 16 0.0
RAM 73532 73532 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 642585 642601 16 0.0
RAM 76084 76084 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 642585 642601 16 0.0
RAM 76084 76084 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 643237 643245 8 0.0
RAM 76564 76564 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 662953 662961 8 0.0
RAM 79116 79116 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 662953 662961 8 0.0
RAM 79116 79116 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 619601 619609 8 0.0
RAM 70660 70660 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 639453 639461 8 0.0
RAM 73292 73292 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 639453 639461 8 0.0
RAM 73292 73292 0 0.0
efr32 lock-app BRD4187C FLASH 945820 945820 0 0.0
RAM 132060 132060 0 0.0
BRD4338a FLASH 772296 772288 -8 -0.0
RAM 173300 173300 0 0.0
window-app BRD4187C FLASH 1038272 1038272 0 0.0
RAM 128196 128196 0 0.0
esp32 all-clusters-app c3devkit DRAM 103328 103328 0 0.0
FLASH 1805448 1805462 14 0.0
IRAM 83846 83846 0 0.0
m5stack DRAM 121932 121932 0 0.0
FLASH 1770642 1770654 12 0.0
IRAM 117043 117043 0 0.0
linux air-purifier-app debug unknown 4848 4848 0 0.0
FLASH 2787224 2787246 22 0.0
RAM 115032 115032 0 0.0
all-clusters-app debug unknown 5656 5656 0 0.0
FLASH 6340948 6340970 22 0.0
RAM 533496 533496 0 0.0
all-clusters-minimal-app debug unknown 5528 5528 0 0.0
FLASH 5445240 5445262 22 0.0
RAM 225000 225000 0 0.0
bridge-app debug unknown 5560 5560 0 0.0
FLASH 4761644 4761666 22 0.0
RAM 204640 204640 0 0.0
camera-app debug unknown 8856 8856 0 0.0
FLASH 6894763 6894779 16 0.0
RAM 226600 226600 0 0.0
camera-controller debug unknown 9240 9240 0 0.0
FLASH 14317083 14317099 16 0.0
RAM 658800 658800 0 0.0
chip-tool debug unknown 6256 6256 0 0.0
FLASH 14604569 14604591 22 0.0
RAM 645552 645552 0 0.0
chip-tool-ipv6only arm64 unknown 40328 40328 0 0.0
FLASH 1258230 1258230 0 0.0
RAM 691856 691856 0 0.0
fabric-admin debug unknown 5936 5936 0 0.0
FLASH 12676181 12676203 22 0.0
RAM 644912 644912 0 0.0
fabric-bridge-app debug unknown 4808 4808 0 0.0
FLASH 4578682 4578704 22 0.0
RAM 190704 190704 0 0.0
fabric-sync debug unknown 5064 5064 0 0.0
FLASH 5718933 5718949 16 0.0
RAM 486944 486944 0 0.0
lighting-app debug+rpc+ui unknown 6264 6264 0 0.0
FLASH 5646833 5646849 16 0.0
RAM 207504 207504 0 0.0
lock-app debug unknown 5496 5496 0 0.0
FLASH 4819698 4819720 22 0.0
RAM 194704 194704 0 0.0
ota-provider-app debug unknown 4848 4848 0 0.0
FLASH 4439656 4439678 22 0.0
RAM 183888 183888 0 0.0
ota-requestor-app debug unknown 4800 4800 0 0.0
FLASH 4567420 4567442 22 0.0
RAM 187792 187792 0 0.0
shell debug unknown 4272 4272 0 0.0
FLASH 3078620 3078636 16 0.0
RAM 148072 148072 0 0.0
thermostat-no-ble arm64 unknown 9608 9608 0 0.0
FLASH 4230840 4230840 0 0.0
RAM 231112 231112 0 0.0
tv-app debug unknown 5832 5832 0 0.0
FLASH 6074389 6074405 16 0.0
RAM 611368 611368 0 0.0
tv-casting-app debug unknown 5416 5416 0 0.0
FLASH 12794077 12794093 16 0.0
RAM 765840 765840 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 919196 919208 12 0.0
RAM 167328 167328 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 911184 911196 12 0.0
RAM 145572 145572 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 856420 856432 12 0.0
RAM 141091 141091 0 0.0
nxp contact k32w0+release FLASH 591872 591888 16 0.0
RAM 72848 72848 0 0.0
mcxw71+release FLASH 624640 624648 8 0.0
RAM 63188 63188 0 0.0
light k32w0+release FLASH 617804 617820 16 0.0
RAM 72144 72144 0 0.0
k32w1+release FLASH 709120 709128 8 0.0
RAM 72036 72036 0 0.0
lock mcxw71+release FLASH 774168 774176 8 0.0
RAM 67612 67612 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1665252 1665252 0 0.0
RAM 212328 212328 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1569756 1569756 0 0.0
RAM 208504 208504 0 0.0
light cy8ckit_062s2_43012 FLASH 1446524 1446524 0 0.0
RAM 197280 197280 0 0.0
lock cy8ckit_062s2_43012 FLASH 1476364 1476364 0 0.0
RAM 224976 224976 0 0.0
qpg lighting-app qpg6105+debug FLASH 666748 666764 16 0.0
RAM 105172 105172 0 0.0
lock-app qpg6105+debug FLASH 625160 625176 16 0.0
RAM 99792 99792 0 0.0
stm32 light STM32WB5MM-DK FLASH 465596 465604 8 0.0
RAM 141480 141480 0 0.0
telink bridge-app tl7218x FLASH 693508 693522 14 0.0
RAM 101832 101832 0 0.0
light-app-ota-compress-lzma-factory-data tl3218x FLASH 773756 773770 14 0.0
RAM 50044 50044 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 780862 780876 14 0.0
RAM 109224 109224 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 702268 702282 14 0.0
RAM 62544 62544 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 740222 740236 14 0.0
RAM 85724 85724 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 607184 607198 14 0.0
RAM 119440 119440 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 816172 816190 18 0.0
RAM 107492 107492 0 0.0
tizen all-clusters-app arm unknown 5212 5212 0 0.0
FLASH 1812288 1812424 136 0.0
RAM 94832 94832 0 0.0
chip-tool-ubsan arm unknown 20600 20600 0 0.0
FLASH 20843598 20843942 344 0.0
RAM 9067720 9067880 160 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.

Does this perhaps let us make the attributeId member of AttributeEntry const?

@gabc-cpp gabc-cpp marked this pull request as ready for review May 13, 2025 17:05
Copy link
github-actions bot commented May 13, 2025

PR #38866: Size comparison from f4d171a to 96c02e9

Full report (73 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section f4d171a 96c02e9 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1101678 1101678 0 0.0
RAM 179002 179002 0 0.0
bl702 lighting-app bl702+eth FLASH 656472 656472 0 0.0
RAM 134941 134941 0 0.0
bl702+wifi FLASH 833494 833494 0 0.0
RAM 124481 124481 0 0.0
bl706+mfd+rpc+littlefs FLASH 1066582 1066582 0 0.0
RAM 117349 117349 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896152 896152 0 0.0
RAM 105688 105688 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 979926 979926 0 0.0
RAM 109836 109836 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 820132 820148 16 0.0
RAM 120208 120208 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 830184 830184 0 0.0
RAM 125376 125376 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 778408 778424 16 0.0
RAM 113780 113780 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 762716 762732 16 0.0
RAM 113988 113988 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 548986 549002 16 0.0
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 579674 579690 16 0.0
RAM 205376 205376 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 661645 661661 16 0.0
RAM 77236 77236 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 681497 681513 16 0.0
RAM 79876 79876 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 681497 681513 16 0.0
RAM 79876 79876 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 638437 638453 16 0.0
RAM 72304 72304 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 622933 622949 16 0.0
RAM 73532 73532 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 642577 642593 16 0.0
RAM 76084 76084 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 642577 642593 16 0.0
RAM 76084 76084 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 642341 642357 16 0.0
RAM 76532 76532 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 662057 662073 16 0.0
RAM 79084 79084 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 662057 662073 16 0.0
RAM 79084 79084 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618569 618585 16 0.0
RAM 70636 70636 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 638421 638437 16 0.0
RAM 73268 73268 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 638421 638437 16 0.0
RAM 73268 73268 0 0.0
efr32 lock-app BRD4187C FLASH 945084 945084 0 0.0
RAM 132024 132024 0 0.0
BRD4338a FLASH 771144 771144 0 0.0
RAM 173248 173248 0 0.0
window-app BRD4187C FLASH 1037112 1037104 -8 -0.0
RAM 128160 128160 0 0.0
esp32 all-clusters-app c3devkit DRAM 103328 103328 0 0.0
FLASH 1805438 1805452 14 0.0
IRAM 83846 83846 0 0.0
m5stack DRAM 121932 121932 0 0.0
FLASH 1770586 1770598 12 0.0
IRAM 117043 117043 0 0.0
linux air-purifier-app debug unknown 4848 4848 0 0.0
FLASH 2786914 2786936 22 0.0
RAM 115032 115032 0 0.0
all-clusters-app debug unknown 5656 5656 0 0.0
FLASH 6340606 6340628 22 0.0
RAM 533112 533112 0 0.0
all-clusters-minimal-app debug unknown 5528 5528 0 0.0
FLASH 5444898 5444920 22 0.0
RAM 225000 225000 0 0.0
bridge-app debug unknown 5560 5560 0 0.0
FLASH 4761334 4761356 22 0.0
RAM 204640 204640 0 0.0
camera-app debug unknown 8856 8856 0 0.0
FLASH 6883387 6883419 32 0.0
RAM 226168 226168 0 0.0
camera-controller debug unknown 9240 9240 0 0.0
FLASH 14309675 14309691 16 0.0
RAM 658416 658416 0 0.0
chip-tool debug unknown 6256 6256 0 0.0
FLASH 14591323 14591345 22 0.0
RAM 645168 645168 0 0.0
chip-tool-ipv6only arm64 unknown 40328 40328 0 0.0
FLASH 12572560 12572560 0 0.0
RAM 691456 691456 0 0.0
fabric-admin debug unknown 5936 5936 0 0.0
FLASH 12668741 12668763 22 0.0
RAM 644528 644528 0 0.0
fabric-bridge-app debug unknown 4808 4808 0 0.0
FLASH 4578372 4578394 22 0.0
RAM 190704 190704 0 0.0
fabric-sync debug unknown 5064 5064 0 0.0
FLASH 5718629 5718645 16 0.0
RAM 486560 486560 0 0.0
lighting-app debug+rpc+ui unknown 6264 6264 0 0.0
FLASH 5641729 5641745 16 0.0
RAM 207176 207176 0 0.0
lock-app debug unknown 5496 5496 0 0.0
FLASH 4813668 4813690 22 0.0
RAM 194472 194472 0 0.0
ota-provider-app debug unknown 4848 4848 0 0.0
FLASH 4439346 4439368 22 0.0
RAM 183888 183888 0 0.0
ota-requestor-app debug unknown 4800 4800 0 0.0
FLASH 4567110 4567132 22 0.0
RAM 187792 187792 0 0.0
shell debug unknown 4272 4272 0 0.0
FLASH 3078316 3078332 16 0.0
RAM 148072 148072 0 0.0
thermostat-no-ble arm64 unknown 9608 9608 0 0.0
FLASH 4224864 4224864 0 0.0
RAM 230864 230864 0 0.0
tv-app debug unknown 5832 5832 0 0.0
FLASH 6074037 6074069 32 0.0
RAM 610984 610984 0 0.0
tv-casting-app debug unknown 5416 5416 0 0.0
FLASH 12780861 12780877 16 0.0
RAM 765456 765456 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 919184 919196 12 0.0
RAM 167328 167328 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 911188 911200 12 0.0
RAM 145572 145572 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 856408 856420 12 0.0
RAM 141091 141091 0 0.0
nxp contact k32w0+release FLASH 591872 591872 0 0.0
RAM 72848 72848 0 0.0
mcxw71+release FLASH 624632 624640 8 0.0
RAM 63188 63188 0 0.0
light k32w0+release FLASH 617788 617804 16 0.0
RAM 72144 72144 0 0.0
k32w1+release FLASH 709104 709112 8 0.0
RAM 72036 72036 0 0.0
lock mcxw71+release FLASH 774160 774168 8 0.0
RAM 67612 67612 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1665236 1665236 0 0.0
RAM 212328 212328 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1569724 1569724 0 0.0
RAM 208504 208504 0 0.0
light cy8ckit_062s2_43012 FLASH 1445196 1445196 0 0.0
RAM 197224 197224 0 0.0
lock cy8ckit_062s2_43012 FLASH 1475196 1475196 0 0.0
RAM 224936 224936 0 0.0
qpg lighting-app qpg6105+debug FLASH 666740 666756 16 0.0
RAM 105172 105172 0 0.0
lock-app qpg6105+debug FLASH 625144 625160 16 0.0
RAM 99792 99792 0 0.0
stm32 light STM32WB5MM-DK FLASH 464484 464492 8 0.0
RAM 141416 141416 0 0.0
telink bridge-app tl7218x FLASH 693498 693512 14 0.0
RAM 101832 101832 0 0.0
light-app-ota-compress-lzma-factory-data tl3218x FLASH 772884 772898 14 0.0
RAM 49984 49984 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 779990 780004 14 0.0
RAM 109164 109164 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 702258 702272 14 0.0
RAM 62544 62544 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 740212 740226 14 0.0
RAM 85724 85724 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 606312 606326 14 0.0
RAM 119380 119380 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 815300 815318 18 0.0
RAM 107432 107432 0 0.0
tizen all-clusters-app arm unknown 5212 5212 0 0.0
FLASH 1812112 1812240 128 0.0
RAM 94832 94832 0 0.0
chip-tool-ubsan arm unknown 20600 20600 0 0.0
FLASH 20822726 20823070 344 0.0
RAM 9059864 9060024 160 0.0

@gabc-cpp
Copy link
C 10000 ontributor Author
gabc-cpp commented May 13, 2025

Does this perhaps let us make the attributeId member of AttributeEntry const?

Unfortunately not yet.

On the file src/app/WriteHandler.cpp, we have

    std::optional<DataModel::AttributeEntry> attributeEntry;
    DataModel::AttributeFinder finder(mDataModelProvider);

    attributeEntry = finder.Find(aPath);

The third line is a direct assign operation, which cannot happen when a class has a const member variable. Because the class cannot be assigned using the default assignment operator due to the const member, the compiler does not generate one.

We could define our own custom assignment operator for the class AttributeEntry, but that probably should be on a follow up ticket.

@gabc-cpp gabc-cpp requested a review from andy31415 May 13, 2025 21:48
Copy link
github-actions bot commented May 13, 2025

PR #38866: Size comparison from fdacd16 to c1137c0

Full report (73 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section fdacd16 c1137c0 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1101678 1101678 0 0.0
RAM 178994 178994 0 0.0
bl702 lighting-app bl702+eth FLASH 656472 656472 0 0.0
RAM 134941 134941 0 0.0
bl702+wifi FLASH 833750 833750 0 0.0
RAM 124481 124481 0 0.0
bl706+mfd+rpc+littlefs FLASH 1066582 1066582 0 0.0
RAM 117349 117349 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896152 896152 0 0.0
RAM 105688 105688 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 979926 979926 0 0.0
RAM 109836 109836 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 820180 820196 16 0.0
RAM 120208 120208 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 830232 830232 0 0.0
RAM 125376 125376 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 778456 778472 16 0.0
RAM 113780 113780 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 762764 762780 16 0.0
RAM 113988 113988 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 549034 549050 16 0.0
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 579722 579738 16 0.0
RAM 205376 205376 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 661693 661709 16 0.0
RAM 77236 77236 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 681545 681561 16 0.0
RAM 79876 79876 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 681545 681561 16 0.0
RAM 79876 79876 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 638485 638501 16 0.0
RAM 72304 72304 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 622981 622997 16 0.0
RAM 73532 73532 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 642625 642641 16 0.0
RAM 76084 76084 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 642625 642641 16 0.0
RAM 76084 76084 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 642389 642405 16 0.0
RAM 76532 76532 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 662105 662121 16 0.0
RAM 79084 79084 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 662105 662121 16 0.0
RAM 79084 79084 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618617 618633 16 0.0
RAM 70628 70628 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 638469 638485 16 0.0
RAM 73260 73260 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 638469 638485 16 0.0
RAM 73260 73260 0 0.0
efr32 lock-app BRD4187C FLASH 945116 945148 32 0.0
RAM 132024 132024 0 0.0
BRD4338a FLASH 771184 771176 -8 -0.0
RAM 173248 173248 0 0.0
window-app BRD4187C FLASH 1037144 1037144 0 0.0
RAM 128160 128160 0 0.0
esp32 all-clusters-app c3devkit DRAM 103320 103320 0 0.0
FLASH 1805474 1805488 14 0.0
IRAM 83846 83846 0 0.0
m5stack DRAM 121932 121932 0 0.0
FLASH 1770626 1770638 12 0.0
IRAM 117043 117043 0 0.0
linux air-purifier-app debug unknown 4848 4848 0 0.0
FLASH 2786968 2786990 22 0.0
RAM 115032 115032 0 0.0
all-clusters-app debug unknown 5656 5656 0 0.0
FLASH 6340660 6340682 22 0.0
RAM 533112 533112 0 0.0
all-clusters-minimal-app debug unknown 5528 5528 0 0.0
FLASH 5444952 5444974 22 0.0
RAM 225000 225000 0 0.0
bridge-app debug unknown 5560 5560 0 0.0
FLASH 4761388 4761410 22 0.0
RAM 204640 204640 0 0.0
camera-app debug unknown 8856 8856 0 0.0
FLASH 6883451 6883467 16 0.0
RAM 226168 226168 0 0.0
camera-controller debug unknown 9240 9240 0 0.0
FLASH 14309675 14309691 16 0.0
RAM 658416 658416 0 0.0
chip-tool debug unknown 6256 6256 0 0.0
FLASH 14591355 14591377 22 0.0
RAM 645168 645168 0 0.0
chip-tool-ipv6only arm64 unknown 40328 40328 0 0.0
FLASH 12572560 12572560 0 0.0
RAM 691456 691456 0 0.0
fabric-admin debug unknown 5936 5936 0 0.0
FLASH 12668741 12668763 22 0.0
RAM 644528 644528 0 0.0
fabric-bridge-app debug unknown 4808 4808 0 0.0
FLASH 4578426 4578448 22 0.0
RAM 190704 190704 0 0.0
fabric-sync debug unknown 5064 5064 0 0.0
FLASH 5718709 5718725 16 0.0
RAM 486560 486560 0 0.0
lighting-app debug+rpc+ui unknown 6264 6264 0 0.0
FLASH 5641777 5641793 16 0.0
RAM 207176 207176 0 0.0
lock-app debug unknown 5496 5496 0 0.0
FLASH 4813722 4813744 22 0.0
RAM 194440 194440 0 0.0
ota-provider-app debug unknown 4848 4848 0 0.0
FLASH 4439400 4439422 22 0.0
RAM 183888 183888 0 0.0
ota-requestor-app debug unknown 4800 4800 0 0.0
FLASH 4567164 4567186 22 0.0
RAM 187760 187760 0 0.0
shell debug unknown 4272 4272 0 0.0
FLASH 3078364 3078380 16 0.0
RAM 148072 148072 0 0.0
thermostat-no-ble arm64 unknown 9616 9616 0 0.0
FLASH 4224912 4224912 0 0.0
RAM 230864 230864 0 0.0
tv-app debug unknown 5832 5832 0 0.0
FLASH 6074533 6074549 16 0.0
RAM 610984 610984 0 0.0
tv-casting-app debug unknown 5416 5416 0 0.0
FLASH 12780909 12780941 32 0.0
RAM 765456 765456 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 919232 919244 12 0.0
RAM 167326 167326 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 911208 911220 12 0.0
RAM 145570 145570 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 856456 856468 12 0.0
RAM 141089 141089 0 0.0
nxp contact k32w0+release FLASH 591920 591920 0 0.0
RAM 72848 72848 0 0.0
mcxw71+release FLASH 624680 624688 8 0.0
RAM 63188 63188 0 0.0
light k32w0+release FLASH 617836 617852 16 0.0
RAM 72144 72144 0 0.0
k32w1+release FLASH 709152 709160 8 0.0
RAM 72036 72036 0 0.0
lock mcxw71+release FLASH 774208 774216 8 0.0
RAM 67612 67612 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1665268 1665268 0 0.0
RAM 212328 212328 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1569764 1569764 0 0.0
RAM 208504 208504 0 0.0
light cy8ckit_062s2_43012 FLASH 1445228 1445228 0 0.0
RAM 197216 197216 0 0.0
lock cy8ckit_062s2_43012 FLASH 1475236 1475236 0 0.0
RAM 224936 224936 0 0.0
qpg lighting-app qpg6105+debug FLASH 666788 666804 16 0.0
RAM 105164 105164 0 0.0
lock-app qpg6105+debug FLASH 625192 625208 16 0.0
RAM 99792 99792 0 0.0
stm32 light STM32WB5MM-DK FLASH 464532 464540 8 0.0
RAM 141416 141416 0 0.0
telink bridge-app tl7218x FLASH 693534 693548 14 0.0
RAM 101828 101828 0 0.0
light-app-ota-compress-lzma-factory-data tl3218x FLASH 772920 772934 14 0.0
RAM 49980 49980 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 780026 780040 14 0.0
RAM 109160 109160 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 702294 702308 14 0.0
RAM 62544 62544 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 740248 740262 14 0.0
RAM 85724 85724 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 606348 606362 14 0.0
RAM 119376 119376 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 815336 815354 18 0.0
RAM 107428 107428 0 0.0
tizen all-clusters-app arm unknown 5216 5216 0 0.0
FLASH 1812152 1812288 136 0.0
RAM 94832 94832 0 0.0
chip-tool-ubsan arm unknown 20600 20600 0 0.0
FLASH 20822742 20823086 344 0.0
RAM 9059864 9060024 160 0.0

@mergify mergify bot merged commit b693f65 into project-chip:master May 14, 2025
71 checks passed
@andy31415
Copy link
Contributor

Does this perhaps let us make the attributeId member of AttributeEntry const?

Unfortunately not yet.

On the file src/app/WriteHandler.cpp, we have

    std::optional<DataModel::AttributeEntry> attributeEntry;
    DataModel::AttributeFinder finder(mDataModelProvider);

    attributeEntry = finder.Find(aPath);

The third line is a direct assign operation, which cannot happen when a class has a const member variable. Because the class cannot be assigned using the default assignment operator due to the const member, the compiler does not generate one.

We could define our own custom assignment operator for the class AttributeEntry, but that probably should be on a follow up ticket.

So can we do:

DataModel::AttributeFinder finder(mDataModelProvider);

std::optional<DataModel::AttributeEntry> attributeEntry = finder.Find(aPath);

To use a constructor?

@gabc-cpp gabc-cpp deleted the Issue_38769_Move_constructor_AttributeEntry_inside_for_loop branch May 14, 2025 13:23
@gabc-cpp
Copy link
Contributor Author
gabc-cpp commented May 14, 2025

Does this perhaps let us make the attributeId member of AttributeEntry const?

Unfortunately not yet.
On the file src/app/WriteHandler.cpp, we have

    std::optional<DataModel::AttributeEntry> attributeEntry;
    DataModel::AttributeFinder finder(mDataModelProvider);

    attributeEntry = finder.Find(aPath);

The third line is a direct assign operation, which cannot happen when a class has a const member variable. Because the class cannot be assigned using the default assignment operator due to the const member, the compiler does not generate one.
We could define our own custom assignment operator for the class AttributeEntry, but that probably should be on a follow up ticket.

So can we do:

DataModel::AttributeFinder finder(mDataModelProvider);

std::optional<DataModel::AttributeEntry> attributeEntry = finder.Find(aPath);

To use a constructor?

Yes, we should be able to do this, using the (default) copy constructor.

We probably will need to test in detail that any "shallow" copy doesn't break the unit tests, but this looks doable, yes.

I will create a follow up issue addressing this.

heinsaar pushed a commit to heinsaar/connectedhomeip that referenced this pull request May 15, 2025
…buteEntry inside a closer "for" loop. (project-chip#38866)

* Moved AttributeEntry constructor inside of "for" loop.

* Using move semantics to handle object "globalListEntry". Renaming "attribute".
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.

On Codegen Data Model Provider, try to move the constructor of AttributeEntry inside a closer "for" loop.
4 participants
0