Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15
Safari 15
Mac OS X 10.15.7
Desktop
2 years ago
Test name Executions per second
Blob 2190.8 Ops/sec
TextEncoder 17.1 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
    }