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

[DRAFT/TEST] Evaluate cost of flash if switching to a templated abstract iterator on DataModel::Provider #36889

Closed
wants to merge 135 commits into from

Conversation

andy31415
Copy link
Contributor

@andy31415 andy31415 commented Dec 18, 2024

Switch is a lot of code, so implementing a small subset to see actual effect. Letting CI compute bloat on this.

Actual approach is still TBD as this incurs HEAP + vtable.
Mostly concerned about heap (a bit ... objects will be a few numbers/pointers, so small) and flash increase (vtable and template type explosion)

Testing

unit tests updated. No functionality difference beyond that, so CI will validate that things function as needed (we should have a LOT of code coverage here)

Copy link

Review changes with  SemanticDiff

Copy link

PR #36889: Size comparison from b0d0614 to a3edec0

Full report (3 builds for cc32xx, stm32)
platform target config section b0d0614 a3edec0 change % change
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 539853 540409 556 0.1
RAM 205776 205776 0 0.0
lock CC3235SF_LAUNCHXL FLASH 574165 574721 556 0.1
RAM 205920 205920 0 0.0
stm32 light STM32WB5MM-DK FLASH 485012 485580 568 0.1
RAM 144888 144888 0 0.0

Copy link

github-actions bot commented Dec 18, 2024

PR #36889: Size comparison from b0d0614 to d1a87c5

Increases above 0.2%:

platform target config section b0d0614 d1a87c5 change % change
tizen all-clusters-app arm unknown 4996 5064 68 1.4
FLASH 1735008 1747804 12796 0.7
RAM 90788 91292 504 0.6
chip-tool-ubsan arm unknown 10804 10872 68 0.6
FLASH 17973686 18016406 42720 0.2
RAM 7842724 7873580 30856 0.4
Full report (9 builds for cc13x4_26x4, cc32xx, stm32, tizen)
platform target config section b0d0614 d1a87c5 change % change
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 839984 840536 552 0.1
RAM 123672 123672 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 825508 826060 552 0.1
RAM 125560 125560 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 772372 772924 552 0.1
RAM 114036 114036 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 756560 757112 552 0.1
RAM 114236 114236 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 539853 540409 556 0.1
RAM 205776 205776 0 0.0
lock CC3235SF_LAUNCHXL FLASH 574165 574721 556 0.1
RAM 205920 205920 0 0.0
stm32 light STM32WB5MM-DK FLASH 485012 485580 568 0.1
RAM 144888 144888 0 0.0
tizen all-clusters-app arm unknown 4996 5064 68 1.4
FLASH 1735008 1747804 12796 0.7
RAM 90788 91292 504 0.6
chip-tool-ubsan arm unknown 10804 10872 68 0.6
FLASH 17973686 18016406 42720 0.2
RAM 7842724 7873580 30856 0.4

Copy link

github-actions bot commented Dec 18, 2024

PR #36889: Size comparison from b0d0614 to 27b9ca0

Increases above 0.2%:

platform target config section b0d0614 27b9ca0 change % change
tizen all-clusters-app arm unknown 4996 5056 60 1.2
FLASH 1735008 1746404 11396 0.7
RAM 90788 91240 452 0.5
chip-tool-ubsan arm unknown 10804 10864 60 0.6
RAM 7842724 7868996 26272 0.3
Full report (25 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, nrfconnect, qpg, stm32, telink, tizen)
platform target config section b0d0614 27b9ca0 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1353786 1355036 1250 0.1
RAM 104136 104128 -8 -0.0
bl702 lighting-app bl702+eth FLASH 651960 652150 190 0.0
RAM 25353 25345 -8 -0.0
bl702+wifi FLASH 829548 829738 190 0.0
RAM 14093 14085 -8 -0.1
bl706+mfd+rpc+littlefs FLASH 1058020 1058210 190 0.0
RAM 23933 23925 -8 -0.0
bl702l lighting-app bl702l+mfd+littlefs FLASH 979394 979584 190 0.0
RAM 16596 16588 -8 -0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 839984 840208 224 0.0
RAM 123672 123664 -8 -0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 825508 825724 216 0.0
RAM 125560 125552 -8 -0.0
pump-app LP_EM_CC1354P10_6 FLASH 772372 772572 200 0.0
RAM 114036 114028 -8 -0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 756560 756784 224 0.0
RAM 114236 114228 -8 -0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 539853 540081 228 0.0
RAM 205776 205768 -8 -0.0
lock CC3235SF_LAUNCHXL FLASH 574165 574377 212 0.0
RAM 205920 205912 -8 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 918120 918384 264 0.0
RAM 143308 143308 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 890264 890392 128 0.0
RAM 141495 141495 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 852004 852264 260 0.0
RAM 142220 142220 0 0.0
qpg lighting-app qpg6105+debug FLASH 664304 664528 224 0.0
RAM 105432 105424 -8 -0.0
lock-app qpg6105+debug FLASH 622108 622332 224 0.0
RAM 99884 99876 -8 -0.0
stm32 light STM32WB5MM-DK FLASH 485012 485236 224 0.0
RAM 144888 144880 -8 -0.0
telink bridge-app tlsr9258a FLASH 683216 683260 44 0.0
RAM 91224 91224 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 623630 623674 44 0.0
RAM 31456 31456 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 772448 772492 44 0.0
RAM 49316 49316 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 711070 711114 44 0.0
RAM 73520 73520 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 628086 628130 44 0.0
RAM 142156 142156 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 814104 814148 44 0.0
RAM 99700 99700 0 0.0
tizen all-clusters-app arm unknown 4996 5056 60 1.2
FLASH 1735008 1746404 11396 0.7
RAM 90788 91240 452 0.5
chip-tool-ubsan arm unknown 10804 10864 60 0.6
FLASH 17973686 18009110 35424 0.2
RAM 7842724 7868996 26272 0.3

