- 主题:怎么能快速读取一个txt文件到内存
txt里面是字符形式存储的double类型:
1.03e+10
2.05e-06
.
.
.
排成一列
文件很大,有十几个G,怎么读入最快?
--
FROM 111.201.208.*
128G,内存大。
【 在 libgcc 的大作中提到: 】
: 你好歹把内存有多少说一下吧
: 要是只有2G内存那神仙也没辙啊
:
: ...................
--
FROM 111.201.208.*
应该是第二个phase慢,是不是无解了。
【 在 z16166 的大作中提到: 】
: 哪个阶段慢了? disk -> mem, 还是string -> double ?
--
FROM 111.201.208.*
那文件就更大了,主要是从服务器下载很慢。
【 在 z16166 的大作中提到: 】
: 存的时候是否能直接将double的内存格式存入到文件中,就是IEEE的浮点格式。
: 或者先离线转换成这种格式。
:
--
FROM 47.242.227.*
二进制的话,存储过程如果有错误,会有严重问么?
【 在 foliver 的大作中提到: 】
: double 8个字节,你的格式文本也是8个字节,二进制存double体积不会变大,转化过程没有了,性能提升明显。
--
FROM 47.242.227.*
这种情况,存储的时候就不需要存储换行符了吧,直接把文件拷贝进来,到一个数组里就可以?
【 在 foliver 的大作中提到: 】
: double 8个字节,你的格式文本也是8个字节,二进制存double体积不会变大,转化过程没有了,性能提升明显。
--
FROM 111.201.208.*
谢谢
【 在 liuxueshen 的大作中提到: 】
: 如果二进制存储出错转成ASCII错误只会更多。
: 只要确定不会出8字节存成7字节之类的就没严重问题。
:
--
FROM 111.201.208.*