jonschlinkert / copy

Copy files using glob patterns. Sync, async, promise or streams. (node.js utility)
MIT License
94 stars 125 forks source link

Blocks event loop for too long #14

Open binarykitchen opened 7 years ago

binarykitchen commented 7 years ago

copy.one() can take about 500ms for small files which doesn't seem right.

I wonder if some internal code could be split between process.nextTick?

jonschlinkert commented 7 years ago

can take about 500ms for small files which doesn't seem right.

hmm, no that doesn't seem right. Can you paste an example of the code and paths causing the issue? It might be something unrelated.

Also, what OS are you using? and any other details that might be useful in debugging.

thanks for reporting

binarykitchen commented 7 years ago

hmm, hard to isolate. because i am running lots of file operations in the background to encode a video based on images. memory goes low, at peak times only 300 MB avail.

os is ubuntu 16.04, happens on latest node.

but let me share the parameters i am using for copy.one:

copy.one(file, destinationDirectory, opts, cb)

where file is for example: /home/michael-heuberger/binarykitchen/code/videomail.io/var/local/tmp/clients/videomail.io/11e6-82b4-48f18210-a082-e30767f344ae/videomail_preview.webm

destinationDirectory: /home/michael-heuberger/binarykitchen/code/videomail.io/var/local/uploads/videomail.io/videomail/11e6/82/b4/11e6-82b4-48f18210-a082-e30767f344ae

and opts: { flatten: true }

hope this helps narrowing down the issue?