我正在使用Python中的CGI构建Web应用程序。由于脚本foo.py
需要在每次mypage.com/foo.py
调用时加载,我正在寻找一些方法来加速初始化。
当使用Django或web.py这样的框架时,我总是将模块加载到文件的顶部。假设我正在导入函数func
并在我的请求处理程序中使用它:
from module import func
# ...
def request_handler(user_input):
if user_input == 1:
func()
在这种情况下,当有人加载某些页面而不是加载完整的python文件时,框架将只调用request_handler
。在CGI中,每次访问URL时都会加载脚本,这意味着每次都会从func
导入module
。由于func
不会一直被调用,因为user_input
可能与1
的值不同,我选择在必要时导入它,如下所示:
if user_input == 1:
from module import func
func()
我是在提高绩效还是差不多?
答案 0 :(得分:0)
是的,如果module
不会导入,那么你的边际速度会有所提高。