Фон
Я создаю API, используя AWS Lambda и API Gateway. Вместо того, чтобы разбивать каждую конечную точку API на отдельные лямбда-функции, я оборачиваю их в единую библиотеку и использую библиотеку aws-serverless-express
.
Вопрос
Учитывая, что только часть всего API может использоваться в одном выполнении Lambda, с точки зрения использования памяти (для сокращения затрат) есть ли разница между:
var myModule = require("mymodule");
...
function handleSomething1()
{
myModule.doSomething();
}
function handleSomething2()
{
...
}
or
function handleSomething()
{
require("mymodule").doSomething();
}
function handleSomething2()
{
...
}
Так, например, один запрос API может привести к вызову только handleSomething2
до отключения функции Lambda. В этом случае мы эффективно тратим память, вызывая var myModule = require("mymodule");
сверху?
Я полагаю, что более прямой вопрос заключается в том, когда я var myModule = require("mymodule")
действительно ли среда выполнения node.js выделяет память для myModule
в этот момент? Или это фактически бесполезна, пока я действительно не сделаю что-нибудь с myModule
?