This repository was archived by the owner on Jan 25, 2025. It is now read-only.
Draft
Conversation
Collaborator
Author
|
ok with that second commit here I got the speed on my macbook down to ~17 seconds. so about 70% reduction in time simply by grouping it into one large internal poke versus many small internal pokes |
Contributor
|
I think we could improve performance still further by consolidating the update cards sent out in response to the create-many poke, as it still accumulates and has to consider many individual effects (whether or not it actually does anything with them, for example I think even though no one is subscribing to the vent path, gall or arvo may still have to consider whether or not to send updates on the vent path for each card it has which asks it to do that). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
We are seeing extreme slowness with contact sharing of large numbers of contacts.
to setup, install the realm desk from this branch on both a fakezod and fakebus
on fake ~bus
on fake ~zod
setup is now complete. (recommend putting zod and bus terminals side by side to see simeltaneous logging output)
now to run the test do
-realm!send-all-contacts ~busfrom the zod dojowill produce the following output:
for me(m2 macbookpro, very powerful hardware compared to anything most real ships use), the initial printout happens very quickly, but the final
'sent'log takes almost a full minute to come backon the fake~bus you will see:
very quickly/almost immediately, however, then there will be an
<<ames>>spinner for that ~1minute wait before the zod command finishes with'sent'I assume this is waiting for the %poke-ack to come back?
my only theory about what is happening is that
%receive-contactsis generating ~ 1 thousand cards and ames takes forever to process those? which obviously makes sense if it has to actually hit out to the network, but those cards the %receive-contacts poke is generating are only pokes into ~bus's own %bedrock agent. seems like pokes to yourself should be trivially fast and not have to be "slowed down" by ames?I'm not sure what the deal is