Copy link

github-actions bot commented Jan 14, 2025

PR #36889: Size comparison from 5bd63d5 to becf810

Increases above 0.2%:

platform target config section 5bd63d5 becf810 change % change
efr32 lock-app BRD4338a FLASH 749232 751632 2400 0.3
linux air-purifier-app debug FLASH 2723229 2743161 19932 0.7
RAM 133160 133784 624 0.5
all-clusters-app debug FLASH 5996466 6016494 20028 0.3
all-clusters-minimal-app debug FLASH 5341652 5361780 20128 0.4
RAM 243072 243696 624 0.3
bridge-app debug FLASH 4696806 4716820 20014 0.4
RAM 221824 222464 640 0.3
chip-tool-ipv6only arm64 unknown 21536 21608 72 0.3
fabric-bridge-app debug FLASH 4521756 4541716 19960 0.4
RAM 208928 209600 672 0.3
fabric-sync debug FLASH 5622981 5643061 20080 0.4
lighting-app debug+rpc+ui FLASH 5631329 5651249 19920 0.4
RAM 232072 232744 672 0.3
lock-app debug FLASH 4744568 4764528 19960 0.4
RAM 208072 208728 656 0.3
ota-provider-app debug FLASH 4372108 4392068 19960 0.5
RAM 201744 202384 640 0.3
ota-requestor-app debug FLASH 4510120 4530082 19962 0.4
RAM 206312 206952 640 0.3
shell debug FLASH 3023197 3043261 20064 0.7
RAM 160792 161432 640 0.4
thermostat-no-ble arm64 unknown 9552 9624 72 0.8
RAM 246368 247168 800 0.3
tv-app debug FLASH 5966741 5986965 20224 0.3
tizen all-clusters-app arm unknown 5120 5156 36 0.7
FLASH 1767272 1785540 18268 1.0
RAM 93708 94024 316 0.3
chip-tool-ubsan arm FLASH 17949774 18018134 68360 0.4
RAM 7842672 7890508 47836 0.6
Full report (70 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 5bd63d5 becf810 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1355350 1095170 -260180 -19.2
RAM 103952 103322 -630 -0.6
bl702 lighting-app bl702+eth FLASH 726034 652972 -73062 -10.1
RAM 25353 25337 -16 -0.1
bl702+wifi FLASH 912904 831152 -81752 -9.0
RAM 14093 14061 -32 -0.2
bl706+mfd+rpc+littlefs FLASH 1173762 1058438 -115324 -9.8
RAM 23933 23925 -8 -0.0
bl702l lighting-app bl702l+mfd+littlefs FLASH 1082790 974422 -108368 -10.0
RAM 16604 16440 -164 -1.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 840176 841272 1096 0.1
RAM 123552 123528 -24 -0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 825692 826764 1072 0.1
RAM 125440 125408 -32 -0.0
pump-app LP_EM_CC1354P10_6 FLASH 772620 773708 1088 0.1
RAM 113916 113884 -32 -0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 756816 757904 1088 0.1
RAM 114116 114100 -16 -0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 540041 541245 1204 0.2
RAM 205304 205272 -32 -0.0
lock CC3235SF_LAUNCHXL FLASH 574209 575397 1188 0.2
RAM 205448 205416 -32 -0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 681569 682753 1184 0.2
RAM 78596 78572 -24 -0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 701413 702597 1184 0.2
RAM 81236 81204 -32 -0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 701413 702597 1184 0.2
RAM 81236 81204 -32 -0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 658357 659541 1184 0.2
RAM 73664 73640 -24 -0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618153 619337 1184 0.2
RAM 71588 71556 -32 -0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 637789 638973 1184 0.2
RAM 74132 74108 -24 -0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 637789 638973 1184 0.2
RAM 74132 74108 -24 -0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 637601 638777 1176 0.2
RAM 74596 74564 -32 -0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 657317 658493 1176 0.2
RAM 77140 77116 -24 -0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 657317 658493 1176 0.2
RAM 77140 77116 -24 -0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 614213 615397 1184 0.2
RAM 68684 68660 -24 -0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 634065 635249 1184 0.2
RAM 71316 71300 -16 -0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 634065 635249 1184 0.2
RAM 71316 71300 -16 -0.0
efr32 lock-app BRD4187C FLASH 932468 933548 1080 0.1
RAM 160068 160044 -24 -0.0
BRD4338a FLASH 749232 751632 2400 0.3
RAM 233196 233196 0 0.0
window-app BRD4187C FLASH 1026864 1029320 2456 0.2
RAM 128172 128160 -12 -0.0
esp32 all-clusters-app c3devkit DRAM 95192 95096 -96 -0.1
FLASH 1541904 1542486 582 0.0
IRAM 82552 82552 0 0.0
m5stack DRAM 116172 116084 -88 -0.1
FLASH 1548458 1549546 1088 0.1
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4752 4752 0 0.0
FLASH 2723229 2743161 19932 0.7
RAM 133160 133784 624 0.5
all-clusters-app debug unknown 5560 5560 0 0.0
FLASH 5996466 6016494 20028 0.3
RAM 526072 526728 656 0.1
all-clusters-minimal-app debug unknown 5456 5456 0 0.0
FLASH 5341652 5361780 20128 0.4
RAM 243072 243696 624 0.3
bridge-app debug unknown 5472 5472 0 0.0
FLASH 4696806 4716820 20014 0.4
RAM 221824 222464 640 0.3
chip-tool debug unknown 5984 5984 0 0.0
FLASH 12867152 12884474 17322 0.1
RAM 587002 587642 640 0.1
chip-tool-ipv6only arm64 unknown 21536 21608 72 0.3
FLASH 10989440 10992272 2832 0.0
RAM 638048 638872 824 0.1
fabric-admin debug unknown 5808 5808 0 0.0
FLASH 11274263 11291585 17322 0.2
RAM 587346 587986 640 0.1
fabric-bridge-app debug unknown 4728 4728 0 0.0
FLASH 4521756 4541716 19960 0.4
RAM 208928 209600 672 0.3
fabric-sync debug unknown 4968 4968 0 0.0
FLASH 5622981 5643061 20080 0.4
RAM 477880 478536 656 0.1
lighting-app debug+rpc+ui unknown 6136 6136 0 0.0
FLASH 5631329 5651249 19920 0.4
RAM 232072 232744 672 0.3
lock-app debug unknown 5408 5408 0 0.0
FLASH 4744568 4764528 19960 0.4
RAM 208072 208728 656 0.3
ota-provider-app debug unknown 4768 4768 0 0.0
FLASH 4372108 4392068 19960 0.5
RAM 201744 202384 640 0.3
ota-requestor-app debug unknown 4720 4720 0 0.0
FLASH 4510120 4530082 19962 0.4
RAM 206312 206952 640 0.3
shell debug unknown 4248 4248 0 0.0
FLASH 3023197 3043261 20064 0.7
RAM 160792 161432 640 0.4
thermostat-no-ble arm64 unknown 9552 9624 72 0.8
FLASH 4110296 4114608 4312 0.1
RAM 246368 247168 800 0.3
tv-app debug unknown 5736 5736 0 0.0
FLASH 5966741 5986965 20224 0.3
RAM 601312 601968 656 0.1
tv-casting-app debug unknown 5312 5312 0 0.0
FLASH 11102349 11123885 21536 0.2
RAM 700496 701600 1104 0.2
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 917804 918872 1068 0.1
RAM 143172 143124 -48 -0.0
nrf7002dk_nrf5340_cpuapp FLASH 890868 891356 488 0.1
RAM 141359 141311 -48 -0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 851932 853000 1068 0.1
RAM 142084 142036 -48 -0.0
nxp contact k32w0+release FLASH 585968 586616 648 0.1
RAM 70952 70936 -16 -0.0
mcxw71+release FLASH 601488 602144 656 0.1
RAM 63168 63152 -16 -0.0
light k32w0+release FLASH 612588 613596 1008 0.2
RAM 70344 70328 -16 -0.0
k32w1+release FLASH 687152 688232 1080 0.2
RAM 48760 48736 -24 -0.0
lock mcxw71+release FLASH 763464 764536 1072 0.1
RAM 70796 70772 -24 -0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1652124 1654556 2432 0.1
RAM 211632 211616 -16 -0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1557884 1560332 2448 0.2
RAM 208448 208432 -16 -0.0
light cy8ckit_062s2_43012 FLASH 1472492 1474916 2424 0.2
RAM 200416 200408 -8 -0.0
lock cy8ckit_062s2_43012 FLASH 1470276 1472700 2424 0.2
RAM 224768 224760 -8 -0.0
qpg lighting-app qpg6105+debug FLASH 664144 665224 1080 0.2
RAM 105296 105272 -24 -0.0
lock-app qpg6105+debug FLASH 622004 623084 1080 0.2
RAM 99748 99732 -16 -0.0
stm32 light STM32WB5MM-DK FLASH 484976 486072 1096 0.2
RAM 144752 144720 -32 -0.0
telink bridge-app tlsr9258a FLASH 683552 683694 142 0.0
RAM 91088 91040 -48 -0.1
contact-sensor-app tlsr9528a_retention FLASH 623810 623972 162 0.0
RAM 31488 31440 -48 -0.2
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 772652 772780 128 0.0
RAM 49348 49300 -48 -0.1
light-app-ota-shell-factory-data tl7218x FLASH 777256 777410 154 0.0
RAM 99652 99604 -48 -0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 711250 711424 174 0.0
RAM 73384 73336 -48 -0.1
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 628264 628418 154 0.0
RAM 142020 141972 -48 -0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 814266 814484 218 0.0
RAM 99564 99516 -48 -0.0
tizen all-clusters-app arm unknown 5120 5156 36 0.7
FLASH 1767272 1785540 18268 1.0
RAM 93708 94024 316 0.3
chip-tool-ubsan arm unknown 10904 10924 20 0.2
FLASH 17949774 18018134 68360 0.4
RAM 7842672 7890508 47836 0.6

Copy link

github-actions bot commented Jan 14, 2025

PR #36889: Size comparison from a5ebda6 to 4cdf595

Increases above 0.2%:

platform target config section a5ebda6 4cdf595 change % change
efr32 lock-app BRD4338a FLASH 749232 751632 2400 0.3
linux air-purifier-app debug FLASH 2723229 2743161 19932 0.7
RAM 133160 133784 624 0.5
all-clusters-app debug FLASH 5996466 6016494 20028 0.3
all-clusters-minimal-app debug FLASH 5341652 5361780 20128 0.4
RAM 243072 243696 624 0.3
bridge-app debug FLASH 4696806 4716820 20014 0.4
RAM 221824 222464 640 0.3
chip-tool-ipv6only arm64 unknown 21536 21608 72 0.3
fabric-bridge-app debug FLASH 4521756 4541716 19960 0.4
RAM 208928 209600 672 0.3
fabric-sync debug FLASH 5622981 5643061 20080 0.4
lighting-app debug+rpc+ui FLASH 5631329 5651249 19920 0.4
RAM 232072 232744 672 0.3
lock-app debug FLASH 4744568 4764528 19960 0.4
RAM 208072 208728 656 0.3
ota-provider-app debug FLASH 4372108 4392068 19960 0.5
RAM 201744 202384 640 0.3
ota-requestor-app debug FLASH 4510120 4530082 19962 0.4
RAM 206312 206952 640 0.3
shell debug FLASH 3023197 3043261 20064 0.7
RAM 160792 161432 640 0.4
thermostat-no-ble arm64 unknown 9552 9624 72 0.8
RAM 246368 247168 800 0.3
tv-app debug FLASH 5966741 5986965 20224 0.3
tizen all-clusters-app arm unknown 5120 5156 36 0.7
FLASH 1767272 1785540 18268 1.0
RAM 93708 94024 316 0.3
chip-tool-ubsan arm FLASH 17949774 18018134 68360 0.4
RAM 7842672 7890508 47836 0.6
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 a5ebda6 4cdf595 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094560 1095170 610 0.1
RAM 103346 103322 -24 -0.0
bl702 lighting-app bl702+eth FLASH 652366 652972 606 0.1
RAM 25353 25337 -16 -0.1
bl702+wifi FLASH 830546 831152 606 0.1
RAM 14093 14061 -32 -0.2
bl706+mfd+rpc+littlefs FLASH 1057832 1058438 606 0.1
RAM 23949 23925 -24 -0.1
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 890856 891462 606 0.1
RAM 18624 18592 -32 -0.2
lighting-app bl702l+mfd+littlefs FLASH 973816 974422 606 0.1
RAM 16472 16440 -32 -0.2
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 840176 841272 1096 0.1
RAM 123552 123528 -24 -0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 825692 826764 1072 0.1
RAM 125440 125408 -32 -0.0
pump-app LP_EM_CC1354P10_6 FLASH 772620 773708 1088 0.1
RAM 113916 113884 -32 -0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 756816 757904 1088 0.1
RAM 114116 114100 -16 -0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 540041 541245 1204 0.2
RAM 205304 205272 -32 -0.0
lock CC3235SF_LAUNCHXL FLASH 574209 575397 1188 0.2
RAM 205448 205416 -32 -0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 681569 682753 1184 0.2
RAM 78596 78572 -24 -0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 701413 702597 1184 0.2
RAM 81236 81204 -32 -0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 701413 702597 1184 0.2
RAM 81236 81204 -32 -0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 658357 659541 1184 0.2
RAM 73664 73640 -24 -0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618153 619337 1184 0.2
RAM 71588 71556 -32 -0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 637789 638973 1184 0.2
RAM 74132 74108 -24 -0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 637789 638973 1184 0.2
RAM 74132 74108 -24 -0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 637601 638777 1176 0.2
RAM 74596 74564 -32 -0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 657317 658493 1176 0.2
RAM 77140 77116 -24 -0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 657317 658493 1176 0.2
RAM 77140 77116 -24 -0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 614213 615397 1184 0.2
RAM 68684 68660 -24 -0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 634065 635249 1184 0.2
RAM 71316 71300 -16 -0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 634065 635249 1184 0.2
RAM 71316 71300 -16 -0.0
efr32 lock-app BRD4187C FLASH 932644 933724 1080 0.1
RAM 160068 160044 -24 -0.0
BRD4338a FLASH 749232 751632 2400 0.3
RAM 233196 233196 0 0.0
window-app BRD4187C FLASH 1027040 1029464 2424 0.2
RAM 128172 128160 -12 -0.0
esp32 all-clusters-app c3devkit DRAM 95192 95096 -96 -0.1
FLASH 1541904 1542486 582 0.0
IRAM 82552 82552 0 0.0
m5stack DRAM 116172 116084 -88 -0.1
FLASH 1548458 1549546 1088 0.1
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4752 4752 0 0.0
FLASH 2723229 2743161 19932 0.7
RAM 133160 133784 624 0.5
all-clusters-app debug unknown 5560 5560 0 0.0
FLASH 5996466 6016494 20028 0.3
RAM 526072 526728 656 0.1
all-clusters-minimal-app debug unknown 5456 5456 0 0.0
FLASH 5341652 5361780 20128 0.4
RAM 243072 243696 624 0.3
bridge-app debug unknown 5472 5472 0 0.0
FLASH 4696806 4716820 20014 0.4
RAM 221824 222464 640 0.3
chip-tool debug unknown 5984 5984 0 0.0
FLASH 12867152 12884474 17322 0.1
RAM 587002 587642 640 0.1
chip-tool-ipv6only arm64 unknown 21536 21608 72 0.3
FLASH 10989440 10992272 2832 0.0
RAM 638048 638872 824 0.1
fabric-admin debug unknown 5808 5808 0 0.0
FLASH 11274263 11291585 17322 0.2
RAM 587346 587986 640 0.1
fabric-bridge-app debug unknown 4728 4728 0 0.0
FLASH 4521756 4541716 19960 0.4
RAM 208928 209600 672 0.3
fabric-sync debug unknown 4968 4968 0 0.0
FLASH 5622981 5643061 20080 0.4
RAM 477880 478536 656 0.1
lighting-app debug+rpc+ui unknown 6136 6136 0 0.0
FLASH 5631329 5651249 19920 0.4
RAM 232072 232744 672 0.3
lock-app debug unknown 5408 5408 0 0.0
FLASH 4744568 4764528 19960 0.4
RAM 208072 208728 656 0.3
ota-provider-app debug unknown 4768 4768 0 0.0
FLASH 4372108 4392068 19960 0.5
RAM 201744 202384 640 0.3
ota-requestor-app debug unknown 4720 4720 0 0.0
FLASH 4510120 4530082 19962 0.4
RAM 206312 206952 640 0.3
shell debug unknown 4248 4248 0 0.0
FLASH 3023197 3043261 20064 0.7
RAM 160792 161432 640 0.4
thermostat-no-ble arm64 unknown 9552 9624 72 0.8
FLASH 4110296 4114608 4312 0.1
RAM 246368 247168 800 0.3
tv-app debug unknown 5736 5736 0 0.0
FLASH 5966741 5986965 20224 0.3
RAM 601312 601968 656 0.1
tv-casting-app debug unknown 5312 5312 0 0.0
FLASH 11102349 11123885 21536 0.2
RAM 700496 701600 1104 0.2
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 917804 918872 1068 0.1
RAM 143172 143124 -48 -0.0
nrf7002dk_nrf5340_cpuapp FLASH 890868 891356 488 0.1
RAM 141359 141311 -48 -0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 851932 853000 1068 0.1
RAM 142084 142036 -48 -0.0
nxp contact k32w0+release FLASH 585968 586616 648 0.1
RAM 70952 70936 -16 -0.0
mcxw71+release FLASH 601488 602144 656 0.1
RAM 63168 63152 -16 -0.0
light k32w0+release FLASH 612588 613596 1008 0.2
RAM 70344 70328 -16 -0.0
k32w1+release FLASH 687152 688232 1080 0.2
RAM 48760 48736 -24 -0.0
lock mcxw71+release FLASH 763464 764536 1072 0.1
RAM 70796 70772 -24 -0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1652124 1654556 2432 0.1
RAM 211632 211616 -16 -0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1557884 1560332 2448 0.2
RAM 208448 208432 -16 -0.0
light cy8ckit_062s2_43012 FLASH 1472492 1474916 2424 0.2
RAM 200416 200408 -8 -0.0
lock cy8ckit_062s2_43012 FLASH 1470276 1472700 2424 0.2
RAM 224768 224760 -8 -0.0
qpg lighting-app qpg6105+debug FLASH 664144 665224 1080 0.2
RAM 105296 105272 -24 -0.0
lock-app qpg6105+debug FLASH 622004 623084 1080 0.2
RAM 99748 99732 -16 -0.0
stm32 light STM32WB5MM-DK FLASH 484976 486072 1096 0.2
RAM 144752 144720 -32 -0.0
telink bridge-app tlsr9258a FLASH 683552 683694 142 0.0
RAM 91088 91040 -48 -0.1
contact-sensor-app tlsr9528a_retention FLASH 623810 623972 162 0.0
RAM 31488 31440 -48 -0.2
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 772652 772780 128 0.0
RAM 49348 49300 -48 -0.1
light-app-ota-shell-factory-data tl7218x FLASH 777256 777410 154 0.0
RAM 99652 99604 -48 -0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 711250 711424 174 0.0
RAM 73384 73336 -48 -0.1
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 628264 628418 154 0.0
RAM 142020 141972 -48 -0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 814266 814484 218 0.0
RAM 99564 99516 -48 -0.0
tizen all-clusters-app arm unknown 5120 5156 36 0.7
FLASH 1767272 1785540 18268 1.0
RAM 93708 94024 316 0.3
chip-tool-ubsan arm unknown 10904 10924 20 0.2
FLASH 17949774 18018134 68360 0.4
RAM 7842672 7890508 47836 0.6

Copy link

github-actions bot commented Jan 15, 2025

PR #36889: Size comparison from a5ebda6 to b0f7219

Increases above 0.2%:

platform target config section a5ebda6 b0f7219 change % change
efr32 lock-app BRD4338a FLASH 749232 751264 2032 0.3
linux air-purifier-app debug FLASH 2723229 2740133 16904 0.6
RAM 133160 133720 560 0.4
all-clusters-app debug FLASH 5996466 6013818 17352 0.3
all-clusters-minimal-app debug FLASH 5341652 5359104 17452 0.3
RAM 243072 243632 560 0.2
bridge-app debug FLASH 4696806 4714144 17338 0.4
RAM 221824 222400 576 0.3
chip-tool-ipv6only arm64 unknown 21536 21608 72 0.3
fabric-bridge-app debug FLASH 4521756 4539608 17852 0.4
RAM 208928 209552 624 0.3
fabric-sync debug FLASH 5622981 5640325 17344 0.3
lighting-app debug+rpc+ui FLASH 5631329 5648209 16880 0.3
RAM 232072 232680 608 0.3
lock-app debug FLASH 4744568 4761852 17284 0.4
RAM 208072 208664 592 0.3
ota-provider-app debug FLASH 4372108 4389472 17364 0.4
RAM 201744 202336 592 0.3
ota-requestor-app debug FLASH 4510120 4527486 17366 0.4
RAM 206312 206920 608 0.3
shell debug FLASH 3023197 3040589 17392 0.6
RAM 160792 161376 584 0.4
thermostat-no-ble arm64 unknown 9552 9624 72 0.8
RAM 246368 247104 736 0.3
tv-app debug FLASH 5966741 5983013 16272 0.3
tizen all-clusters-app arm unknown 5120 5156 36 0.7
FLASH 1767272 1784180 16908 1.0
RAM 93708 93988 280 0.3
chip-tool-ubsan arm FLASH 17949774 18012454 62680 0.3
RAM 7842672 7888376 45704 0.6
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 a5ebda6 b0f7219 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094560 1094670 110 0.0
RAM 103346 103322 -24 -0.0
bl702 lighting-app bl702+eth FLASH 652366 652728 362 0.1
RAM 25353 25337 -16 -0.1
bl702+wifi FLASH 830546 830652 106 0.0
RAM 14093 14061 -32 -0.2
bl706+mfd+rpc+littlefs FLASH 1057832 1057938 106 0.0
RAM 23949 23925 -24 -0.1
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 890856 890962 106 0.0
RAM 18624 18592 -32 -0.2
lighting-app bl702l+mfd+littlefs FLASH 973816 973922 106 0.0
RAM 16472 16440 -32 -0.2
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 840176 840796 620 0.1
RAM 123552 123512 -40 -0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 825692 826288 596 0.1
RAM 125440 125392 -48 -0.0
pump-app LP_EM_CC1354P10_6 FLASH 772620 773232 612 0.1
RAM 113916 113868 -48 -0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 756816 757428 612 0.1
RAM 114116 114084 -32 -0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 540041 540841 800 0.1
RAM 205304 205256 -48 -0.0
lock CC3235SF_LAUNCHXL FLASH 574209 574993 784 0.1
RAM 205448 205400 -48 -0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 681569 682369 800 0.1
RAM 78596 78572 -24 -0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 701413 702213 800 0.1
RAM 81236 81204 -32 -0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 701413 702213 800 0.1
RAM 81236 81204 -32 -0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 658357 659157 800 0.1
RAM 73664 73640 -24 -0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618153 618953 800 0.1
RAM 71588 71556 -32 -0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 637789 638589 800 0.1
RAM 74132 74108 -24 -0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 637789 638589 800 0.1
RAM 74132 74108 -24 -0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 637601 638393 792 0.1
RAM 74596 74564 -32 -0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 657317 658109 792 0.1
RAM 77140 77116 -24 -0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 657317 658109 792 0.1
RAM 77140 77116 -24 -0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 614213 615013 800 0.1
RAM 68684 68660 -24 -0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 634065 634865 800 0.1
RAM 71316 71300 -16 -0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 634065 634865 800 0.1
RAM 71316 71300 -16 -0.0
efr32 lock-app BRD4187C FLASH 932644 933236 592 0.1
RAM 160068 160044 -24 -0.0
BRD4338a FLASH 749232 751264 2032 0.3
RAM 233196 233196 0 0.0
window-app BRD4187C FLASH 1027040 1028984 1944 0.2
RAM 128172 128160 -12 -0.0
esp32 all-clusters-app c3devkit DRAM 95192 95096 -96 -0.1
FLASH 1541904 1541794 -110 -0.0
IRAM 82552 82552 0 0.0
m5stack DRAM 116172 116084 -88 -0.1
FLASH 1548458 1549042 584 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4752 4752 0 0.0
FLASH 2723229 2740133 16904 0.6
RAM 133160 133720 560 0.4
all-clusters-app debug unknown 5560 5560 0 0.0
FLASH 5996466 6013818 17352 0.3
RAM 526072 526664 592 0.1
all-clusters-minimal-app debug unknown 5456 5456 0 0.0
FLASH 5341652 5359104 17452 0.3
RAM 243072 243632 560 0.2
bridge-app debug unknown 5472 5472 0 0.0
FLASH 4696806 4714144 17338 0.4
RAM 221824 222400 576 0.3
chip-tool debug unknown 5984 5984 0 0.0
FLASH 12867152 12882076 14924 0.1
RAM 587002 587578 576 0.1
chip-tool-ipv6only arm64 unknown 21536 21608 72 0.3
FLASH 10989440 10990512 1072 0.0
RAM 638048 638808 760 0.1
fabric-admin debug unknown 5808 5808 0 0.0
FLASH 11274263 11289663 15400 0.1
RAM 587346 587922 576 0.1
fabric-bridge-app debug unknown 4728 4728 0 0.0
FLASH 4521756 4539608 17852 0.4
RAM 208928 209552 624 0.3
fabric-sync debug unknown 4968 4968 0 0.0
FLASH 5622981 5640325 17344 0.3
RAM 477880 478488 608 0.1
lighting-app debug+rpc+ui unknown 6136 6136 0 0.0
FLASH 5631329 5648209 16880 0.3
RAM 232072 232680 608 0.3
lock-app debug unknown 5408 5408 0 0.0
FLASH 4744568 4761852 17284 0.4
RAM 208072 208664 592 0.3
ota-provider-app debug unknown 4768 4768 0 0.0
FLASH 4372108 4389472 17364 0.4
RAM 201744 202336 592 0.3
ota-requestor-app debug unknown 4720 4720 0 0.0
FLASH 4510120 4527486 17366 0.4
RAM 206312 206920 608 0.3
shell debug unknown 4248 4248 0 0.0
FLASH 3023197 3040589 17392 0.6
RAM 160792 161376 584 0.4
thermostat-no-ble arm64 unknown 9552 9624 72 0.8
FLASH 4110296 4112656 2360 0.1
RAM 246368 247104 736 0.3
tv-app debug unknown 5736 5736 0 0.0
FLASH 5966741 5983013 16272 0.3
RAM 601312 601920 608 0.1
tv-casting-app debug unknown 5312 5312 0 0.0
FLASH 11102349 11120861 18512 0.2
RAM 700496 701528 1032 0.1
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 917804 918448 644 0.1
RAM 143172 143124 -48 -0.0
nrf7002dk_nrf5340_cpuapp FLASH 890868 891228 360 0.0
RAM 141359 141311 -48 -0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 851932 852564 632 0.1
RAM 142084 142036 -48 -0.0
nxp contact k32w0+release FLASH 585968 586232 264 0.0
RAM 70952 70936 -16 -0.0
mcxw71+release FLASH 601488 601760 272 0.0
RAM 63168 63152 -16 -0.0
light k32w0+release FLASH 612588 613212 624 0.1
RAM 70344 70328 -16 -0.0
k32w1+release FLASH 687152 687848 696 0.1
RAM 48760 48736 -24 -0.0
lock mcxw71+release FLASH 763464 764152 688 0.1
RAM 70796 70772 -24 -0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1652124 1654060 1936 0.1
RAM 211632 211608 -24 -0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1557884 1559844 1960 0.1
RAM 208448 208424 -24 -0.0
light cy8ckit_062s2_43012 FLASH 1472492 1474436 1944 0.1
RAM 200416 200400 -16 -0.0
lock cy8ckit_062s2_43012 FLASH 1470276 1472204 1928 0.1
RAM 224768 224752 -16 -0.0
qpg lighting-app qpg6105+debug FLASH 664144 664840 696 0.1
RAM 105296 105272 -24 -0.0
lock-app qpg6105+debug FLASH 622004 622700 696 0.1
RAM 99748 99732 -16 -0.0
stm32 light STM32WB5MM-DK FLASH 484976 485672 696 0.1
RAM 144752 144720 -32 -0.0
telink bridge-app tlsr9258a FLASH 683552 683250 -302 -0.0
RAM 91088 91040 -48 -0.1
contact-sensor-app tlsr9528a_retention FLASH 623810 623528 -282 -0.0
RAM 31488 31440 -48 -0.2
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 772652 772324 -328 -0.0
RAM 49348 49300 -48 -0.1
light-app-ota-shell-factory-data tl7218x FLASH 777256 776954 -302 -0.0
RAM 99652 99604 -48 -0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 711250 710948 -302 -0.0
RAM 73384 73336 -48 -0.1
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 628264 627962 -302 -0.0
RAM 142020 141972 -48 -0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 814266 814028 -238 -0.0
RAM 99564 99516 -48 -0.0
tizen all-clusters-app arm unknown 5120 5156 36 0.7
FLASH 1767272 1784180 16908 1.0
RAM 93708 93988 280 0.3
chip-tool-ubsan arm unknown 10904 10924 20 0.2
FLASH 17949774 18012454 62680 0.3
RAM 7842672 7888376 45704 0.6

@andy31415
Copy link
Contributor Author

Closing: #37033 is better on Flash and it is unclear if this approach can actually be improved. At a cost of some heap, we have a simpler interface in the other PR (simpler to implement rather than simpler to use)

@andy31415 andy31415 closed this Jan 15, 2025
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.

3 participants