-
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
Add app configuration to enable/disable IM write #7791
Comments
To be clear, this is ~1KB of codesize, if I am measuring it right, that we don't need to be paying for a lot of constrained apps. |
maybe we can introduce the feature flag so that we don't include it in constrained apps? |
Right, that is my proposal: a feature flag, and then separately work on auto-deducing it at codegen time. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
@bzbarsky-apple Is this done? |
Looks fixed to me, by getting rid of the WriteClient pool. Now only apps that actually create a WriteClient pay the cost. In particular, the |
Problem
After #7730 the code for WriteClient is included in all apps, including those that never issue any writes. This seems to be because a lot of that code is driven from
WriteClient::OnMessageReceived
, which is a virtual function (from ExchangeContext), hence always included by the linker and then it pulls in all the rest.Proposed Solution
Since we can't rely on the linker to strip this out, we may want to decide whether to include WriteClient based on the app configuration. If the app does not include the client sides of any clusters that have writable attributes, it should not be including anything related to WriteClient. Other ideas welcome!
@yunhanw-google @andy31415
The text was updated successfully, but these errors were encountered: