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

WIP: Build optimizations #37401

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from
Draft

Conversation

adigie
Copy link
Contributor

@adigie adigie commented Feb 5, 2025

Optimize nrfconnect build times.

Testing

Tested using automated tests.

Copy link

semanticdiff-com bot commented Feb 5, 2025

Review changes with  SemanticDiff

Copy link

github-actions bot commented Feb 5, 2025

PR #37401: Size comparison from 577b3f2 to 445eb31

Full report (42 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, psoc6, qpg, stm32, telink, tizen)
platform target config section 577b3f2 445eb31 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1093988 1093988 0 0.0
RAM 103298 103298 0 0.0
bl702 lighting-app bl702+eth FLASH 650600 650600 0 0.0
RAM 25265 25265 0 0.0
bl702+wifi FLASH 828508 828508 0 0.0
RAM 13981 13981 0 0.0
bl706+mfd+rpc+littlefs FLASH 1057068 1057068 0 0.0
RAM 23861 23861 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 888502 888502 0 0.0
RAM 18504 18504 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 971488 971488 0 0.0
RAM 16368 16368 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 838160 838160 0 0.0
RAM 123464 123464 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 823564 823564 0 0.0
RAM 125344 125344 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 770836 770836 0 0.0
RAM 113804 113804 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 755088 755088 0 0.0
RAM 114012 114012 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 538637 538637 0 0.0
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 572493 572493 0 0.0
RAM 205344 205344 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 679601 679601 0 0.0
RAM 78532 78532 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 699445 699445 0 0.0
RAM 81172 81172 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 699445 699445 0 0.0
RAM 81172 81172 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 656389 656389 0 0.0
RAM 73600 73600 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 615977 615977 0 0.0
RAM 71516 71516 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 635613 635613 0 0.0
RAM 74060 74060 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 635613 635613 0 0.0
RAM 74060 74060 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 635457 635457 0 0.0
RAM 74524 74524 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 655165 655165 0 0.0
RAM 77068 77068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 655165 655165 0 0.0
RAM 77068 77068 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 611893 611893 0 0.0
RAM 68612 68612 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 631753 631753 0 0.0
RAM 71252 71252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 631753 631753 0 0.0
RAM 71252 71252 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646844 1646844 0 0.0
RAM 211560 211560 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1553612 1553612 0 0.0
RAM 208376 208376 0 0.0
light cy8ckit_062s2_43012 FLASH 1469292 1469292 0 0.0
RAM 200352 200352 0 0.0
lock cy8ckit_062s2_43012 FLASH 1467340 1467340 0 0.0
RAM 224688 224688 0 0.0
qpg lighting-app qpg6105+debug FLASH 662232 662232 0 0.0
RAM 105204 105204 0 0.0
lock-app qpg6105+debug FLASH 620004 620004 0 0.0
RAM 99648 99648 0 0.0
stm32 light STM32WB5MM-DK FLASH 482824 482824 0 0.0
RAM 144672 144672 0 0.0
telink bridge-app tl7218x FLASH 665242 665242 0 0.0
RAM 90812 90812 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 622000 622000 0 0.0
RAM 31484 31484 0 0.0
light-app-ota-shell-factory-data tl3218x FLASH 770754 770754 0 0.0
RAM 43552 43552 0 0.0
tl7218x FLASH 779284 779284 0 0.0
RAM 98688 98688 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 680618 680618 0 0.0
RAM 52176 52176 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 709172 709172 0 0.0
RAM 73384 73384 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 626086 626086 0 0.0
RAM 142016 142016 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 813468 813468 0 0.0
RAM 99560 99560 0 0.0
tizen all-clusters-app arm unknown 5116 5116 0 0.0
FLASH 1752956 1752956 0 0.0
RAM 93524 93524 0 0.0
chip-tool-ubsan arm unknown 11408 11408 0 0.0
FLASH 18699718 18699718 0 0.0
RAM 8184616 8184616 0 0.0

* Move OnboardingCodesUtils to separate target.
* Remove shell dependency on server

Signed-off-by: Adrian Gielniewski <[email protected]>
import("//build_overrides/chip.gni")
import("${chip_root}/src/app/common_flags.gni")

source_set("onboarding-codes-utils") {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you could make a sourceset without a separate folder too (less changes in include paths, so smaller delta).

Not strongly opposed either way. Somewhat concerned of a new folder with utils in the name since those tend to start accepting anything inside. Maybe just onboarding-codes would be sufficient (and we could rename the Util in the h/cpp as well, but that results in a larger delta.

chip_device_platform == "openiotsdk" ||
chip_device_platform == "nrfconnect" ||
chip_device_platform == "esp32"))) {
if (chip_build_tests && !(chip_device_platform == "mbed" ||
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change should probably be independent.

it does look more correct (i.e. test bits should depend on tests), however it also looks reasonably stand alone.

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.

2 participants