在 CGI 中使用之前加载模块是否有任何速度优势?

Are there any speed benefits when loading modules just before usage in CGI?

我正在 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 时都会加载脚本,这意味着每次也会从 module 导入 func。由于 func 不会总是被调用,因为 user_input 可能与 1 的值不同,我选择在必要时导入它,如下所示:

if user_input == 1:
    from module import func
    func()

我是在提高性能还是一样?

是的,如果 module 不会以其他方式导入,则您的速度略有提高。