gpt4 book ai didi

c - 在 C 中读取大缓冲区 - 高效技术

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:24:49 25 4
gpt4 key购买 nike

我正在用 C 语言编程。有时我们必须从我们通常使用 fread 或 read 系统调用的文件中读取大量数据,这意味着流 I/O 或系统调用 I/O。

我想问一下,如果我们正在读取这么大的数据,然后计算 block 大小并根据它读取,它是否会以任何方式帮助我们高效地读取它?

我知道通过系统调用读取可能会变慢,还有其他条件,比如如果我们必须处理网络套接字,那么我们应该使用这些,而不是使用基于流的 I/O 会给我们优化的结果。同样,我需要一些提示和技巧来从文件中读取大量数据以及需要处理的事情。

另外,如果 mmap 可以比这些常规 I/O 更有优势,请详细说明它在什么情况下?

平台:Linux,gcc编译器

最佳答案

你有没有考虑过memory-mapping使用 mmap 的文件?

关于c - 在 C 中读取大缓冲区 - 高效技术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10529167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com