- 主题:像ultraedit那种几百兆的文件秒开是怎么做到的?
有个需求,几百兆的csv文件,存的都是波形,
想快速打开,然后能够拖动浏览,局部放大之类的。
有没有现成的可以用的?
--
FROM 123.112.66.*
这个倒是很简单,因为这个csv其实已经被我划分成大约100M一个了,预览拖动的时候还是都读进内存比较方便吧,因为估计不会超过2G
【 在 woshidashu 的大作中提到: 】
: 做个假的视图。
: 先获取长度,然后根据长度划分成n份,读取第一份,再读取其他n-1份的前多少字节,拖的时候根据比例再去实时读取。
: 纯读取应该是这样吧?
: ...................
--
FROM 123.112.66.*
我去了解下
【 在 z16166 的大作中提到: 】
: windows下的file mapping就可以只map文件的一部分,按需map。
: 如果用户一直翻页,可以搞个预读,提前读多一点进来
: csv文件是文本行的结构,和文件映射的分块有交叉,需要处理好。
: ...................
--
FROM 123.112.66.*
是的,几百兆的文件,一条曲线几百万个点,屏幕上没必要画那么多。
原型用的matlab,plot不知道有没有处理。
【 在 zli07 的大作中提到: 】
: 关键不是文件读取,关键是视图层,不能一次性把所有的文字渲染完。
: 至于说读取,如果是64位系统的话,直接mmap进来随便读就行,几G的文本也没问题
:
--
FROM 58.200.129.*
原帖说了是波形,拖动浏览,局部放大,这些都是针对波形来的。
【 在 z16166 的大作中提到: 】
: 那你这不是个文本编辑器,是个作图工具
: 所以,很多时候发帖人没有描述清楚自己的真实需求,然后一堆人就开始猜了
:
--
FROM 58.200.129.*
带,有一列时间
【 在 oldwatch 的大作中提到: 】
: 记录里带时间戳信息么?
: 没有的话倒还真不太好办,缺少全局索引
:
--
FROM 58.200.129.*
我觉得读不是最大的性能瓶颈,瓶颈在显示
【 在 gpmn 的大作中提到: 】
: 内存映射了解一下
:
--
FROM 58.200.129.*