我正在修补一个IDE,它使用单独的文件作为键/值存储。每个解析的文件有一个键,包括头文件和每个会话的一个目录(可能包含几个打开的项目),所以一千个左右的条目几乎是最少的(集成开发环境本身的源代码有6900+键)。这些文件是mmap‘的速度,所以实现可能不是真正友好的资源。
这里使用了Qt,因此这些密钥是通过QFile (不频繁地)写入和(频繁地)读取的。键是以随机顺序读取和写入的简单索引号(Uint),值是从几百个字节到几十个Kb的字节数组。
我将其替换为简单的类,该类在QFile应用程序接口的相关部分后面隐藏了一个键/值数据库。我并不期望提高纯性能,而是希望减少代码对文件/资源的需求(包括使用的磁盘空间),同时保持当前的性能水平。
我目前有一个工作的LMDB后端,LevelDB即将完成(但尚未测试)。有没有其他我不得不看的没有一大堆依赖项的呢?例如,我看到有人提到,KyotoCabinet在随机访问方面非常出色。
谢谢!
https://stackoverflow.com/questions/49831986
复制相似问题