解析/跳转具有大小元素的大型二进制文件的最快方法

fastest way to parse/jump through large binary file with sized elements

本文关键字:大型 二进制文件 方法 元素 解析      更新时间:2023-10-16

我需要解析包含元素序列的二进制文件。元素的格式如下:4字节:元素的名称4字节:元素的大小变量大小:元素

的数据

我只需要解析文件并提取每个元素的名称,位置和大小。典型的元素大小约为100kb,典型的文件大小约为10GB。

浏览这样一个文件最快的方法是什么?读取文件的所有数据,寻找下一个元素,还有其他方法吗?

文件是本地的还是通过网络的有区别吗?

你不想做的一件事是使用未缓冲的读取(即操作系统调用)来读取每个单独的元素。您可以通过缓冲读取的简单方法获得不错的性能。如果内存不是一个问题,那么您可以通过使用内存映射文件来压缩时间,并使用预取线程来填充映射。