2023-18: 将 OpenDAL KV 性能提升 1000%
💡
原文中文,约1900字,阅读约需5分钟。
📝
内容提要
本文介绍了如何通过去除额外的复制开销将 OpenDAL KV 性能提升 1000%。作者提出了新的 Typed Kv Adapter,引入自行设计的 Value 结构体,存储支持零开销复制的 Bytes 而不是 Vec<u8>,使得 Adapter 不需要额外的复制就能够读写数据。作者将一个 service 从 kv::Adapter 迁移到了 typed_kv::Adapter,性能提升显著。最低的 read 提升了 10%,最高的提升达到了 1519.8%;write 部分在 service_moka_write_once/16.0 MiB 上取得了 166323% 的性能提升。
🎯
关键要点
- 通过去除额外的复制开销,OpenDAL KV 性能提升 1000%。
- OpenDAL 增加了 Kv Adapter,简化了对接 kv service 的成本。
- 现有的 Kv Adapter 存在额外复制开销,影响性能。
- 提出新的 Typed Kv Adapter,使用自定义的 Value 结构体存储支持零开销复制的 Bytes。
- 迁移服务从 kv::Adapter 到 typed_kv::Adapter 非常简单,只需修改定义声明。
- 迁移后,读写性能显著提高,最低读提升 10%,最高提升 1519.8%;写性能提升 166323%。
- 下一步计划尚未详细说明。
🏷️
标签
➡️