3

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

我该怎么做才能加快速度?

谢谢,亚尼夫

4

2 回答 2

2

Jython 启动时间很慢……要启动的内容很多!

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

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

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

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

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

希望对您有所帮助!

于 2009-12-14T18:00:32.387 回答
1

如果您有一台具有多个处理器的机器,您可以尝试使用选项启动 eclipse/pydev-vmargs -XX:+UseParallelGC您还可以尝试不同的 JVM,看看它们中的任何一个是否能提供更好的性能。

于 2009-12-04T20:51:30.887 回答