gpt4 book ai didi

c - 在 C 中的运行之间重用/保存读取的数据数组

转载 作者:太空宇宙 更新时间:2023-11-03 23:52:05 25 4
gpt4 key购买 nike

我正在用 C 编程并使用 bash 作为我的 shell。目前,我正在尝试在运行程序时进行优化。该程序的一般要点是输入一些参数,读取数据文件,然后程序根据输入参数和文件中的数据运行一些计算。我经常一次运行这段代码 100 次,每次运行时只更改输入参数,而不是文件中的数据。我使用 shell 脚本来 xargs 具有各种参数的可执行文件。

printf "%s\n"{0..n} | xargs -P 8 -n 1 ./程序

问题是我有一个非常大的数据文件,需要大约 >1 秒才能读入。这是在每次调用可执行文件时完成的,但是,读入的数据通常不会改变!因此,我相信我可以通过某种方式保存这些数据来节省大量时间,这样可执行文件的其他调用就可以使用已经读入的数据,而不是浪费时间自己读入数据。

我在想也许可以有另一个程序读取数据,然后保护并将数据地址发送到我当前的可执行文件。在可执行文件完全运行完毕后,这将被中继回新程序,然后新程序释放数据。这可能吗?或者还有其他更好的方法吗?

最佳答案

您可以尝试将文件存储在共享内存中:/dev/shm

例如:ls >/dev/shm/ls-output

./program

不确定这是否是您要查找的内容,但我想这方面的内容可能会有所帮助。

关于c - 在 C 中的运行之间重用/保存读取的数据数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17623713/

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