-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Use TLV-based encoding for ember data buffer. #36172
Use TLV-based encoding for ember data buffer. #36172
Conversation
This saves 2K of flash on some test devices, being much more efficient in code size compared to using datamodel code.
Review changes with SemanticDiff. |
PR #36172: Size comparison from 8c31c3f to bff7f03 Full report (67 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
PR #36172: Size comparison from 8c31c3f to a89f016 Full report (53 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
src/app/codegen-data-model-provider/tests/TestEmberDataBuffer.cpp
Outdated
Show resolved
Hide resolved
src/app/codegen-data-model-provider/tests/TestEmberDataBuffer.cpp
Outdated
Show resolved
Hide resolved
PR #36172: Size comparison from 8c31c3f to a702c04 Increases above 0.2%:
Full report (67 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
PR #36172: Size comparison from 8c31c3f to 5836cea Full report (9 builds for cc13x4_26x4, cc32xx, qpg, stm32)
|
PR #36172: Size comparison from 5c0c92e to d6073eb Full report (67 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
PR #36172: Size comparison from 5c0c92e to e8b5cbe Full report (67 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
PR #36172: Size comparison from 5c0c92e to ecdca36 Increases above 0.2%:
Full report (67 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
PR #36172: Size comparison from a4a911c to cee5602 Full report (68 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
Co-authored-by: Boris Zbarsky <[email protected]>
Co-authored-by: Boris Zbarsky <[email protected]>
PR #36172: Size comparison from 70f168a to efe8b28 Full report (68 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
* Use TLV-based encoding for ember data buffer. This saves 2K of flash on some test devices, being much more efficient in code size compared to using datamodel code. * Restyled by clang-format * Restyled by shfmt * Undo unrelated change * Add some casts to make android compiler happy * Updates based on code review * Added unit tests for min/max int64 values * Rename PascalString to PascalStringType * Fix rename * Restyle * Add helper methods inside odd sized integers to localize code logic * Restyled by clang-format * Fix up negative ranges * Fixed ranges * Fix signed max bug and update unit tests * Make android happy * Typo fix * Switch up unit tests * Update a nullable check to make use of ValueToNullValue * Add namespace prefix * Update src/app/codegen-data-model-provider/EmberDataBuffer.cpp Co-authored-by: Boris Zbarsky <[email protected]> * Update src/app/codegen-data-model-provider/EmberDataBuffer.h Co-authored-by: Boris Zbarsky <[email protected]> * Correct comments:signed, not unsigned * Use constructors for the buffer info * Rename things to EmberAttributeDataBuffer * Undo submodule updates * Restyled by clang-format --------- Co-authored-by: Restyled.io <[email protected]> Co-authored-by: Andrei Litvin <[email protected]> Co-authored-by: Boris Zbarsky <[email protected]>
This saves 2K of flash on some test devices, being much more efficient in code size compared to using datamodel code.
Also updated the coverage script to support running only a specific target (used it to check coverage of the newly added test without going through all other tests).
Line coverage (for the newly added test only) is complete except the
chipDie
instances: