0

IronPython 2.0.1 执行脚本文件的速度似乎比 IronPython 1.x 慢 3 倍。我不相信这不是我正在做的事情,所以我想知道其他人是否有类似的经历。

我有一个 200k 的 python 脚本,从 IP 1.x 上的文件执行需要 5 秒,在 IP 2.0.1 上需要将近 18 秒!

4

4 回答 4

0

IronPython 中肯定有一些事情比 Python 慢得多。这通常是因为您在实现中遇到了一个奇怪的极端情况。值得尝试将其简化为一个非常简单的脚本,该脚本展示了性能差异并将其发送到IronPython 邮件列表- 开发人员非常敏感。

最近有一系列关于 IronPython 性能的有趣博客文章 -这是一个很好的概述。总结是,一旦你避免了陷阱,你可以获得非常好的性能,并且 IP 团队非常有兴趣找出这些问题并快速修复它们。缩小重现范围以找到陷阱是最困难的部分——一旦你弄清楚是什么触发了这种行为,通常很容易解决。

于 2009-05-23T16:30:13.963 回答
0

当我开始使用 IronPython 2.0 时,我也遇到了类似的问题。对我来说,问题是 DLR 的启动时间很短。加载运行时后,脚本性能相当快。

要减少运行时启动时间,您可以尝试对二进制文件进行 NGEN 处理。这为我减少了大约 60% 的启动时间。

即使有了这个修复,相对来说它仍然没有那么快。如果您的脚本没有做太多,启动仍将占用总时间的很大一部分。希望 DLR 团队能尽快解决启动性能问题。

于 2009-05-27T23:44:24.513 回答
0

您的时间是否包括启动时间?IronPython 2.6 Beta 对启动时间和代码编译/执行进行了彻底的改进。如果可以,建议您尝试该版本。

干杯,戴维

于 2009-05-29T06:15:25.977 回答
0

您可以阅读文章IronPython:重用导入符号以避免性能影响,这可以使嵌入式场景运行得更快。

于 2009-06-04T16:21:35.153 回答