You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#1655 and #1708 add support for sending large command arguments as leaked vectors of bytes to Rust. This speeds up the requests significantly. This is based on a threshold retrieved from Rust.
However a transaction can be made up of multiple requests that individually have arguments that are smaller than this threshold but exceed it when combined.
This feature request would be to use leaked pointers when the combined length of all command arguments in a transaction exceed the threshold rather than only when an individual command.
Use Case
Better performance for large transactions where each request does not exceed the argument size limit individually, but combined do exceed.
Proposed Solution
Change Transactions to contain a List<CommandBuilder, String[] arguments> where the command builder is partially filled with the request type. The arguments are iterated over to get the total argument size and if it exceeds the Rust threshold, all arguments get serialized to byte vectors.
Other Information
No response
Acknowledgements
I may be able to implement this feature request
This feature might incur a breaking change
Client version used
N/A
Environment details (OS name and version, etc.)
macOS
The text was updated successfully, but these errors were encountered:
Describe the feature
#1655 and #1708 add support for sending large command arguments as leaked vectors of bytes to Rust. This speeds up the requests significantly. This is based on a threshold retrieved from Rust.
However a transaction can be made up of multiple requests that individually have arguments that are smaller than this threshold but exceed it when combined.
This feature request would be to use leaked pointers when the combined length of all command arguments in a transaction exceed the threshold rather than only when an individual command.
Use Case
Better performance for large transactions where each request does not exceed the argument size limit individually, but combined do exceed.
Proposed Solution
Change Transactions to contain a List<CommandBuilder, String[] arguments> where the command builder is partially filled with the request type. The arguments are iterated over to get the total argument size and if it exceeds the Rust threshold, all arguments get serialized to byte vectors.
Other Information
No response
Acknowledgements
Client version used
N/A
Environment details (OS name and version, etc.)
macOS
The text was updated successfully, but these errors were encountered: