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

Create a SpanSearchValue class that allows tree-searching without extra intermediate if null/missing checks. #36754

Open
wants to merge 38 commits into
base: master
Choose a base branch
from

Conversation

andy31415
Copy link
Contributor

@andy31415 andy31415 commented Dec 6, 2024

Our data model will often have levels: endpoints contain clusters which contain attributes (or commands clusters contain device types or semantic tags etc.) and code of finding endpoint ->cluster->attribute is highly repetitive.

Looking to have some fluent search capability equivalent to a ?. elvis operator (see https://kotlinlang.org/docs/null-safety.html#elvis-operator for example) that says do this if not null, otherwise preserve the null.

This is also similar to what optionals usually do for map or transform (https://doc.rust-lang.org/std/option/enum.Option.html#method.map , https://en.cppreference.com/w/cpp/utility/optional/transform which we do not yet have in C++17)

This allows me to do:

AttributeMeta *meta = tree
    .Find<ByEndpointId>(123)
    .Find<ByClusterId>(234)
    .Next<ByAttributeId>(345)
    .Value();

to be the equivalent of something like:

AttributeMeta *meta = nullptr;
{
    EndpointData * ep= FindEndpointWithId(tree, 123);
    if (ep != nullptr)
    {
        ClusterData * c = FindClusterWithId(ep, 234);
        if (c != nullptr)
        {
             meta = FindAttributeAfter(c, 345);
        }
    }
}

with the added benefit that it enforces consistent usage of search hints and potentially repetitive bits removal (e.g. top level find by endpoint/cluster would be repeated in many functions dealing with full attribute paths, so even though this is a template object the end result may be less code rather than more).

Copy link

Review changes with  SemanticDiff

Copy link

github-actions bot commented Dec 6, 2024

PR #36754: Size comparison from 84fb78f to e413adf

Full report (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 84fb78f e413adf change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1353308 1353308 0 0.0
RAM 104112 104112 0 0.0
bl702 lighting-app bl702+eth FLASH 651816 651816 0 0.0
RAM 25353 25353 0 0.0
bl702+wifi FLASH 829144 829144 0 0.0
RAM 14093 14093 0 0.0
bl706+mfd+rpc+littlefs FLASH 1057594 1057594 0 0.0
RAM 23933 23933 0 0.0
bl702l lighting-app bl702l+mfd+littlefs FLASH 978968 978968 0 0.0
RAM 16596 16596 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 839736 839736 0 0.0
RAM 123664 123664 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 825276 825276 0 0.0
RAM 125552 125552 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 772064 772064 0 0.0
RAM 114020 114020 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 756260 756260 0 0.0
RAM 114228 114228 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 631026 631234 208 0.0
RAM 205824 205824 0 0.0
lock CC3235SF_LAUNCHXL FLASH 669622 669814 192 0.0
RAM 205968 205968 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 681473 681473 0 0.0
RAM 78724 78724 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 701325 701325 0 0.0
RAM 81364 81364 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 701325 701325 0 0.0
RAM 81364 81364 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 658261 658261 0 0.0
RAM 73792 73792 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618033 618041 8 0.0
RAM 71708 71708 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 637661 637669 8 0.0
RAM 74252 74252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 637661 637669 8 0.0
RAM 74252 74252 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 637433 637433 0 0.0
RAM 74724 74724 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 657149 657149 0 0.0
RAM 77268 77268 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 657149 657149 0 0.0
RAM 77268 77268 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 613901 613901 0 0.0
RAM 68812 68812 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 633753 633753 0 0.0
RAM 71444 71444 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 633753 633753 0 0.0
RAM 71444 71444 0 0.0
efr32 lock-app BRD4187C FLASH 932308 932308 0 0.0
RAM 160192 160192 0 0.0
BRD4338a FLASH 746112 746312 200 0.0
RAM 233320 233320 0 0.0
window-app BRD4187C FLASH 1024752 1024944 192 0.0
RAM 128296 128296 0 0.0
esp32 all-clusters-app c3devkit DRAM 95360 95360 0 0.0
FLASH 1543466 1543468 2 0.0
IRAM 82542 82542 0 0.0
m5stack DRAM 116312 116312 0 0.0
FLASH 1550118 1550178 60 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4720 4720 0 0.0
FLASH 2715045 2715965 920 0.0
RAM 129800 129800 0 0.0
all-clusters-app debug unknown 5560 5560 0 0.0
FLASH 6007046 6007966 920 0.0
RAM 523544 523544 0 0.0
all-clusters-minimal-app debug unknown 5456 5456 0 0.0
FLASH 5344818 5345738 920 0.0
RAM 242600 242600 0 0.0
bridge-app debug unknown 5440 5440 0 0.0
FLASH 4684354 4685274 920 0.0
RAM 218416 218416 0 0.0
chip-tool debug unknown 5992 5992 0 0.0
FLASH 12847594 12848514 920 0.0
RAM 582474 582474 0 0.0
chip-tool-ipv6only arm64 unknown 21344 21344 0 0.0
FLASH 10982320 10983200 880 0.0
RAM 633384 633384 0 0.0
fabric-admin debug unknown 5816 5816 0 0.0
FLASH 11254395 11255315 920 0.0
RAM 582850 582850 0 0.0
fabric-bridge-app debug unknown 4696 4696 0 0.0
FLASH 4509930 4510850 920 0.0
RAM 205600 205600 0 0.0
fabric-sync debug unknown 4936 4936 0 0.0
FLASH 5607797 5608709 912 0.0
RAM 472584 472584 0 0.0
lighting-app debug+rpc+ui unknown 6104 6104 0 0.0
FLASH 5621057 5621969 912 0.0
RAM 228792 228792 0 0.0
lock-app debug unknown 5376 5376 0 0.0
FLASH 4733594 4734514 920 0.0
RAM 204776 204776 0 0.0
ota-provider-app debug unknown 4752 4752 0 0.0
FLASH 4359332 4360252 920 0.0
RAM 198448 198448 0 0.0
ota-requestor-app debug unknown 4688 4688 0 0.0
FLASH 4498356 4499276 920 0.0
RAM 203032 203032 0 0.0
shell debug unknown 4248 4248 0 0.0
FLASH 3030061 3030989 928 0.0
RAM 160424 160424 0 0.0
thermostat-no-ble arm64 unknown 9536 9536 0 0.0
FLASH 4103472 4104352 880 0.0
RAM 243040 243040 0 0.0
tv-app debug unknown 5704 5704 0 0.0
FLASH 5958757 5959669 912 0.0
RAM 596016 596016 0 0.0
tv-casting-app debug unknown 5288 5288 0 0.0
FLASH 11054349 11055277 928 0.0
RAM 692152 692152 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 917576 917580 4 0.0
RAM 143292 143292 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 890080 890072 -8 -0.0
RAM 141487 141487 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 851720 851724 4 0.0
RAM 142200 142200 0 0.0
nxp contact k32w0+release FLASH 585408 585408 0 0.0
RAM 71080 71080 0 0.0
mcxw71+release FLASH 600016 600016 0 0.0
RAM 63176 63176 0 0.0
light k32w0+release FLASH 612364 612380 16 0.0
RAM 70472 70472 0 0.0
k32w1+release FLASH 686552 686568 16 0.0
RAM 48808 48808 0 0.0
lock mcxw71+release FLASH 762896 762896 0 0.0
RAM 70844 70844 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646348 1646556 208 0.0
RAM 212104 212104 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1554092 1554300 208 0.0
RAM 208904 208904 0 0.0
light cy8ckit_062s2_43012 FLASH 1469404 1469612 208 0.0
RAM 200880 200880 0 0.0
lock cy8ckit_062s2_43012 FLASH 1467148 1467356 208 0.0
RAM 225240 225240 0 0.0
qpg lighting-app qpg6105+debug FLASH 663976 663992 16 0.0
RAM 105424 105424 0 0.0
lock-app qpg6105+debug FLASH 621772 621772 0 0.0
RAM 99868 99868 0 0.0
stm32 light STM32WB5MM-DK FLASH 484696 484696 0 0.0
RAM 144880 144880 0 0.0
telink bridge-app tlsr9258a FLASH 682804 682806 2 0.0
RAM 91208 91208 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 623230 623232 2 0.0
RAM 31440 31440 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 764728 764730 2 0.0
RAM 50220 50220 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 710656 710658 2 0.0
RAM 73504 73504 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 627762 627764 2 0.0
RAM 142140 142140 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 813690 813692 2 0.0
RAM 99684 99684 0 0.0
tizen all-clusters-app arm unknown 4988 4988 0 0.0
FLASH 1732480 1733096 616 0.0
RAM 90744 90744 0 0.0
chip-tool-ubsan arm unknown 10804 10804 0 0.0
FLASH 17969454 17970990 1536 0.0
RAM 7840748 7841548 800 0.0

Copy link

github-actions bot commented Dec 9, 2024

PR #36754: Size comparison from 6447c64 to 95bdb5e

Full report (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 6447c64 95bdb5e change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1353308 1353308 0 0.0
RAM 104112 104112 0 0.0
bl702 lighting-app bl702+eth FLASH 651816 651816 0 0.0
RAM 25353 25353 0 0.0
bl702+wifi FLASH 829144 829144 0 0.0
RAM 14093 14093 0 0.0
bl706+mfd+rpc+littlefs FLASH 1057594 1057594 0 0.0
RAM 23933 23933 0 0.0
bl702l lighting-app bl702l+mfd+littlefs FLASH 978968 978968 0 0.0
RAM 16596 16596 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 839736 839736 0 0.0
RAM 123664 123664 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 825276 825276 0 0.0
RAM 125552 125552 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 772064 772064 0 0.0
RAM 114020 114020 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 756260 756260 0 0.0
RAM 114228 114228 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 631026 631234 208 0.0
RAM 205824 205824 0 0.0
lock CC3235SF_LAUNCHXL FLASH 669622 669814 192 0.0
RAM 205968 205968 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 681473 681473 0 0.0
RAM 78724 78724 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 701325 701325 0 0.0
RAM 81364 81364 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 701325 701325 0 0.0
RAM 81364 81364 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 658261 658261 0 0.0
RAM 73792 73792 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618033 618041 8 0.0
RAM 71708 71708 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 637661 637669 8 0.0
RAM 74252 74252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 637661 637669 8 0.0
RAM 74252 74252 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 637433 637433 0 0.0
RAM 74724 74724 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 657149 657149 0 0.0
RAM 77268 77268 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 657149 657149 0 0.0
RAM 77268 77268 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 613901 613901 0 0.0
RAM 68812 68812 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 633753 633753 0 0.0
RAM 71444 71444 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 633753 633753 0 0.0
RAM 71444 71444 0 0.0
efr32 lock-app BRD4187C FLASH 932308 932308 0 0.0
RAM 160192 160192 0 0.0
BRD4338a FLASH 746112 746312 200 0.0
RAM 233320 233320 0 0.0
window-app BRD4187C FLASH 1024752 1024944 192 0.0
RAM 128296 128296 0 0.0
esp32 all-clusters-app c3devkit DRAM 95360 95360 0 0.0
FLASH 1543466 1543468 2 0.0
IRAM 82542 82542 0 0.0
m5stack DRAM 116312 116312 0 0.0
FLASH 1550118 1550178 60 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4720 4720 0 0.0
FLASH 2715045 2715965 920 0.0
RAM 129800 129800 0 0.0
all-clusters-app debug unknown 5560 5560 0 0.0
FLASH 6007046 6007966 920 0.0
RAM 523544 523544 0 0.0
all-clusters-minimal-app debug unknown 5456 5456 0 0.0
FLASH 5344818 5345738 920 0.0
RAM 242600 242600 0 0.0
bridge-app debug unknown 5440 5440 0 0.0
FLASH 4684354 4685274 920 0.0
RAM 218416 218416 0 0.0
chip-tool debug unknown 5992 5992 0 0.0
FLASH 12847594 12848514 920 0.0
RAM 582474 582474 0 0.0
chip-tool-ipv6only arm64 unknown 21344 21344 0 0.0
FLASH 10982320 10983200 880 0.0
RAM 633384 633384 0 0.0
fabric-admin debug unknown 5816 5816 0 0.0
FLASH 11254395 11255315 920 0.0
RAM 582850 582850 0 0.0
fabric-bridge-app debug unknown 4696 4696 0 0.0
FLASH 4509930 4510850 920 0.0
RAM 205600 205600 0 0.0
fabric-sync debug unknown 4936 4936 0 0.0
FLASH 5607797 5608709 912 0.0
RAM 472584 472584 0 0.0
lighting-app debug+rpc+ui unknown 6104 6104 0 0.0
FLASH 5621057 5621969 912 0.0
RAM 228792 228792 0 0.0
lock-app debug unknown 5376 5376 0 0.0
FLASH 4733594 4734514 920 0.0
RAM 204776 204776 0 0.0
ota-provider-app debug unknown 4752 4752 0 0.0
FLASH 4359332 4360252 920 0.0
RAM 198448 198448 0 0.0
ota-requestor-app debug unknown 4688 4688 0 0.0
FLASH 4498356 4499276 920 0.0
RAM 203032 203032 0 0.0
shell debug unknown 4248 4248 0 0.0
FLASH 3030061 3030989 928 0.0
RAM 160424 160424 0 0.0
thermostat-no-ble arm64 unknown 9536 9536 0 0.0
FLASH 4103472 4104352 880 0.0
RAM 243040 243040 0 0.0
tv-app debug unknown 5704 5704 0 0.0
FLASH 5958757 5959669 912 0.0
RAM 596016 596016 0 0.0
tv-casting-app debug unknown 5288 5288 0 0.0
FLASH 11054349 11055277 928 0.0
RAM 692152 692152 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 917588 917592 4 0.0
RAM 143292 143292 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 890096 890088 -8 -0.0
RAM 141487 141487 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 851732 851736 4 0.0
RAM 142200 142200 0 0.0
nxp contact k32w0+release FLASH 585408 585408 0 0.0
RAM 71080 71080 0 0.0
mcxw71+release FLASH 600016 600016 0 0.0
RAM 63176 63176 0 0.0
light k32w0+release FLASH 612364 612380 16 0.0
RAM 70472 70472 0 0.0
k32w1+release FLASH 686552 686568 16 0.0
RAM 48808 48808 0 0.0
lock mcxw71+release FLASH 762896 762896 0 0.0
RAM 70844 70844 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646348 1646556 208 0.0
RAM 212104 212104 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1554092 1554300 208 0.0
RAM 208904 208904 0 0.0
light cy8ckit_062s2_43012 FLASH 1469404 1469612 208 0.0
RAM 200880 200880 0 0.0
lock cy8ckit_062s2_43012 FLASH 1467148 1467356 208 0.0
RAM 225240 225240 0 0.0
qpg lighting-app qpg6105+debug FLASH 663976 663992 16 0.0
RAM 105424 105424 0 0.0
lock-app qpg6105+debug FLASH 621772 621772 0 0.0
RAM 99868 99868 0 0.0
stm32 light STM32WB5MM-DK FLASH 484696 484696 0 0.0
RAM 144880 144880 0 0.0
telink bridge-app tlsr9258a FLASH 682888 682890 2 0.0
RAM 91208 91208 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 623318 623320 2 0.0
RAM 31440 31440 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 772148 772150 2 0.0
RAM 49300 49300 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 710742 710744 2 0.0
RAM 73504 73504 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 627784 627786 2 0.0
RAM 142140 142140 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 813776 813778 2 0.0
RAM 99684 99684 0 0.0
tizen all-clusters-app arm unknown 4988 4988 0 0.0
FLASH 1732480 1733096 616 0.0
RAM 90744 90744 0 0.0
chip-tool-ubsan arm unknown 10804 10804 0 0.0
FLASH 17969454 17970990 1536 0.0
RAM 7840748 7841548 800 0.0

@mergify mergify bot added the conflict label Dec 9, 2024
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.

This has

src/lib/support/FluentTreeObject.h Outdated Show resolved Hide resolved
src/lib/support/FluentTreeObject.h Outdated Show resolved Hide resolved
src/lib/support/FluentTreeObject.h Outdated Show resolved Hide resolved
src/lib/support/FluentTreeObject.h Outdated Show resolved Hide resolved
src/lib/support/FluentTreeObject.h Outdated Show resolved Hide resolved
src/lib/support/FluentTreeObject.h Outdated Show resolved Hide resolved
@mergify mergify bot removed the conflict label Dec 10, 2024
Copy link

github-actions bot commented Dec 10, 2024

PR #36754: Size comparison from 8606290 to 6b03605

Full report (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 8606290 6b03605 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1353340 1353340 0 0.0
RAM 104112 104112 0 0.0
bl702 lighting-app bl702+eth FLASH 651826 651826 0 0.0
RAM 25353 25353 0 0.0
bl702+wifi FLASH 829154 829154 0 0.0
RAM 14093 14093 0 0.0
bl706+mfd+rpc+littlefs FLASH 1057626 1057626 0 0.0
RAM 23933 23933 0 0.0
bl702l lighting-app bl702l+mfd+littlefs FLASH 979000 979000 0 0.0
RAM 16596 16596 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 839760 839760 0 0.0
RAM 123664 123664 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 825308 825308 0 0.0
RAM 125552 125552 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 772096 772096 0 0.0
RAM 114020 114020 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 756284 756284 0 0.0
RAM 114228 114228 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 631050 631226 176 0.0
RAM 205824 205824 0 0.0
lock CC3235SF_LAUNCHXL FLASH 669646 669806 160 0.0
RAM 205968 205968 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 681505 681505 0 0.0
RAM 78724 78724 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 701349 701349 0 0.0
RAM 81364 81364 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 701349 701349 0 0.0
RAM 81364 81364 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 658293 658293 0 0.0
RAM 73792 73792 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618065 618073 8 0.0
RAM 71708 71708 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 637693 637701 8 0.0
RAM 74252 74252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 637693 637701 8 0.0
RAM 74252 74252 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 637465 637465 0 0.0
RAM 74724 74724 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 657173 657173 0 0.0
RAM 77268 77268 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 657173 657173 0 0.0
RAM 77268 77268 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 613925 613925 0 0.0
RAM 68812 68812 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 633777 633777 0 0.0
RAM 71444 71444 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 633777 633777 0 0.0
RAM 71444 71444 0 0.0
efr32 lock-app BRD4187C FLASH 932340 932340 0 0.0
RAM 160192 160192 0 0.0
BRD4338a FLASH 746144 746296 152 0.0
RAM 233320 233320 0 0.0
window-app BRD4187C FLASH 1024784 1024976 192 0.0
RAM 128296 128296 0 0.0
esp32 all-clusters-app c3devkit DRAM 95360 95360 0 0.0
FLASH 1543480 1543482 2 0.0
IRAM 82542 82542 0 0.0
m5stack DRAM 116312 116312 0 0.0
FLASH 1550134 1550194 60 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4720 4720 0 0.0
FLASH 2715063 2715927 864 0.0
RAM 129800 129800 0 0.0
all-clusters-app debug unknown 5560 5560 0 0.0
FLASH 6007064 6007928 864 0.0
RAM 523544 523544 0 0.0
all-clusters-minimal-app debug unknown 5456 5456 0 0.0
FLASH 5344804 5345668 864 0.0
RAM 242600 242600 0 0.0
bridge-app debug unknown 5440 5440 0 0.0
FLASH 4684372 4685236 864 0.0
RAM 218416 218416 0 0.0
chip-tool debug unknown 5992 5992 0 0.0
FLASH 12847612 12848476 864 0.0
RAM 582474 582474 0 0.0
chip-tool-ipv6only arm64 unknown 21344 21344 0 0.0
FLASH 10982320 10983152 832 0.0
RAM 633384 633384 0 0.0
fabric-admin debug unknown 5816 5816 0 0.0
FLASH 11254413 11255277 864 0.0
RAM 582850 582850 0 0.0
fabric-bridge-app debug unknown 4696 4696 0 0.0
FLASH 4509948 4510812 864 0.0
RAM 205600 205600 0 0.0
fabric-sync debug unknown 4936 4936 0 0.0
FLASH 5607813 5608677 864 0.0
RAM 472584 472584 0 0.0
lighting-app debug+rpc+ui unknown 6104 6104 0 0.0
FLASH 5621073 5621937 864 0.0
RAM 228792 228792 0 0.0
lock-app debug unknown 5376 5376 0 0.0
FLASH 4733612 4734476 864 0.0
RAM 204776 204776 0 0.0
ota-provider-app debug unknown 4752 4752 0 0.0
FLASH 4359350 4360214 864 0.0
RAM 198448 198448 0 0.0
ota-requestor-app debug unknown 4688 4688 0 0.0
FLASH 4498342 4499206 864 0.0
RAM 203032 203032 0 0.0
shell debug unknown 4248 4248 0 0.0
FLASH 3030077 3030941 864 0.0
RAM 160424 160424 0 0.0
thermostat-no-ble arm64 unknown 9536 9536 0 0.0
FLASH 4103472 4104304 832 0.0
RAM 243040 243040 0 0.0
tv-app debug unknown 5704 5704 0 0.0
FLASH 5958773 5959637 864 0.0
RAM 596016 596016 0 0.0
tv-casting-app debug unknown 5288 5288 0 0.0
FLASH 11054365 11055229 864 0.0
RAM 692152 692152 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 917616 917620 4 0.0
RAM 143292 143292 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 890104 890096 -8 -0.0
RAM 141487 141487 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 851760 851764 4 0.0
RAM 142200 142200 0 0.0
nxp contact k32w0+release FLASH 585440 585440 0 0.0
RAM 71080 71080 0 0.0
mcxw71+release FLASH 600048 600048 0 0.0
RAM 63176 63176 0 0.0
light k32w0+release FLASH 612396 612412 16 0.0
RAM 70472 70472 0 0.0
k32w1+release FLASH 686576 686592 16 0.0
RAM 48808 48808 0 0.0
lock mcxw71+release FLASH 762928 762928 0 0.0
RAM 70844 70844 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646364 1646524 160 0.0
RAM 212104 212104 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1554108 1554284 176 0.0
RAM 208904 208904 0 0.0
light cy8ckit_062s2_43012 FLASH 1469436 1469612 176 0.0
RAM 200880 200880 0 0.0
lock cy8ckit_062s2_43012 FLASH 1467164 1467340 176 0.0
RAM 225240 225240 0 0.0
qpg lighting-app qpg6105+debug FLASH 664008 664024 16 0.0
RAM 105424 105424 0 0.0
lock-app qpg6105+debug FLASH 621796 621796 0 0.0
RAM 99868 99868 0 0.0
stm32 light STM32WB5MM-DK FLASH 484720 484720 0 0.0
RAM 144880 144880 0 0.0
telink bridge-app tlsr9258a FLASH 682920 682922 2 0.0
RAM 91208 91208 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 623350 623352 2 0.0
RAM 31440 31440 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 772180 772182 2 0.0
RAM 49300 49300 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 710774 710776 2 0.0
RAM 73504 73504 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 627794 627796 2 0.0
RAM 142140 142140 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 813808 813810 2 0.0
RAM 99684 99684 0 0.0
tizen all-clusters-app arm unknown 4988 4988 0 0.0
FLASH 1732528 1733096 568 0.0
RAM 90744 90744 0 0.0
chip-tool-ubsan arm unknown 10804 10804 0 0.0
FLASH 17969478 17970998 1520 0.0
RAM 7840748 7841532 784 0.0

@andy31415 andy31415 changed the title Create a FluentTreeObject class that allows tree-searching without extra intermediate if null/missing checks. Create a SpanSearchValue class that allows tree-searching without extra intermediate if null/missing checks. Dec 10, 2024
Copy link

github-actions bot commented Dec 10, 2024

PR #36754: Size comparison from 577074c to ce68521

Full report (54 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 577074c ce68521 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1353340 1353340 0 0.0
RAM 104112 104112 0 0.0
bl702 lighting-app bl702+eth FLASH 651826 651826 0 0.0
RAM 25353 25353 0 0.0
bl702+wifi FLASH 829154 829154 0 0.0
RAM 14093 14093 0 0.0
bl706+mfd+rpc+littlefs FLASH 1057626 1057626 0 0.0
RAM 23933 23933 0 0.0
bl702l lighting-app bl702l+mfd+littlefs FLASH 979000 979000 0 0.0
RAM 16596 16596 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 839760 839760 0 0.0
RAM 123664 123664 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 825308 825308 0 0.0
RAM 125552 125552 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 772096 772096 0 0.0
RAM 114020 114020 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 756284 756284 0 0.0
RAM 114228 114228 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 631050 631226 176 0.0
RAM 205824 205824 0 0.0
lock CC3235SF_LAUNCHXL FLASH 669646 669806 160 0.0
RAM 205968 205968 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 681505 681505 0 0.0
RAM 78724 78724 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 701349 701349 0 0.0
RAM 81364 81364 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 701349 701349 0 0.0
RAM 81364 81364 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 658293 658293 0 0.0
RAM 73792 73792 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618065 618073 8 0.0
RAM 71708 71708 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 637693 637701 8 0.0
RAM 74252 74252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 637693 637701 8 0.0
RAM 74252 74252 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 637465 637465 0 0.0
RAM 74724 74724 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 657173 657173 0 0.0
RAM 77268 77268 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 657173 657173 0 0.0
RAM 77268 77268 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 613925 613925 0 0.0
RAM 68812 68812 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 633777 633777 0 0.0
RAM 71444 71444 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 633777 633777 0 0.0
RAM 71444 71444 0 0.0
efr32 lock-app BRD4187C FLASH 932340 932340 0 0.0
RAM 160192 160192 0 0.0
BRD4338a FLASH 746144 746296 152 0.0
RAM 233320 233320 0 0.0
window-app BRD4187C FLASH 1024784 1024976 192 0.0
RAM 128296 128296 0 0.0
esp32 all-clusters-app c3devkit DRAM 95360 95360 0 0.0
FLASH 1543480 1543482 2 0.0
IRAM 82542 82542 0 0.0
m5stack DRAM 116312 116312 0 0.0
FLASH 1550134 1550194 60 0.0
IRAM 117039 117039 0 0.0
linux chip-tool-ipv6only arm64 unknown 21344 21344 0 0.0
FLASH 10982320 10983152 832 0.0
RAM 633384 633384 0 0.0
thermostat-no-ble arm64 unknown 9536 9536 0 0.0
FLASH 4103472 4104304 832 0.0
RAM 243040 243040 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 917616 917620 4 0.0
RAM 143292 143292 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 890104 890096 -8 -0.0
RAM 141487 141487 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 851760 851764 4 0.0
RAM 142200 142200 0 0.0
nxp contact k32w0+release FLASH 585440 585440 0 0.0
RAM 71080 71080 0 0.0
mcxw71+release FLASH 600048 600048 0 0.0
RAM 63176 63176 0 0.0
light k32w0+release FLASH 612396 612412 16 0.0
RAM 70472 70472 0 0.0
k32w1+release FLASH 686576 686592 16 0.0
RAM 48808 48808 0 0.0
lock mcxw71+release FLASH 762928 762928 0 0.0
RAM 70844 70844 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646364 1646524 160 0.0
RAM 212104 212104 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1554108 1554284 176 0.0
RAM 208904 208904 0 0.0
light cy8ckit_062s2_43012 FLASH 1469436 1469612 176 0.0
RAM 200880 200880 0 0.0
lock cy8ckit_062s2_43012 FLASH 1467164 1467340 176 0.0
RAM 225240 225240 0 0.0
qpg lighting-app qpg6105+debug FLASH 664008 664024 16 0.0
RAM 105424 105424 0 0.0
lock-app qpg6105+debug FLASH 621796 621796 0 0.0
RAM 99868 99868 0 0.0
stm32 light STM32WB5MM-DK FLASH 484720 484720 0 0.0
RAM 144880 144880 0 0.0
telink bridge-app tlsr9258a FLASH 682920 682922 2 0.0
RAM 91208 91208 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 623350 623352 2 0.0
RAM 31440 31440 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 772180 772182 2 0.0
RAM 49300 49300 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 710774 710776 2 0.0
RAM 73504 73504 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 627794 627796 2 0.0
RAM 142140 142140 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 813808 813810 2 0.0
RAM 99684 99684 0 0.0
tizen all-clusters-app arm unknown 4988 4988 0 0.0
FLASH 1732528 1733096 568 0.0
RAM 90744 90744 0 0.0
chip-tool-ubsan arm unknown 10804 10804 0 0.0
FLASH 17969478 17970998 1520 0.0
RAM 7840748 7841532 784 0.0

Copy link

github-actions bot commented Dec 10, 2024

PR #36754: Size comparison from 577074c to 57fc226

Full report (3 builds for cc32xx, stm32)
platform target config section 577074c 57fc2261 change % change
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 631050 631194 144 0.0
RAM 205824 205824 0 0.0
lock CC3235SF_LAUNCHXL FLASH 669646 669790 144 0.0
RAM 205968 205968 0 0.0
stm32 light STM32WB5MM-DK FLASH 484720 484720 0 0.0
RAM 144880 144880 0 0.0

Copy link

github-actions bot commented Dec 10, 2024

PR #36754: Size comparison from 577074c to 2aa7c96

Full report (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 577074c 2aa7c96 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1353340 1353340 0 0.0
RAM 104112 104112 0 0.0
bl702 lighting-app bl702+eth FLASH 651826 651826 0 0.0
RAM 25353 25353 0 0.0
bl702+wifi FLASH 829154 829154 0 0.0
RAM 14093 14093 0 0.0
bl706+mfd+rpc+littlefs FLASH 1057626 1057626 0 0.0
RAM 23933 23933 0 0.0
bl702l lighting-app bl702l+mfd+littlefs FLASH 979000 979000 0 0.0
RAM 16596 16596 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 839760 839760 0 0.0
RAM 123664 123664 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 825308 825308 0 0.0
RAM 125552 125552 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 772096 772096 0 0.0
RAM 114020 114020 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 756284 756300 16 0.0
RAM 114228 114228 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 631050 539605 -91445 -14.5
RAM 205824 205760 -64 -0.0
lock CC3235SF_LAUNCHXL FLASH 669646 573885 -95761 -14.3
RAM 205968 205904 -64 -0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 681505 681513 8 0.0
RAM 78724 78724 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 701349 701357 8 0.0
RAM 81364 81364 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 701349 701357 8 0.0
RAM 81364 81364 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 658293 658301 8 0.0
RAM 73792 73792 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618065 618073 8 0.0
RAM 71708 71708 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 637693 637701 8 0.0
RAM 74252 74252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 637693 637701 8 0.0
RAM 74252 74252 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 637465 637473 8 0.0
RAM 74724 74724 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 657173 657181 8 0.0
RAM 77268 77268 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 657173 657181 8 0.0
RAM 77268 77268 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 613925 613933 8 0.0
RAM 68812 68812 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 633777 633785 8 0.0
RAM 71444 71444 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 633777 633785 8 0.0
RAM 71444 71444 0 0.0
efr32 lock-app BRD4187C FLASH 932340 932340 0 0.0
RAM 160192 160192 0 0.0
BRD4338a FLASH 746144 746248 104 0.0
RAM 233320 233320 0 0.0
window-app BRD4187C FLASH 1024784 1024912 128 0.0
RAM 128296 128296 0 0.0
esp32 all-clusters-app c3devkit DRAM 95360 95360 0 0.0
FLASH 1543480 1543476 -4 -0.0
IRAM 82542 82542 0 0.0
m5stack DRAM 116312 116312 0 0.0
FLASH 1550134 1550130 -4 -0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4720 4720 0 0.0
FLASH 2715063 2715629 566 0.0
RAM 129800 129800 0 0.0
all-clusters-app debug unknown 5560 5560 0 0.0
FLASH 6007064 6007630 566 0.0
RAM 523544 523544 0 0.0
all-clusters-minimal-app debug unknown 5456 5456 0 0.0
FLASH 5344804 5345370 566 0.0
RAM 242600 242600 0 0.0
bridge-app debug unknown 5440 5440 0 0.0
FLASH 4684372 4684938 566 0.0
RAM 218416 218416 0 0.0
chip-tool debug unknown 5992 5992 0 0.0
FLASH 12847612 12848178 566 0.0
RAM 582474 582474 0 0.0
chip-tool-ipv6only arm64 unknown 21344 21344 0 0.0
FLASH 10982320 10983024 704 0.0
RAM 633384 633384 0 0.0
fabric-admin debug unknown 5816 5816 0 0.0
FLASH 11254413 11254979 566 0.0
RAM 582850 582850 0 0.0
fabric-bridge-app debug unknown 4696 4696 0 0.0
FLASH 4509948 4510514 566 0.0
RAM 205600 205600 0 0.0
fabric-sync debug unknown 4936 4936 0 0.0
FLASH 5607813 5609429 1616 0.0
RAM 472584 472584 0 0.0
lighting-app debug+rpc+ui unknown 6104 6104 0 0.0
FLASH 5621073 5621633 560 0.0
RAM 228792 228792 0 0.0
lock-app debug unknown 5376 5376 0 0.0
FLASH 4733612 4734178 566 0.0
RAM 204776 204776 0 0.0
ota-provider-app debug unknown 4752 4752 0 0.0
FLASH 4359350 4359916 566 0.0
RAM 198448 198448 0 0.0
ota-requestor-app debug unknown 4688 4688 0 0.0
FLASH 4498342 4498908 566 0.0
RAM 203032 203032 0 0.0
shell debug unknown 4248 4248 0 0.0
FLASH 3030077 3030653 576 0.0
RAM 160424 160424 0 0.0
thermostat-no-ble arm64 unknown 9536 9536 0 0.0
FLASH 4103472 4104176 704 0.0
RAM 243040 243040 0 0.0
tv-app debug unknown 5704 5704 0 0.0
FLASH 5958773 5959333 560 0.0
RAM 596016 596016 0 0.0
tv-casting-app debug unknown 5288 5288 0 0.0
FLASH 11054365 11054941 576 0.0
RAM 692152 692152 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 917616 917624 8 0.0
RAM 143292 143292 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 890104 890104 0 0.0
RAM 141487 141487 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 851760 851772 12 0.0
RAM 142200 142200 0 0.0
nxp contact k32w0+release FLASH 585440 585440 0 0.0
RAM 71080 71080 0 0.0
mcxw71+release FLASH 600048 600048 0 0.0
RAM 63176 63176 0 0.0
light k32w0+release FLASH 612396 612412 16 0.0
RAM 70472 70472 0 0.0
k32w1+release FLASH 686576 686592 16 0.0
RAM 48808 48808 0 0.0
lock mcxw71+release FLASH 762928 762928 0 0.0
RAM 70844 70844 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646364 1646492 128 0.0
RAM 212104 212104 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1554108 1554236 128 0.0
RAM 208904 208904 0 0.0
light cy8ckit_062s2_43012 FLASH 1469436 1469564 128 0.0
RAM 200880 200880 0 0.0
lock cy8ckit_062s2_43012 FLASH 1467164 1467292 128 0.0
RAM 225240 225240 0 0.0
qpg lighting-app qpg6105+debug FLASH 664008 664024 16 0.0
RAM 105424 105424 0 0.0
lock-app qpg6105+debug FLASH 621796 621812 16 0.0
RAM 99868 99868 0 0.0
stm32 light STM32WB5MM-DK FLASH 484720 484728 8 0.0
RAM 144880 144880 0 0.0
telink bridge-app tlsr9258a FLASH 682920 682916 -4 -0.0
RAM 91208 91208 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 623350 623346 -4 -0.0
RAM 31440 31440 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 772180 772176 -4 -0.0
RAM 49300 49300 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 710774 710770 -4 -0.0
RAM 73504 73504 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 627794 627790 -4 -0.0
RAM 142140 142140 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 813808 813804 -4 -0.0
RAM 99684 99684 0 0.0
tizen all-clusters-app arm unknown 4988 4988 0 0.0
FLASH 1732528 1732944 416 0.0
RAM 90744 90744 0 0.0
chip-tool-ubsan arm unknown 10804 10804 0 0.0
FLASH 17969478 17970750 1272 0.0
RAM 7840748 7841484 736 0.0

Copy link

github-actions bot commented Dec 11, 2024

PR #36754: Size comparison from c799e5c to 9315ba1

Full report (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section c799e5c4 9315ba12 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1353340 1353340 0 0.0
RAM 104112 104112 0 0.0
bl702 lighting-app bl702+eth FLASH 651826 651826 0 0.0
RAM 25353 25353 0 0.0
bl702+wifi FLASH 829154 829154 0 0.0
RAM 14093 14093 0 0.0
bl706+mfd+rpc+littlefs FLASH 1057626 1057626 0 0.0
RAM 23933 23933 0 0.0
bl702l lighting-app bl702l+mfd+littlefs FLASH 979000 979000 0 0.0
RAM 16596 16596 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 839760 839760 0 0.0
RAM 123664 123664 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 825308 825308 0 0.0
RAM 125552 125552 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 772096 772096 0 0.0
RAM 114020 114020 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 756284 756300 16 0.0
RAM 114228 114228 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 631050 539605 -91445 -14.5
RAM 205824 205760 -64 -0.0
lock CC3235SF_LAUNCHXL FLASH 669646 573885 -95761 -14.3
RAM 205968 205904 -64 -0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 681505 681513 8 0.0
RAM 78724 78724 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 701349 701357 8 0.0
RAM 81364 81364 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 701349 701357 8 0.0
RAM 81364 81364 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 658293 658301 8 0.0
RAM 73792 73792 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618065 618073 8 0.0
RAM 71708 71708 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 637693 637701 8 0.0
RAM 74252 74252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 637693 637701 8 0.0
RAM 74252 74252 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 637465 637473 8 0.0
RAM 74724 74724 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 657173 657181 8 0.0
RAM 77268 77268 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 657173 657181 8 0.0
RAM 77268 77268 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 613925 613933 8 0.0
RAM 68812 68812 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 633777 633785 8 0.0
RAM 71444 71444 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 633777 633785 8 0.0
RAM 71444 71444 0 0.0
efr32 lock-app BRD4187C FLASH 932340 932340 0 0.0
RAM 160192 160192 0 0.0
BRD4338a FLASH 746144 746248 104 0.0
RAM 233320 233320 0 0.0
window-app BRD4187C FLASH 1024784 1024912 128 0.0
RAM 128296 128296 0 0.0
esp32 all-clusters-app c3devkit DRAM 95360 95360 0 0.0
FLASH 1543480 1543476 -4 -0.0
IRAM 82542 82542 0 0.0
m5stack DRAM 116312 116312 0 0.0
FLASH 1550134 1550130 -4 -0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4720 4720 0 0.0
FLASH 2715063 2715629 566 0.0
RAM 129800 129800 0 0.0
all-clusters-app debug unknown 5560 5560 0 0.0
FLASH 6007064 6007630 566 0.0
RAM 523544 523544 0 0.0
all-clusters-minimal-app debug unknown 5456 5456 0 0.0
FLASH 5344804 5345370 566 0.0
RAM 242600 242600 0 0.0
bridge-app debug unknown 5440 5440 0 0.0
FLASH 4684372 4684938 566 0.0
RAM 218416 218416 0 0.0
chip-tool debug unknown 5992 5992 0 0.0
FLASH 12847612 12848178 566 0.0
RAM 582474 582474 0 0.0
chip-tool-ipv6only arm64 unknown 21344 21344 0 0.0
FLASH 10982320 10983024 704 0.0
RAM 633384 633384 0 0.0
fabric-admin debug unknown 5816 5816 0 0.0
FLASH 11254413 11254979 566 0.0
RAM 582850 582850 0 0.0
fabric-bridge-app debug unknown 4696 4696 0 0.0
FLASH 4509948 4510514 566 0.0
RAM 205600 205600 0 0.0
fabric-sync debug unknown 4936 4936 0 0.0
FLASH 5608853 5609429 576 0.0
RAM 472584 472584 0 0.0
lighting-app debug+rpc+ui unknown 6104 6104 0 0.0
FLASH 5621073 5621633 560 0.0
RAM 228792 228792 0 0.0
lock-app debug unknown 5376 5376 0 0.0
FLASH 4733612 4734178 566 0.0
RAM 204776 204776 0 0.0
ota-provider-app debug unknown 4752 4752 0 0.0
FLASH 4359350 4359916 566 0.0
RAM 198448 198448 0 0.0
ota-requestor-app debug unknown 4688 4688 0 0.0
FLASH 4498342 4498908 566 0.0
RAM 203032 203032 0 0.0
shell debug unknown 4248 4248 0 0.0
FLASH 3030077 3030653 576 0.0
RAM 160424 160424 0 0.0
thermostat-no-ble arm64 unknown 9536 9536 0 0.0
FLASH 4103472 4104176 704 0.0
RAM 243040 243040 0 0.0
tv-app debug unknown 5704 5704 0 0.0
FLASH 5958773 5959333 560 0.0
RAM 596016 596016 0 0.0
tv-casting-app debug unknown 5288 5288 0 0.0
FLASH 11054365 11054941 576 0.0
RAM 692152 692152 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 917616 917624 8 0.0
RAM 143292 143292 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 890104 890104 0 0.0
RAM 141487 141487 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 851760 851772 12 0.0
RAM 142200 142200 0 0.0
nxp contact k32w0+release FLASH 585440 585440 0 0.0
RAM 71080 71080 0 0.0
mcxw71+release FLASH 600048 600048 0 0.0
RAM 63176 63176 0 0.0
light k32w0+release FLASH 612396 612412 16 0.0
RAM 70472 70472 0 0.0
k32w1+release FLASH 686576 686592 16 0.0
RAM 48808 48808 0 0.0
lock mcxw71+release FLASH 762928 762928 0 0.0
RAM 70844 70844 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646364 1646492 128 0.0
RAM 212104 212104 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1554108 1554236 128 0.0
RAM 208904 208904 0 0.0
light cy8ckit_062s2_43012 FLASH 1469436 1469564 128 0.0
RAM 200880 200880 0 0.0
lock cy8ckit_062s2_43012 FLASH 1467164 1467292 128 0.0
RAM 225240 225240 0 0.0
qpg lighting-app qpg6105+debug FLASH 664008 664024 16 0.0
RAM 105424 105424 0 0.0
lock-app qpg6105+debug FLASH 621796 621812 16 0.0
RAM 99868 99868 0 0.0
stm32 light STM32WB5MM-DK FLASH 484720 484728 8 0.0
RAM 144880 144880 0 0.0
telink bridge-app tlsr9258a FLASH 682920 682916 -4 -0.0
RAM 91208 91208 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 623350 623346 -4 -0.0
RAM 31440 31440 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 772180 772176 -4 -0.0
RAM 49300 49300 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 710774 710770 -4 -0.0
RAM 73504 73504 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 627794 627790 -4 -0.0
RAM 142140 142140 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 813808 813804 -4 -0.0
RAM 99684 99684 0 0.0
tizen all-clusters-app arm unknown 4988 4988 0 0.0
FLASH 1732528 1732944 416 0.0
RAM 90744 90744 0 0.0
chip-tool-ubsan arm unknown 10804 10804 0 0.0
FLASH 17969478 17970750 1272 0.0
RAM 7840748 7841484 736 0.0

src/lib/support/SpanSearchValue.h Outdated Show resolved Hide resolved
src/lib/support/SpanSearchValue.h Outdated Show resolved Hide resolved
src/lib/support/SpanSearchValue.h Outdated Show resolved Hide resolved
src/lib/support/SpanSearchValue.h Show resolved Hide resolved
Copy link

github-actions bot commented Dec 13, 2024

PR #36754: Size comparison from c799e5c to 6103ce4

Full report (25 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, nrfconnect, qpg, stm32, telink, tizen)
platform target config section c799e5c4 6103ce4 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1353340 1353340 0 0.0
RAM 104112 104112 0 0.0
bl702 lighting-app bl702+eth FLASH 651826 651826 0 0.0
RAM 25353 25353 0 0.0
bl702+wifi FLASH 829154 829154 0 0.0
RAM 14093 14093 0 0.0
bl706+mfd+rpc+littlefs FLASH 1057626 1057626 0 0.0
RAM 23933 23933 0 0.0
bl702l lighting-app bl702l+mfd+littlefs FLASH 979000 979000 0 0.0
RAM 16596 16596 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 839760 839760 0 0.0
RAM 123664 123664 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 825308 825308 0 0.0
RAM 125552 125552 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 772096 772096 0 0.0
RAM 114020 114020 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 756284 756300 16 0.0
RAM 114228 114228 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 631050 539605 -91445 -14.5
RAM 205824 205760 -64 -0.0
lock CC3235SF_LAUNCHXL FLASH 669646 573885 -95761 -14.3
RAM 205968 205904 -64 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 917616 917624 8 0.0
RAM 143292 143292 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 890104 890104 0 0.0
RAM 141487 141487 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 851760 851772 12 0.0
RAM 142200 142200 0 0.0
qpg lighting-app qpg6105+debug FLASH 664008 664024 16 0.0
RAM 105424 105424 0 0.0
lock-app qpg6105+debug FLASH 621796 621812 16 0.0
RAM 99868 99868 0 0.0
stm32 light STM32WB5MM-DK FLASH 484720 484728 8 0.0
RAM 144880 144880 0 0.0
telink bridge-app tlsr9258a FLASH 682920 682916 -4 -0.0
RAM 91208 91208 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 623350 623346 -4 -0.0
RAM 31440 31440 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 772180 772176 -4 -0.0
RAM 49300 49300 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 710774 710770 -4 -0.0
RAM 73504 73504 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 627794 627790 -4 -0.0
RAM 142140 142140 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 813808 813804 -4 -0.0
RAM 99684 99684 0 0.0
tizen all-clusters-app arm unknown 4988 4988 0 0.0
FLASH 1732528 1732944 416 0.0
RAM 90744 90744 0 0.0
chip-tool-ubsan arm unknown 10804 10804 0 0.0
FLASH 17969478 17973406 3928 0.0
RAM 7840748 7842608 1860 0.0

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.

5 participants