python - 如何让 Pydev + jython 在运行脚本时启动得更快?

标签 python jython pydev

我正在使用 pydev + jython.great ide,但是当我尝试运行 jython 程序时速度很慢。 这可能是由于库加载时间造成的。

我可以做些什么来加快速度?

谢谢, 亚尼夫

最佳答案

Jython 启动时间很慢......有很多东西要启动!

每次从头开始运行 Jython 脚本时,都会产生相同的 Jython 启动时间成本。

因此,Jython、Java 和 Python 不适合 CGI 调用的原因。因此,Apache 中使用 mod_python 的原因。

关键是启动 Jython 一次并重用它。但这并不总是可行的,尤其是在开发过程中,因为您的模块总是在变化,而 Jython 不会自动识别这些变化。

Jython 需要一种方法来了解哪些模块已更改以便自动重新加载。这不是内置在 Jython 中的,您必须依赖其他一些第三方库来帮助完成此操作。这个概念是从“sys.modules”中删除已更改的模块。一个简单的解决方案是从 sys.modules 中清除所有模块——这将导致重新加载所有模块。这显然不是最有效的解决方案。

另一个技巧是只导入您的模块在“真正”需要它们时需要的模块。如果您在模块的顶部导入每个模块,那将增加您的模块导入成本。因此,将导入重构到需要它们且“有意义”的方法/函数内。当然,如果您的方法/函数计算量大且使用频繁,则在该方法/函数中导入模块没有意义。

希望这对您有所帮助!

关于python - 如何让 Pydev + jython 在运行脚本时启动得更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1467827/

相关文章:

ironpython - Unresolved 导入 PyDev/IronPython

python - 如何在 Python 中迭代不确定数量的列表?

python - 改进算法以找到一维 numpy 数组的局部最大值

Python2 使用 xpath 抓取 html

java - Python 导入错误 - 无法导入名称

python - 是否有 Python 等同于 Java 的 Groovy/Grails

python - Scrapy 1.1.0 - 没有事件项目

python - 如何使 Django 表单字段仅包含字母数字字符

java - 是否可以在不进行修改的情况下从使用 Jython 的 Java 程序中使用 python 模块?

python - 使用运行配置增加 Pydev 中的内存