[Dy2Stat]Polish @to_static temporary file directory to speed up transformation #47102
+40
−9
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR types
Function optimization
PR changes
Others
Describe
What's New?
在 windows Python39 环境下发现 PaddleSeg 某个模型转写特别慢,经过分析发现:发现99.9%的时间都耗费在 ast_to_func函数中的

module = SourceFileLoader(module_name, f.name).load_module()
代码行。经定位是因为windows下会默认把 temp文件写到
C:\Users\Administrator.DESKTOP-xxxxx\AppData\Local\Temp
目录,在读取这个目录文件时存在一定的额外开销,可能原因:修复方案:在

NamedTemporaryFileAPI
里可以指定 dir 参数,换成其他空目录后,导出就非常快了: