Disabling npm's progress bar yields a 2x npm install speed improvement
I don't know the exact cause here, but I can say I'm thankful for my systems background that I've gleamed for years before moving into programming.
Most sysadmin types know that displaying output on a filecopy slows down transfers greatly because the screen vsync holds up the operation.When I write utilities today that do similar things, I only display output when writing and testing the program. Otherwise I'll write to memory then dump the results in a logfile at the end.In this case since there is probably a less intensive way of providing status updates, and can probably be resolved by doing intermittent checks.