使用C语言中的高级Python构造

时间:2012-03-23 05:58:01

标签: python c cpython python-c-api python-c-extension

是否有使用C语言编写的模块中的threading.Conditioncollections.deque等高级Python结构的最佳实践?特别是:

  1. 避免方法和成员的字典查询成本
  2. 直接在C中访问
  3. 的部分构造
  4. 何时在本地重新实现所需功能,从标准库中的其他地方导入

1 个答案:

答案 0 :(得分:2)

  1. 在Python中对字典进行字符串查找非常便宜,但如果需要,可以将它们缓存在结构中。

  2. 通常没有这样做的规定,因为这些库是通过Python而不是C来访问的。仍然可以生成与C模块中的定义匹配的自己的头,但是它们会需要根据Python版本进行维护。

  3. 这个没有好的答案。它归结为“快速”与“足够快”。