Memories / 文档

本页目录

    存储与同步基线

    在仓库根目录运行一次性合成基准测试:

    cargo run -p memories-core --example storage_benchmark --release --locked -- 10,100,1000
    

    每个测试场景会创建两个临时设备,将其配对,写入指定数量的 960 字节普通记录,执行搜索、导出完整保险库并重新打开加密数据库。退出时删除临时目录。输出格式为 JSONL;不会使用真实保险库或云账号。默认场景为 100 和 1000 个资产。

    2026-09-17 在本地 Windows x86_64 / Rust 1.98.1 MSVC 上观察到的结果:

    资产数 保存 p50 / p95(毫秒) 搜索(毫秒) 解锁(毫秒) 数据库字节数 完整同步响应字节数 累计写入的序列化状态字节数
    10 5.96 / 7.20 10.29 146.45 147456 57255 297346
    100 8.56 / 13.06 42.39 206.50 1126400 509912 21224694
    1000 56.75 / 108.40 252.95 825.76 9175040 4162849 2038518604

    审计追加路径此前会为每条现有审计记录重复派生同一个设备公钥。改为每次追加只计算一次,在保留签名链的同时去除了重复的密码学计算。在此修改之前,同样的 100/1000 条记录搜索耗时为 552.71/2476.66 毫秒。这些是单次本地运行结果,并非经过统计控制的测量,也不构成跨平台保证;当时主机还在运行其他验证和构建工作。

    serialized_state_bytes_written 汇总每次插入资产后加密状态行的长度。它不包含检查点、日志、文件系统写入放大和后续搜索/导出写入;它不是实际磁盘写入计数器。导出大小包含 JSON 响应。搜索最多返回 100 条结果。峰值内存、大型二进制资产、多设备分发和移动端延迟仍需分析。

    已完成的云上传/下载现在会释放密文缓冲区,同时保留小型重放回执和发布标记。队列容量适用于待处理工作。远程历史和精简的本地哈希回执仍会保留;上传成功并不意味着云端删除或离线设备已确认。

    累计写入量证实,完整状态持久化仍然是一种面向小型资料库的设计。加密的逐修订记录和增量传输属于独立的格式/迁移变更,在替换现有事务格式之前必须验证备份和回滚。应先使用这些可复现测量结果确定支持规模和发布延迟预算。