This repository has been archived by the owner on Mar 13, 2023. It is now read-only.
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.
What type of pull request is this?
Description
This PR changes the default chunking routine to use the REST api instead of gateway commands.
The main benifit of this is that we can chunk guilds far faster. Through my testing I have found using REST chunking takes approximately 30% less time than traditional gateway chunking. The main bottleneck remains actually creating the member objects.
The reasoning why this is faster is the fact that the gateway has far more intense ratelimits than the REST api. This means the client is able to make substantionally more requests in the same interval (while still respecting all ratelimts). On top of this, when gateway-chunking, you must wait for each chunk to arrive at a relatively slow rate.
Changes
guild.http_chunk
guild.chunk
which callsguild.http_chunk
guild.chunk_guild
intoguild.gateway_chunk
guild.chunk_guild
guild_create
processor to use newguild.chunk
methoidChecklist
Python 3.10.x