Calculate string byte size from array

Benchmark created on


Preparation HTML

<div id="result"></div>

Setup

let arrSize = 1000;
let stringSize = 0;

const makeid = (length) => {
    var result           = '';
    var characters       = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
    var charactersLength = characters.length;
    for ( var i = 0; i < length; i++ ) {
        result += characters.charAt(Math.floor(Math.random() * charactersLength));
    }
    return result;
}

const arr = [];

while(arrSize){
	arr.push(makeid(arr.length * 3));
	arrSize--
}

Teardown

console.log(stringSize);

Test runner

Ready to run.

Testing in
TestOps/sec
use blob for utf8 string

while(arr.length){
	const str = arr.pop();
	stringSize += new Blob([str]).size;
}

// document.querySelector("#result").textContent = stringSize;
ready
string length for utf16 string

while(arr.length){
	const str = arr.pop();
	stringSize += (str.length * 2);
}


// document.querySelector("#result").textContent = stringSize;
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.