-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
[Enhancement]: Optimize memory usage of deserialize delta log. #30404
Comments
/assign @aoiasd |
See also milvus-io#30404 `PrimaryKey` is used to hold pk values for both int64 & varchar data type. Since it is an interface it may occupies more memory than pure slices when holding a group of pks. This PR add `PrimaryKeys` interface when some other module need to hold lots of PrimaryKeys. By using this interface, it could reduce the memory of pk slice to half when using Int64 Pk data type and reduce interface cost for each row of varchar as well. Signed-off-by: Congqi Xia <[email protected]>
See also #30404 `PrimaryKey` is used to hold pk values for both int64 & varchar data type. Since it is an interface it may occupies more memory than pure slices when holding a group of pks. This PR add `PrimaryKeys` interface when some other module need to hold lots of PrimaryKeys. By using this interface, it could reduce the memory of pk slice to half when using Int64 Pk data type and reduce interface cost for each row of varchar as well. --------- Signed-off-by: Congqi Xia <[email protected]>
relate: #30404 --------- Signed-off-by: aoiasd <[email protected]>
See: #30404 --------- Signed-off-by: Ted Xu <[email protected]>
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
still WIP |
keep this issue |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Related to milvus-io#35303 milvus-io#30404 This PR change return type of `DeleteCodec.Deserialize` from `storage.DeleteData` to `DeltaData`, which reduces the memory usage of interface header. Also refine `storage.DeltaData` methods to make it easier to usage. Signed-off-by: Congqi Xia <[email protected]>
Related to #35303 #30404 This PR change return type of `DeleteCodec.Deserialize` from `storage.DeleteData` to `DeltaData`, which reduces the memory usage of interface header. Also refine `storage.DeltaData` methods to make it easier to usage. Signed-off-by: Congqi Xia <[email protected]>
) Related to milvus-io#35303 milvus-io#30404 This PR change return type of `DeleteCodec.Deserialize` from `storage.DeleteData` to `DeltaData`, which reduces the memory usage of interface header. Also refine `storage.DeltaData` methods to make it easier to usage. Signed-off-by: Congqi Xia <[email protected]>
#37264) Cherry pick from master pr: #37214 Related to #35303 #30404 This PR change return type of `DeleteCodec.Deserialize` from `storage.DeleteData` to `DeltaData`, which reduces the memory usage of interface header. Also refine `storage.DeltaData` methods to make it easier to usage. Signed-off-by: Congqi Xia <[email protected]>
Is there an existing issue for this?
What would you like to be added?
Delta log deserialize has a large overheads at memory peak.
Optimize memory usage of deserialize delta log.
Why is this needed?
relate: #30110
Anything else?
No response
The text was updated successfully, but these errors were encountered: