我有两种类型的文件。其中之一是ASCII文件,数据存储如下;ASCII文件解析速度
X Y Value
0 0 5154,4
1 0 5545455;
. . ...
. . ...
另外一个是二进制文件。
我用StreamReader
和ReadLine()
方法解析第一个方法,然后通过Split(' ')
将值设置为double[,]
数组。
我分析第二个与BinaryReader
。
解析二进制文件比ASCII文件快3-4倍。
问题1:读取ASCII文件比二进制文件慢。这是正常的吗?
问题2:你是否建议解析ASCII文件的另一种方法?
读取文本并解析它以将数据转换为二进制文件比直接读取二进制文件要慢。慢3-4倍是不成问题的,尤其是如果文件被缓存(从而大大减少I/O时间)。向我们展示您用于解析的代码。 –
在任何一种情况下,您都应该在解析之前将整个流读入内存。 –
@DavidLively - 为什么?然后他会测量完全不同的东西;并且对于大文件(对于这种数据不是不合理的),它可能甚至不实用。 – Zarat