其他分享
首页 > 其他分享> > cython.parallel.parallel和nogil写入文件

cython.parallel.parallel和nogil写入文件

作者:互联网

我正在用Cython弄湿我的脚.考虑我一个完全菜鸟.写入非常大的文件是代码中的主要瓶颈,因此我认为应该研究并行性,但是我找不到任何有用的东西来编写具有并行性的文件.

甚至可以使用

with nogil, parallel():

写入文件的声明?尝试编写字符串时出现编译错误:

Constructing Python tuple not allowed without gil

解决方法:

您不能在nogil块中使用任何Python函数或对象.如果要使用nogil进行文件IO,则必须使用C.blog post可能会为您提供帮助.具体来说,您可以从stdio导入常用的C函数.这些功能应该在nogil块中可用.以下是我上面链接到的博客文章:

from libc.stdio cimport *

cdef extern from "stdio.h":
    FILE *fopen(const char *, const char *)
    int fclose(FILE *)
    ssize_t getline(char **, size_t *, FILE *)

标签:parallel-processing,cython,python
来源: https://codeday.me/bug/20191122/2057006.html