我需要解析包含一系列元素的二进制文件。元素的格式如下: 4个字节:元素名称 4个字节:元素的大小 变量大小:元素的数据
我只需要解析文件并提取每个元素的名称,位置和大小。典型的元素大小约为100kb,典型的文件大小约为10GB。
通过此类文件的最快方法是什么?阅读所有文件的数据,寻找下一个元素,其他方法?
如果文件是本地文件还是通过网络,它会有所不同吗?
答案 0 :(得分:0)
您不想做的一件事是使用无缓冲的读取(即OS调用)来读取每个元素。 通过简单的缓冲读取方法,您可以获得良好的性能。如果内存不是一个问题,你可能会使用内存映射文件挤出一些时间,并使用预提取器线程来填充映射。