这是我在java disc based hashmap for a disk based hashmap 上提出的问题的后续。
建议的解决方案有效,但 CPU 成本很高。我尝试过使用一些嵌入式数据库,包括 hsqldb 和 derby 以及 java 中的 sqllite 实现。
所有人都完成了工作,对于我尝试过的大多数人来说都很慢,我提到的三个是最好的。但是,我遇到了所有问题。启动和维护每个嵌入式数据库需要大量的 CPU 时间,根据任务管理器的说法,我没有提到的那些大部分时间都占用了 100% 的 CPU。
那么我的新问题是,是否有任何简单的基于磁盘的存储不会吞噬我的 CPU。
作为记录,sqllite 解决方案没有使 CPU 使用率飙升,它只是因一系列不同的错误而崩溃。apache derby 性能最好,cpu 使用率随其波动,但平均约为 80%