在Bash中,我可以这样做:
python3 -OO -m py_compile myscript.py
并在内部使用__pycache__
构建部署zip,我可以运行多个脚本:
python3 -OO -m compileall .
在同一underlying AMI image中执行此操作。
提高AWS Lambda性能是否明智?
答案 0 :(得分:2)
答案是肯定的,但这可能是过早的优化。
Lambda的表现包括两个部分:
.pyc
文件为您提供了1或“冷启动”时间的一些优化。这是因为您只能运送{em> pyc
文件,而且它们往往更小(减少了传输时间),并且因为您已经编译为字节码,所以节省了一步。构建过程(请注意,python仍然会进一步编译,但这仍然是一种优化)。
坦率地说,如果这足以引起部署时增加的复杂性以及lambda控制台中代码的不透明性,我会感到惊讶。因此,在您对实际代码中的任何内容进行此优化之前,我都会挑战您使用X-Ray之类的配置文件。
(n.b。MapBox上有一篇很好的文章,关于减小大小并讨论了.pyc
部署的效果:https://blog.mapbox.com/aws-lambda-python-magic-e0f6a407ffc6)