Make npm install faster - npm

An average npm install seems to take around 44 seconds on my machine for a new Angular project, when created using the Angular CLI.
I looked at the usage of the computer resources but I didn't see anything being used at 100% (CPU, RAM, Disk, Ethernet).
Is the install time that 'slow' due to the response times of the requests made during the process, or the speed of the server that feeds me the node modules or is there a specific hardware component that is slowing down the process?
Basically, I want to know if upgrading something on my computer could decrease the install time.

Related

Server start much slower in JUnit tests than when starting application

We have JUnit tests that boot up the entire server and then test some functions in the booted server. However this takes a lot longer than when simply booting the server regularly through it's main function, outside of a a junit test. Why could that be?
More concretely, we're using the dropwizard framework with a jetty server. The logs I get after starting within a unit test are
INFO [2022-09-19 15:12:45,985] org.eclipse.jetty.server.Server: Started #60649ms
and the logs I get with a regular application start are
INFO [2022-09-19 15:15:06,887] org.eclipse.jetty.server.Server: Started #13093ms
As you can see, it's around 6 times faster outside of JUnit.
Is there any reason for that? The server spawned in junit isn't 100% identical to the other one but it comes pretty close. I don't see any reason why it should just be that much slower. Is there any "known" reason why this is happening or is it more likely that's something about how we spawn the server in our testing environment?
When trying to find the bottleneck, I couldn't identify one single place that runs slower. It seems that everything is just running slower in the tests.
Edit:
An additional information is that I run on an M1 mac. My previous results, where the tests were 6 times slower than the server start, were with brew install --cask adoptopenjdk11. However when I switched to the brew install --cask zulu-jdk11, now the disparity is much smaller: 18 seconds for test runs, 12 seconds for server starts. It doesn't make the mystery smaller, but it makes me a bit happier.

Pip , npm on offline servers

If you are developing Python web services for local network (servers is totally offline from the web) and the only way to add files to the server is through Flash drivers so using pip for Python packages or npm for node packages is such a headache and gets in a lot of dependencies issues and build issues .. so what is the proper way of dealing with such environment so development and deployment would be easier?
there are 2 approaches which you can take:
download all your dependencies locally and ship them to the remote server. this includes all the pip and npm packages. pay attention to the python\nodejs\operating system versions and architecture.
use docker to create an image, which packs everything. then ship the image to the remote server and finally spin-up a container based on that image.
You can use Pypicache to run your own pip servers and let it to cache your dependencies wherever you have an internet connection (where you are developing the application).
Then you can copy the whole pypicache folder on your flash drive and run the server wherever you want and use the cached packages inside it. the good point is in some environments that you can get a network connection for a limited time, having a pypicache is useful because it can download whatever all of the dependencies that your python applications need, and each instance would download and install the dependencies from the offline pip server by providing a simple switch in the command line. Here is an example:
pip install -i http://localhost:8080/simple somepackage
More Information - pypicache

Why is npm development server startup slow in emacs terminal mode?

I'm just getting back into trying some front end projects for the first time in a few years. Many npm-based javascript projects I try out end up taking a long time to start up in development mode even for Hello World-ish examples. In particular I'm trying out Nuxt.js.
Dev server startup takes about 100 seconds, and nothing seems to get cached so restarts (not hot reloads) take the same amount of time. My research into the project and known npm issues did not turn up any definitive root cause or ways to improve this yet.
I'm using emacs 26.1 in terminal mode on a 2018 13" MacBook Pro with a core i5, 8 GB of ram, and an SSD.
When I run npm run dev to startup the nuxt dev server I get repeated error in process filter: Args out of range: "\342", -1 errors related to some unusual characters they are using to try to make the output pretty. If I try the same thing in a vanilla Mac OS terminal the server startup goes 10x faster. Why do those errors occur, and why is it so much slower in an emacs terminal?
It turns out the repeated error in process filter issue may be caused by a bug in term mode that was recently fixed but might still be an issue in my version of emacs.
As a workaround, the following can get the nuxt dev server running in ~10s instead of ~100s in an emacs terminal on my mac by filtering out the repeated lines about the modules being built:
$ npm run dev | grep -v modules
Note that I tried using npm's options to adjust the log level but none seem to filter this output. If anyone knows a more "official" way of filtering this, or even better, if you know how to make it such that it doesn't try to rebuild the modules on every dev server start up, I'd be interested to know.
Edit: it might make sense to adjust the dev script command in the package.json file to include the grep filter, that way you can still just type npm run dev and get the workaround.

Why is a yeoman scaffold so slow?

A simple yo webapp with a freshly installed Yeoman 1.4.6 and a freshly installed Node.js 0.12 (I've also tested with 0.10) takes four minutes on my computer! I'm wondering if things are configured as they should. Does npm have to download do all these things every time? What happened since Paul Irish initial demo?
My system is an Ubuntu 14.10, Node.js 0.12 installed using these instructions.
Update: Here's an asciicast from another machine (Ubuntu 14.04, Node.js 0.10, NPM 2.7.1): https://asciinema.org/a/17741
The "module" concept of node.js is around "download on first install and save to cache for future installs". Basically, then you start yo webapp on fresh node.js install, all required node.js modules are download from internet and saved to cache. Second yo webapp command will do much faster (like in demo) since all required modules are already downloaded to your computer.

Ubuntu Freeze if kept untouched for a few minutes

So I have Ubuntu 14.04 Installed on my system with a few "tweaks", mainly ccsm. I also have google chromium browser installed as well. I do a lot of work in the browser and usually have 10+ tabs open in my system.
I also like to use the multi-window (Workspace) and have 8 Workspaces (thus one of the reasons for ccsm).
Once I leave the computer and try to come back (before the screen locks), the computer is COMPLETELY frozen with my HDD running at very high speeds. I have a system monitor that monitors the CPU activity and HD activity and right before those things freezes, my RAM is at 100% and so is my HDD.
I'm wondering if anyone can help me FIGURE OUT what the problem is? I've been using ubuntu since '08 so I'm familiar with it. I just don't know where to start!
HELP!
I can not deal with the problem until I install the following packages as follows
sudo apt-get install linux-generic-lts-quantal xserver-xorg-lts-quantal
You could get the detailed reason from http://www.howtoeverything.net/linux/hardware/random-freezes-integrated-hd-4000-graphics
Maybe you have to consider the Google Chrome or Chromium, whose two or more different Flash plugins conflict with each other, and the freeze problem disappear after you Disable the Flash plugins in the webpage opened by inputting
chrome://plugins
in the URL address of Chrome
Or another useful method of changing the chrome plugins is to uninstall the google-chrome completely,and then install the current chrome with newest flash plugin.
After all the above are done, the system need restart.
Hope it can help. Good luck!