社区
数据结构与算法
帖子详情
内存优化问题2
amdgaming
2013-08-20 11:24:31
我有一个hashmap
key是从key1到key200000,不连续
而每一个key对应的value一个是10万到100万的中随机的30个数字,不重复,
比如这样:
key1:数组[10万,20万....300万]
key2:数组[20万,40万,33万零100 共30个数字]
前提是我现在要查询是通过key来找那个数组
现在的vaule应该是重复存储,有没有办法不怎么降低查询速度的情况下
降低存储需要的空间,请各位支招,谢谢!
...全文
315
4
打赏
收藏
内存优化问题2
我有一个hashmap key是从key1到key200000,不连续 而每一个key对应的value一个是10万到100万的中随机的30个数字,不重复, 比如这样: key1:数组[10万,20万....300万] key2:数组[20万,40万,33万零100 共30个数字] 前提是我现在要查询是通过key来找那个数组 现在的vaule应该是重复存储,有没有办法不怎么降低查询速度的情况下 降低存储需要的空间,请各位支招,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hua_zhixing_
2013-09-12
打赏
举报
回复
你的hashmap存储的个数可能达到600W,而value用到的个数只有不到100W,所以要降低存储,我觉得就是如何去重的问题。可以尝试把value作为key,key作为value来重新hash。如果反过来hash产生的重复数据比你现在的重复数据还多,那此方法就不可取了。
happytengfei
2013-08-21
打赏
举报
回复
嗯。有点难度,首先你内存的花销为: key number * 30 * sizeof(each value in array)。所以一个有效的办法是观察一下所有的key是不是有规律的,如果有的话,合理的合并key的value。这样使得key number下降。也可以从另外一个方向考虑减少内存,就是对所有的key进行排序,编号。然后将200000*30的数据存到文件里,当输入key值时,将文件中相应的块load到内存里。
FancyMouse
2013-08-20
打赏
举报
回复
30个数拉出去。key2数组存储30个数中的index。1字节就够了。
amdgaming
2013-08-20
打赏
举报
回复
有没有办法不怎么降低查询速度的情况下 降低一点点可以接受
C++性能
优化
技术
C++性能
优化
技术,详细介绍了可以普遍提升的一些C++变成技巧,是您精通
优化
技术的良师益友。
查看
内存
使用情况的汇编源代码
查看
内存
使用情况的汇编源代码
SciTech.NET.Memory.Profiler.v4.0.114.安装_注册机
NET Memory Profiler-找到
内存
泄漏并
优化
内存
使用针对C#,VB.Net, 或其它.Net程序。 包含安装+注册机
曲线绘制小软件(改进版)
修正了
内存
泄露的
问题
,
优化
了部分曲线绘制效率
visualvm 中文版
可以使用VisualVM生成和分析海量数据、跟踪
内存
泄漏、监控垃圾回收器、 执行
内存
和CPU分析,同时它还支持在MBeans上进行浏览和操作。
数据结构与算法
33,027
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章