Casa > P > Por Que As Instalações Da Node.js Usam Tanto Ram?

Por que as instalações da Node.js usam tanto RAM?

A instalação do Node.js não usa memória RAM. No entanto, o lançamento do runtime (ou seja, rodar um aplicativo) obviamente usa. Na minha experiência, o Node não consome muita memória RAM.

No entanto; existem muitos módulos mal escritos e aplicações mal desenhadas. Se o programador não entender como o Node alavanca a memória, então ele pode consumir muita memória de RAM. Isto é bastante comum em aplicações Electron (que usam Node), mas normalmente não é o tempo de execução do Node em falha... é tipicamente uma programação pobre.

P>Even a Ferrari vai ficar lenta se o driver não souber o que está fazendo.

UPDATE (Baseado em Comentários)

Ao executar a instalação npm ou um comando npx, a lógica npm é executada. Em outras palavras, não é Nodo, mas npm está usando Nodo. A lógica npm é relativamente simples em um alto nível.... encontrar todas as dependências e suas sub-dependências dentro do arquivo package.json. Portanto, é apenas analisar o arquivo e baixar módulos conforme necessário. O Npm tenta fazer o cache o máximo que pode, mas há limitações já que cada projeto é tratado independentemente. Em outras palavras, não há módulos compartilhados entre projetos.

Antes de você dizer "mas e os módulos globais?!", é importante entender que os módulos globais são principalmente para instalar utilitários CLI. Eles não são parte do arquivo package.json e, portanto, não são referenciados quando se faz uma instalação npm. Eles são referenciados pelo sistema, não pela aplicação.

Pessoalmente, eu não tenho visto muitos ambientes que consomem uma tonelada de RAM, mas eu geralmente vejo projetos com um enorme número de módulos. A pegada geral é enorme - às vezes mais de 50MB. Há coisas que você pode fazer sobre isso (veja Npm Necessita de um Personal Trainer - Autor.io), mas cabe aos autores individuais manter módulos menores/eficientes. É por isso que eu não uso ferramentas como webpack.... muitos desenvolvedores, especialmente desenvolvedores Jr, apenas instalam módulos sem considerar o tamanho da aplicação. É um acumulador de módulos, e prejudica a todos.

Este é um problema de comunidade, que não é sem garantia, dado que a comunidade tem mais de 8M de pessoas fortes. O melhor curso de ação é simplesmente entender o que npm está fazendo por você e ser perspicaz sobre os pacotes que você escolhe usar.

De Wyatan

É possível arrancar ROMs de jogos Xbox 360 do disco sem uma consola Xbox 360? :: O meu telefone deve ter um ram de 3gb, mas só consigo tirar 1.4gb dele. Porquê?