gpt4 book ai didi

并行创建/dev/shm 中的大文件 : performance

转载 作者:行者123 更新时间:2023-12-02 22:00:48 27 4
gpt4 key购买 nike

我需要在/dev/shm 中创建一个大文件(几 GB)。这是 Linux 机器上的 RAMdisk。这必须尽可能快。我目前在 C 中使用 5 个独立的 POSIX 线程来创建连续的 100 MB 段,然后我有另一个线程将它们连接到主输出文件。

这很快,但我想走得更快。我可以消除连接线程吗?有什么方法可以打开一个文件,并让每个线程将它的 100 MB 段写入最终输出文件中的正确位置?

最佳答案

最快的方法是调用 truncate()ftruncate() 将文件扩展到您想要的大小。

然后您可以mmap()将文件放入进程的内存空间,并让每个线程将其部分写入映射区域。

关于并行创建/dev/shm 中的大文件 : performance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16984556/

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