### re: Performance measurement of JavaScript solutions to common algorithmic questions (part 1) VIEW POST

re: Heeeey, that's pretty fast :v I don't know what you're using to benchmark and draw these nice graphs, so I'm forced to bother you again: Can you t...

The code is mentioned in the bottom of the post: gist.github.com/detunized/17f524d7...
The graphs I draw using Google Sheets. I can add this code later to my set. I actually looked for reverse on Buffet but didn't see it. Weird.

Yeah, it's not listed on the Node docs, because it's inherited.
It's on MDN though.
This is over twice as fast :D

``````function reverseStringBuffer2(str) {
return Buffer.from(str, "ascii").reverse().toString("ascii");
}
``````

This was 💩 though:

``````function findLongestWordLengthBuffer(str) {
const buf = Buffer.from(str, 'ascii')
const length = buf.length
let maxLength = 0;
let start = 1;
let offset = 0;
let last = false;
while (!last) {
const found = buf.indexOf(32, offset)
offset = found+1
last = offset === 0
const len = found - start
start = found
if (len > maxLength) maxLength = len
}
return maxLength
}
``````

Just plugging a buffer into your `Fast` is twice faster on long strings, same and maybe a little worse on short:

``````function findLongestWordLengthBufferFast(str) {
const buf = Buffer.from(str,'ascii')
let l = buf.length;

let maxLength = 0;
let currentLength = 0;

for (let i = 0; i < l; ++i) {
if (buf[i] === 32) {
if (currentLength > maxLength) {
maxLength = currentLength;
}
currentLength = 0;
} else {
++currentLength;
}
}

// Account for the last word
return currentLength > maxLength ? currentLength : maxLength;
}
``````
Code of Conduct Report abuse