-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
perf!: switch to RestTransport as the default transport type for GetI…
…ndex - BREAKING CHANGE: generic argumentless GetIndex now returns Index<RestTransport>, the motivation for this is upon deeper evaluation and load-test of the GrpcTransport it was discovered that the underlying protobuf serializer is less memory-efficient than System.Text.Json and ends up often rooting large arrays in ArrayPool, especially under batched parallel upserts, leading to much larger LOH size. In addition to that, Pinecone infra team seems to configured their ingress with a very low amount of allowed concurrent streams per HTTP/2 connection. As a result, even with client-side load balancing, gRPC ends up having much worse throughput than using plain HTTP/1.1 and JSON. Shameful. Therefore, RestTransport currently appears to be a more user-friendly default, and advanced users can always choose a different one if they evaluate that gRPC serves their needs better. TODO: add performance guidance to README - Cache boolean boxes for MetadataValue - Make sure to test both transport types - F# example formatting
- Loading branch information
1 parent
c11c916
commit e00bfe4
Showing
8 changed files
with
75 additions
and
26 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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