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

Enable EndpointIterator to target search single group ID #25758

Conversation

tehampson
Copy link
Contributor

Running RR_1_1 test where we stress test by using max of everything on every fabric, it was found that each iterator step could take up to 21ms. For a large enough group table ReadGroupTable was taking more then 5 second. By targeting the group id for which we want to iterator over endpoints we can reduce time ReadGroupTable for large tables by an order of magnitude.

This is one of the 4 PR that will be required to address #25532

Running RR_1_1 test where we stress test by using max of everything on
every fabric, it was found that each iterator step could take up to
21ms. For a large enough group table ReadGroupTable was taking more
then 5 second. By targeting the group id for which we want to iterator
over endpoints we can reduce time `ReadGroupTable` for large tables by
an order of magnitude.
@github-actions github-actions bot added the app label Mar 20, 2023
@github-actions
Copy link

PR #25758: Size comparison from 8425d28 to a957528

Increases (1 build for cc32xx)
platform target config section 8425d28 a957528 change % change
cc32xx lock CC3235SF_LAUNCHXL (read only) 645601 645825 224 0.0
.debug_frame 300316 300332 16 0.0
.debug_info 20248011 20250960 2949 0.0
.debug_line 2661469 2662081 612 0.0
.debug_loc 2805592 2806773 1181 0.0
.debug_ranges 283208 283344 136 0.0
.debug_str 3027174 3027534 360 0.0
.strtab 380421 380469 48 0.0
.text 537488 537712 224 0.0
Decreases (1 build for cc32xx)
platform target config section 8425d28 a957528 change % change
cc32xx lock CC3235SF_LAUNCHXL .debug_abbrev 930289 930283 -6 -0.0
Full report (1 build for cc32xx)
platform target config section 8425d28 a957528 change % change
cc32xx lock CC3235SF_LAUNCHXL 0 0 0 0.0
(read only) 645601 645825 224 0.0
(read/write) 203848 203848 0 0.0
.ARM.attributes 44 44 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 197248 197248 0 0.0
.comment 194 194 0 0.0
.data 1480 1480 0 0.0
.debug_abbrev 930289 930283 -6 -0.0
.debug_aranges 87400 87400 0 0.0
.debug_frame 300316 300332 16 0.0
.debug_info 20248011 20250960 2949 0.0
.debug_line 2661469 2662081 612 0.0
.debug_loc 2805592 2806773 1181 0.0
.debug_ranges 283208 283344 136 0.0
.debug_str 3027174 3027534 360 0.0
.ramVecs 780 780 0 0.0
.resetVecs 64 64 0 0.0
.rodata 105993 105993 0 0.0
.shstrtab 232 232 0 0.0
.stab 204 204 0 0.0
.stabstr 441 441 0 0.0
.stack 2048 2048 0 0.0
.strtab 380421 380469 48 0.0
.symtab 257408 257408 0 0.0
.text 537488 537712 224 0.0

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.

I really like the fact that this does not even need extra storage in the iterator!

src/credentials/GroupDataProvider.h Outdated Show resolved Hide resolved
src/credentials/GroupDataProvider.h Outdated Show resolved Hide resolved
src/credentials/GroupDataProviderImpl.h Outdated Show resolved Hide resolved
@tehampson tehampson merged commit 10712fe into project-chip:master Mar 22, 2023
@tehampson tehampson deleted the enable-endpoint-iterator-to-specify-group-03-20 branch March 22, 2023 12:29
lecndav pushed a commit to lecndav/connectedhomeip that referenced this pull request Mar 22, 2023
…p#25758)

* Enable EndpointIterator to target search single group ID

Running RR_1_1 test where we stress test by using max of everything on
every fabric, it was found that each iterator step could take up to
21ms. For a large enough group table ReadGroupTable was taking more
then 5 second. By targeting the group id for which we want to iterator
over endpoints we can reduce time `ReadGroupTable` for large tables by
an order of magnitude.

* Added comment

* Apply suggestions from code review

Co-authored-by: Boris Zbarsky <[email protected]>

* Restyle

---------

Co-authored-by: Boris Zbarsky <[email protected]>
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.

3 participants