我正在用 C 语言编程。有时我们必须从通常使用 fread 或 read 系统调用的文件中读取大数据,这意味着流 I/O 或系统调用 I/O。
我想问,如果我们正在读取这么大的数据,然后计算块大小并据此读取,它是否有助于我们有效地读取它?
我知道通过系统调用读取可能会使其变慢,并且还有其他条件,例如如果我们必须处理网络套接字,那么我们应该使用这些,而不是使用基于流的 I/O 会给我们带来优化的结果。同样,我需要一些提示和技巧来从文件中读取大数据以及要处理的事情。
另外,如果 mmap 比这些传统的 I/O 更有利,请详细说明什么时候会这样?
平台:Linux,gcc编译器