java - 嵌套映射与多键映射性能

标签 java maps

我知道使用多键映射比嵌套映射性能更高,这是有道理的,但我编写的测试代码表明,嵌套映射比使用平面多键映射更快且内存效率更高。

嵌套 map : - 3 张 map ,每张 map 有 7 个子 map - 每个子图有4个子子图 - 每个子子图大约有 600,000 个条目 - 总数:约 50,400,000 整体

多键作为简单的字符串映射: - 一张包含 50,400,000 个整体的巨大 map

填充嵌套映射的内存和时间:1462M -> 15sec; 填充多键映射的内存和时间:2138M -> 56sec

我不确定我是否做错了或者我错过了什么。

最佳答案

如果没有基准测试,就很难提供帮助。所以这只是一个猜测:也许您只是无法连接字符串来为单个映射构建新 key 。毕竟您正在创建超过 50M 的新字符串。尝试使用专用映射(例如 apache 或 guava)来快速计算哈希码,而无需构建重型对象

关于java - 嵌套映射与多键映射性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27913998/

相关文章:

ios - 使用 KML 文件 Swift 应用程序

Java 将字符串输入打印为数组,字符串中的每个单词都在新行上

根据 NPA(地区)R map 瑞士

java - 在 swing 中失去对 JPanel 屏幕的关注后,屏幕不显示内容

java - 如何在 SOLR 中将不同的模式文件分配给不同的核心?

maps - openlayers - 如何通过边界框使 map 居中

javascript - 将地理数据从 Firebase 导入到谷歌地图

java - 比较两个excel文件中的数据并在第三个文件中写入相应的映射

java - Android 合并调试资源失败

java - 使用 Quarkus 和 Resteasy 从主 Controller 外部访问路径参数