哪种读取二进制数据或纯文本数据更快?

时间:2011-06-30 09:18:02

标签: c# binary-data plaintext

我有一些数据,我知道它的确切结构。它必须逐秒插入文件中。 结构包含double字段,但它们具有不同的名称。每秒必须将相同数量的结构写入文件

事情是...... 在阅读数据时,这是一个更好的appraoch

1-将Structs转换为字节,然后在索引标记第二个结尾的字节时插入它

2-写入CSV数据并索引标记第二个结尾的字节

从文件中随机请求数据。 所以在这两种情况下,我都会将FileStream的位置设置为第二个字节。

在第一种情况下,我将对该秒中的每个结构使用以下内容来获取整个数据

_filestream.Read(buffer, 0, buffer.Length);

            GCHandle handle = GCHandle.Alloc(buffer, GCHandleType.Pinned);
            oReturn = (object)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), _oType);

之前的方法应用X次,因为每秒大约有100个结构


在第二种情况下,我将使用string.Split(',')然后我会相应地填写数据,因为我知道我的数据的确切顺序

       file.Read(buffer, 0, buffer.Length);

            string val = System.Text.ASCIIEncoding.ASCII.GetString(buffer);

            string[] row = val.Split(',');

修改 使用分析器没有显示出差异,但我无法模拟确切的现实生活场景,因为文件大小可能会变得非常大。我正在寻找现在的理论信息

0 个答案:

没有答案