【发布时间】:2012-03-08 19:33:18
【问题描述】:
(关于 StackOverflow 的第一个问题,很高兴参加 :))
我正在使用 IronPython 2.7.1 和 C# .net 4.0。
我使用 C# 来启动我的 python 脚本。 我有大约 20 个需要大量导入的个人模块。 例如:
如果我有 module1.py、module2.py、module3.py、module4.py 和 main_script.py。
main_script.py 导入模块 1 和模块 2
module1 和 module2 都导入 module3。
module1 和 module3 导入 module4
等等
模块可以有大量的代码行。
我看到的是,当我执行 main_script.py 时,导入模块大约需要 4-5 秒。
我尝试使用 pyc.py 将我的所有模块编译到一个 dll 中,然后在其上使用 ngen,但在使用 myEngine.Runtime.LoadAssembly() 添加此 dll 时我没有发现任何差异。
然后我想使用 py_compile.py 来获取 pyc 文件,但似乎无法正常工作,因为 IronPython.Modules.MarshalWriter 类不支持 IronPython.Runtime.FunctionCode 类型(函数 WriteObject(object o)。(尝试编译时出现“不可编组对象”异常)。
我对 Python 和 IronPython 都不是很熟悉,也许我没有理解该语言的所有细微之处(实际上我是这么认为的)。我正在网上寻找解决方案,但似乎我现在陷入困境。
有什么提高导入性能的想法吗?
【问题讨论】:
标签: import module ironpython