Me preguntaba si el uso de require()
en node.js era equivalente a la carga diferida?Carga lenta en node.js
Por ejemplo, si tenía una función que requería un paquete node.js específico que no era necesario en ningún otro lugar de mi código, lo mejor es usar require()
dentro de esa función para incluir el paquete necesario solo cuando se llame a esa función .
¿No estoy seguro de si esto proporcionará alguna mejora en el rendimiento dada mi falta de comprensión en torno a la arquitectura node.js? Supongo que usará menos memoria por conexión a mi servidor. Sin embargo, ¿aumentará la E/S en el disco cuando tenga que leer el paquete, o será una sola para obtenerlo en la memoria?
Si este es el caso, ¿qué tan lejos debería tomar esto, debería estar intentando escribir paquetes node.js para la mayor cantidad de código que pueda?
Gracias Peter, esto hizo que todo tenga mucho más sentido. –
La carga anticipada no tiene sentido para las herramientas CLI (excepto para las pruebas, donde podría desactivarlo temporalmente). – sheerun
@PeterLyons puede explicarme la línea "El nodo tiene un solo hilo, por lo que la huella de memoria de cargar un módulo no es por conexión, es por proceso. Cargar un módulo es una tarea única para tenerlo en la memoria". Entiendo lo que es un hilo único, ¿quiere decir que sea cual sea el número de conexiones al servidor, un módulo en particular se cargará solo una vez en toda la aplicación? – Deepak