Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
Chrome 120
Mac OS X 10.15.7
Desktop
one year ago
Test name Executions per second
Blob 1164.5 Ops/sec
TextEncoder 16.0 Ops/sec
Script Preparation code:
AخA
 
iterations = 1000;
function randomStringGen(n) {
    let strings = [];
    for (let i = 0; i < n; i++) {
      let s = Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
      strings[i] = s;
    }
    return strings;
}
var randomStrings = randomStringGen(iterations);
var encoder = new TextEncoder(); 
Tests:
  • Blob

     
    var j = 0;
    for (let i = 0; i < iterations; i++) {
        var str = randomStrings[i % iterations];
     new TextEncoder().encode(str).length
    }
  • TextEncoder

     
    var j = 0;
    for (let i = 0; i < iterations; i++) {
      var str = randomStrings[i % iterations];
      new Blob([str]).size
    }