门户
书籍
教程
论坛
问答
下载
签到
个人空间
帐号
自动登录
找回密码
密码
登录
立即注册
账号
自动登录
找回密码
密码
登录
立即注册
请绘制轨迹完成人机验证
由vaptcha提供技术支持
登录
注册
搜索
搜索
搜索
热搜
qml
quick
串口
输入中文
数据库
arm
百度地图
qt聊天
QT安装
安装
多窗口
中文乱码
聊天
局域网
鼠标
QT
图片
乱码
rs485通讯
多线程
android
多文档编辑器
本版
用户
本版
用户
【HUX】问题互助平台
博客
动态
好友
帖子
收藏
道具
勋章
任务
淘帖
动态
日志
相册
分享
记录
留言板
群组
门户
导读
排行榜
设置
我的收藏
退出
Qt开源社区
›
精华区(请在“有问必答”发帖)
›
有问必答
›
数据处理
›
处理、展示大量数据时的内存消耗
发布主题
返回列表
处理、展示大量数据时的内存消耗
2
回复
6241
查看
[复制链接]
hzqst
当前离线
积分
27
hzqst
累计签到:2 天
连续签到:1 天
来源:
2017-2-10 15:58:49
显示全部楼层
|
阅读模式
10
Qter豆
源码在此:
https://git.oschina.net/hzqst/Syscall-Monitor
10W数据量的时候就已经400MB内存消耗了,而且随着事件数增多内存消耗也线性增长,应该不是内存泄露的问题吧?
这是Clear过一次之后的内存消耗(刚运行时只用5MB内存)
数据结构个人认为设计的没问题,所有event是用QLinkedList串起来的,容器本身应该不是罪魁祸首
每个event都是new出来的,难道event本身吃了太多内存?
process monitor不知道用了什么黑科技 15W事件只有15MB内存消耗,没有发现大量的文件读写,所以应该不是把Event存在硬盘的。
我来回答
附件:
您需要
登录
才可以下载或查看,没有帐号?
立即注册
回复
使用道具
举报
a408815041
当前离线
积分
912
a408815041
累计签到:410 天
连续签到:1 天
2017-2-11 20:57:04
显示全部楼层
你是用的 QTableWidget 还是 QTableView
回复
使用道具
举报
hzqst
当前离线
积分
27
hzqst
累计签到:2 天
连续签到:1 天
2017-2-11 23:19:25
显示全部楼层
a408815041 发表于 2017-2-11 20:57
你是用的 QTableWidget 还是 QTableView
肯定是QTableView呀
我做了大量测试发现,罪魁祸首是保存CUniqueEvent *用的std::list,这玩意保存1W个指针就吃几十MB内存了(release编译,不是debug哦)
回复
使用道具
举报
返回列表
发表新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满)
我知道了