在node.js / Java中编写的AWS Lambda函数是否存在任何性能/function差异

我打算将AWS Lambda用于应用程序的后端。 Java与Node.js相比更加舒适,但是我发现Node.js中的Lambda函数比Java更受欢迎。 基于Java的和基于nodej的lambda函数之间是否存在性能差异?

虽然Java的启动时间较慢,但运行时性能比node.js或Python好得多。 这意味着Java Lambda函数在下列情况下有意义:

  1. 定期调用它们 – AWS Lambda将重新使用它的初始化容器 ,您可以从没有冷启动延迟的更好性能中受益

和/或

  1. 他们有一个很长的运行时间 – 如果你的函数正在运行,例如1或2分钟,你真的不关心5秒的启动,如果函数本身的运行速度比node.js快一个数量级

你可能想看看这个比较冷启动时间的github项目 。

Java恶意启动的一个主要原因可能是Java项目通常比node.jsfunction大得多。 无论如何,你应该尽量保持function尽可能小,以减less初始延迟。

当然,性能不应该是select你的编程语言的唯一因素。 我个人认为node.js在使用JSON数据时非常方便,这就是为什么我在大多数函数中使用它。

与NodeJSfunction相比,Lambda上的Java函数通常需要更多的资源,并且需要更长的时间才能从冷启动进行响应。 否则没有区别。