Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何加速用python编写的couchdb视图_Python_Couchdb - Fatal编程技术网

如何加速用python编写的couchdb视图

如何加速用python编写的couchdb视图,python,couchdb,Python,Couchdb,我正在用python编写couchdb视图。我觉得不太。。。pythonic做一些类似的事情 def fun(doc): import re # do something with re yield 1, 1 因为re适用于导入的每个文档。将import re放在开头会给我一个错误(字符串应该编译成正确的函数),一个 在视图的末端,使函数中的re不可用 那么,如何避免一次又一次地导入re呢?View server处理许多具有相同上下文的文档。所以,import re只在

我正在用python编写couchdb视图。我觉得不太。。。pythonic做一些类似的事情

def fun(doc):
    import re
    # do something with re
    yield 1, 1
因为re适用于导入的每个文档。将import re放在开头会给我一个错误(字符串应该编译成正确的函数),一个

在视图的末端,使函数中的re不可用


那么,如何避免一次又一次地导入re呢?

View server处理许多具有相同上下文的文档。所以,
import re
只在处理第一个文档时才真正导入模块。所有其他
map
调用将只查找
sys.modules

如果您使用re模块,那么正则表达式和它们的编译方式可能会比删除模块查找更快(python中的字典非常快)。我不明白你为什么要在函数的末尾
delre
,这可能会减慢速度


您是否有办法对此进行计时,以便在调整视图时可以测量改进/回归?建立一些定时将使调整更加容易。

我最近也遇到了同样的问题,解决方法如下:

import re

def foo(doc, re_xx=re.compile("required-pattern")):
    # use re_xx
    yield 1, 1

del re

耶,这就是我一直在寻找的。
import re

def foo(doc, re_xx=re.compile("required-pattern")):
    # use re_xx
    yield 1, 1

del re