- 主题:像ultraedit那种几百兆的文件秒开是怎么做到的?
有个需求,几百兆的csv文件,存的都是波形,
想快速打开,然后能够拖动浏览,局部放大之类的。
有没有现成的可以用的?
--
FROM 123.112.66.*
做个假的视图。
先获取长度,然后根据长度划分成n份,读取第一份,再读取其他n-1份的前多少字节,拖的时候根据比例再去实时读取。
纯读取应该是这样吧?
如果带格式就不好说了。
--
FROM 111.198.230.*
windows下的file mapping就可以只map文件的一部分,按需map。
如果用户一直翻页,可以搞个预读,提前读多一点进来
csv文件是文本行的结构,和文件映射的分块有交叉,需要处理好。
--
修改:z16166 FROM 123.115.163.*
FROM 123.115.163.*
无缓存,file mapping,直接修改
【 在 amony 的大作中提到: 】
: 有个需求,几百兆的csv文件,存的都是波形,
: 想快速打开,然后能够拖动浏览,局部放大之类的。
: 有没有现成的可以用的?
--
FROM 218.82.234.*
这个倒是很简单,因为这个csv其实已经被我划分成大约100M一个了,预览拖动的时候还是都读进内存比较方便吧,因为估计不会超过2G
【 在 woshidashu 的大作中提到: 】
: 做个假的视图。
: 先获取长度,然后根据长度划分成n份,读取第一份,再读取其他n-1份的前多少字节,拖的时候根据比例再去实时读取。
: 纯读取应该是这样吧?
: ...................
--
FROM 123.112.66.*
我去了解下
【 在 z16166 的大作中提到: 】
: windows下的file mapping就可以只map文件的一部分,按需map。
: 如果用户一直翻页,可以搞个预读,提前读多一点进来
: csv文件是文本行的结构,和文件映射的分块有交叉,需要处理好。
: ...................
--
FROM 123.112.66.*
Maping后还涉及渲染的问题吧,不太懂。
【 在 z16166 的大作中提到: 】
: windows下的file mapping就可以只map文件的一部分,按需map。
: 如果用户一直翻页,可以搞个预读,提前读多一点进来
:
: ...................
--
FROM 103.238.135.*
memmap就是纯扯淡,这个场景fseek一下就能慢了?
【 在 GoGoRoger 的大作中提到: 】
: Maping后还涉及渲染的问题吧,不太懂。
--
FROM 114.86.95.*
之前有对比测试,提高不了速度。用起来方便点
【 在 ilovecpp (cpp) 的大作中提到: 】
: memmap就是纯扯淡,这个场景fseek一下就能慢了?
:
: 【 在 GoGoRoger 的大作中提到: 】
: : Maping后还涉及渲染的问题吧,不太懂。
--
FROM 123.115.163.*
你说seek也就罢了,fseek这个。。。
【 在 ilovecpp 的大作中提到: 】
: memmap就是纯扯淡,这个场景fseek一下就能慢了?
--
FROM 1.203.84.*