我有一个很大的二进制文件要解析,但我不确定要使用哪种语言来提高性能。最初,我打算使用 C# WPF 作为 GUI,并使用 c DLL 进行解析。但我的目标 PC 是 64 位机器。我在 VS 2008 中设置 C DLL 项目时遇到了麻烦。所以我在考虑是否应该转向 C++ 或 C# 来进行解析。我只是不确定 c++/C# 的文件读取速度,因为我的文件很大。速度非常关键。谁能给我一些建议? 谢谢。
最佳答案
与其关注语言(正如其他人提到的那样,影响不大),不如关注方法。
通常,我建议使用文件映射(在 .NET 4.0 中新的 MemoryMappedFile
类中可用)。这很好,除非您正在执行单程、仅向前扫描,这可以使用常规流来完成。
有一些提示表明非托管代码可以传递给未在 .NET 中公开的文件打开例程(具体来说,通知缓存管理器您将随机或按顺序访问文件)。不过,缺少这些可能不会给您带来明显的性能影响。
关于c# - 二进制文件解析 : performance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3137214/