我正在尝试了解将.pyc文件与Python包一起包含在AWS Lambda中的确切效果。
我能找到的极少数参考文献说没有必要在包中加入.pyc文件。但是,当我不包含这些文件时,我发现我的Lambda函数会有巨大的性能损失。
尝试在我的包中包含一个库(例如Jinja2),当省略其.pyc文件时,import jinja2
所需的时间总是超过3秒。
当我提供.pyc文件时,第一次执行仍然需要3秒但在此之后,它会下降到100-200ms(我想直到函数最终被卸载?)。
我发现这个SO question可能表明AWS Lambda无法保存自己编译的文件,这有意义吗?
我的问题是 - 是否有关于AWS Lambda上使用Python的.pyc文件的明确信息来源?有没有办法让AWS Lambda保存自己的.pyc文件?或者我应该继续将它们包含在我的包中吗?
答案 0 :(得分:0)
我不这么认为,boolean test = (condition) ? true : false;
文件是Byte code,Python解释器将源代码编译为,然后执行此代码。
考虑到这一点,我们可以控制" python虚拟机运行的文件"。
我认为最好的解决方案就像你说的那样:
继续将它们包含在我的包裹中。
执行此操作后,代码执行程序已经有了您的字节码文件。