|
1
3
考虑到您可能具有以下功能:
我认为你需要“跳过聪明,按照计划“B”去做,那就是脱掉衣服,只写一个临时文件。”
有一个想法确实浮现在脑海中,你能把你的代码写成一个内存映射文件而不是堆吗?这样,您就可以在磁盘上已有一个文件,并且可以避免复制(尽管它仍然在磁盘上),并且您仍然可以为函数调用提供文件名。 |
|
|
2
2
我不确定库函数需要什么样的输入。。。它需要路径/文件名、打开文件指针或打开文件描述符吗? 如果不想破解库,而函数需要字符串(文件路径),请尝试在/dev/shm中创建临时文件。 否则,mmap可能是最好的选择,请确保在使用mmap()时研究posix_madvise()(或者在使用临时文件时研究其对应的posix_fadvise()。 看起来您刚开始谈论的数据很少,所以我认为无论您采取何种方式,都不会对性能产生影响。 编辑
... 使用mmap()。 如果无法修改库以接受文件描述符(或作为路径的替代项)。。只要使用/dev/shm和一个临时文件,它就相当便宜了。 |
|
|
3
0
您现在使用的是Linux,难道您就不能获取库的源代码并破解所需的函数吗?如果它对其他人有用,您甚至可以向原始作者发送一个补丁,因此它将在将来的版本中为每个人提供。 |
|
|
4
0
编辑: 很抱歉读一下问题。根据我下面的建议,您可以创建一个备用流程,而“在单个流程中不工作”的问题不会出现。我也认为没有理由你不能产生一个单独的线程来做推。。。 一点也不优雅,但你可以:
这应该是相当稳健的。。。 |
|
|
5
-1
也许是? |
|
|
Jace Johnson · 我应该使用多个地图功能还是只使用一个 2 年前 |
|
|
Pop Bob · Api返回UnsupportedMediaType 2 年前 |
|
|
Mr FoX · 如何从mysqli输出json数组,而[重复] 2 年前 |