Curious, shouldn't V8 be able to inline the readUInt8 function call, or
there's more than that?

On Thu, Oct 4, 2012 at 1:43 AM, Ben Noordhuis <[email protected]> wrote:

> On Thu, Oct 4, 2012 at 1:37 AM, NodeNinja <[email protected]> wrote:
> > Doing some tests on windows with node v0.8.11
> > --------------------------------------------
> > var buf = new Buffer(10000000);
> > buf.fill(0xFF);
> >
> > var len = buf.length;
> > var a;
> > var start = new Date();
> > for(var b = 0 ; b < len; b++){
> > a = buf.readUInt8(b);
> > }
> > var end = new Date();
> >
> > console.log('Buffer reads ' + (end - start) + ' ms'); // Prints 81ms
> >
> > ------------------------------------------------
> >
> > var arr = [];
> > var len = 10000000;
> > for(b = 0 ; b < len; b++){
> > arr[b] = 0xFF;
> > }
> > var len = arr.length;
> > console.log(len);
> > start = new Date();
> > for(b = 0 ; b < len; b++){
> > a = arr[b];
> > }
> > end = new Date();
> >
> > console.log('Array reads ' + (end - start) + ' ms'); // Prints 29ms
> >
> > And I always thought that buffers would be faster than arrays in node.js
> ?
> > :(
> > Am I doing something wrong ??
>
> Don't use buf.readUInt8(), it's only there for the sake of parity with
> the other .readUInt*() functions. Replace it with `a = buf[b]` and
> you'll see a 4-5x speed-up.
>
> --
> 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

Reply via email to