-
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
[binding] Reduce binding manager size #14303
[binding] Reduce binding manager size #14303
Conversation
dd8ca50
to
c809017
Compare
PR #14303: Size comparison from c0e4d7d to c809017 Increases (5 builds for esp32, linux, mbed, p6)
Decreases (8 builds for esp32, linux, mbed, p6, telink)
Full report (29 builds for cyw30739, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
|
/rebase |
1 similar comment
/rebase |
c809017
to
b6e5b85
Compare
PR #14303: Size comparison from 3bd289d to b6e5b85 Increases (5 builds for esp32, linux, mbed, p6)
Decreases (8 builds for esp32, linux, mbed, p6, telink)
Full report (32 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
|
b6e5b85
to
5ff4f87
Compare
The PR stores the pending notifications as a flat array of binding table indecies to recude the size of the BindingManager class.
5ff4f87
to
d3e13e2
Compare
PR #14303: Size comparison from 271f275 to d3e13e2 Increases (8 builds for esp32, linux, mbed, p6, telink)
Decreases (8 builds for esp32, linux, mbed, p6, telink)
Full report (33 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will need substantial changes and re-review once #14487 merges.
@bzbarsky-apple Merged latest master and comments resolved. |
PR #14303: Size comparison from 0f7be8b to 020f7f1 Increases (5 builds for esp32, linux, mbed, telink)
Decreases (6 builds for esp32, linux, mbed, p6, telink)
Full report (34 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
|
Problem
The
BindingManger
class consumes about 1KB of RAM.Change overview
The PR stores the pending notifications as a flat array of binding table indecies. The RAM usage is reduced to about 250 bytes.
Testing
Build
all-cluster-app
with gn argschip_build_libshell=true
Run two linux all-cluster-app in different docker containers or ip namespaces.
Now in the second device's shell: