It doesnt look like they wait for the previous ones to complete.
Its just more load, so the threads queue up, hence the high latencies.
danmilon.
On 12/05/2012 12:24 PM, 長島徹 wrote:
> Hello.
>
> I found a strange behavior. I want to get the method to avoid the
> behavior.
>
> I compress a data (around 1.8MB) with ZLib. result:
>
> ok(84ms): 0_data.json.gz
>
>
> OK, the process finished on around 100ms. I tried to compress the
> data in parallel 50. Having done that, all processes were slow
> similarly. result:
>
> ok(987ms): 3_data.json.gz ok(1002ms): 4_data.json.gz ok(1002ms):
> 8_data.json.gz ok(1004ms): 0_data.json.gz ok(1004ms):
> 2_data.json.gz ok(1003ms): 5_data.json.gz ok(1002ms):
> 10_data.json.gz ok(1003ms): 6_data.json.gz ok(1004ms):
> 1_data.json.gz ok(1002ms): 13_data.json.gz ok(1003ms):
> 7_data.json.gz ok(1002ms): 9_data.json.gz ok(1002ms):
> 11_data.json.gz ok(998ms): 21_data.json.gz ok(1001ms):
> 16_data.json.gz ok(1003ms): 12_data.json.gz ok(1002ms):
> 17_data.json.gz ok(1003ms): 14_data.json.gz ok(999ms):
> 20_data.json.gz ok(999ms): 24_data.json.gz ok(1002ms):
> 18_data.json.gz ok(999ms): 19_data.json.gz ok(998ms):
> 26_data.json.gz ok(999ms): 23_data.json.gz ok(1002ms):
> 15_data.json.gz ok(999ms): 25_data.json.gz ok(999ms):
> 28_data.json.gz ok(999ms): 29_data.json.gz ok(999ms):
> 30_data.json.gz ok(1000ms): 22_data.json.gz ok(998ms):
> 33_data.json.gz ok(998ms): 32_data.json.gz ok(998ms):
> 35_data.json.gz ok(998ms): 38_data.json.gz ok(999ms):
> 31_data.json.gz ok(998ms): 36_data.json.gz ok(997ms):
> 44_data.json.gz ok(997ms): 42_data.json.gz ok(997ms):
> 39_data.json.gz ok(998ms): 34_data.json.gz ok(997ms):
> 40_data.json.gz ok(998ms): 37_data.json.gz ok(997ms):
> 41_data.json.gz ok(997ms): 43_data.json.gz ok(999ms):
> 27_data.json.gz ok(996ms): 48_data.json.gz ok(996ms):
> 45_data.json.gz ok(997ms): 46_data.json.gz ok(997ms):
> 47_data.json.gz ok(996ms): 49_data.json.gz
>
>
> Each process returned after done all processes. Why is this? And
> what do I do to avoid this behavior?
>
> I had expected that the finished process returns immediately in
> turn. eg:
>
> ok(100ms): 3_data.json.gz ok(100ms): 4_data.json.gz ok(100ms):
> 8_data.json.gz ok(100ms): 0_data.json.gz ok(100ms): 2_data.json.gz
> ok(200ms): 5_data.json.gz ok(200ms): 10_data.json.gz ok(200ms):
> 6_data.json.gz ok(200ms): 1_data.json.gz ok(200ms):
> 13_data.json.gz ok(300ms): 7_data.json.gz ok(300ms):
> 9_data.json.gz ok(300ms): 11_data.json.gz .... ....
>
>
>
> Sorry my poor English. Thanks.
>
> P.S. test program
>
>
> 'use strict';
>
> var Fs = require('fs'); var Z = require('zlib');
>
> var target = 'data.json'; var times = 50;
>
> var dumpEnd = function (name, begin) { return function () {
> console.log('ok(' + (Date.now() - begin) + 'ms): ' + name); }; };
>
> for (var i = 0; i < times; ++i) { var zipName = i + '_' + target +
> '.gz'; var begin = Date.now();
>
> Fs.createReadStream(target) .pipe(Z.createGzip())
> .pipe(Fs.createWriteStream(zipName)) .on('close', dumpEnd(zipName,
> begin)); }
>
> -- Job Board: http://jobs.nodejs.org/ Posting guidelines:
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
>
>
You received this message because you are subscribed to the Google
> Groups "nodejs" group. To post to this group, send email to
> [email protected] To unsubscribe from this group, send email
> to [email protected] For more options, visit this
> group at http://groups.google.com/group/nodejs?hl=en?hl=en
--
Job Board: http://jobs.nodejs.org/
Posting guidelines:
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en