Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Testing leftpad just for lulz
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Android 10; Mobile; rv:132.0) Gecko/132.0 Firefox/132.0
Browser:
Firefox Mobile 132
Operating system:
Android
Device Platform:
Mobile
Date tested:
one year ago
Test name
Executions per second
Old npm leftpad
1746.0 Ops/sec
string repeat
5115.9 Ops/sec
Built-in method
5021.3 Ops/sec
Script Preparation code:
function randstring() { const l = Math.ceil(Math.random()*16+5) const alphabet = "abcdefghijklmnopqrstuvwxyz" let a = [] for (let i=0; i<l; i++) { a.push(alphabet[Math.floor(Math.random()*alphabet.length)]) } return a.join("") } var strings = [] var numbers = [] for (let i=0; i<100; i++) { strings.push(randstring()) numbers.push(Math.floor(Math.random()*10000)) } var testdata = [strings, numbers] var leftpad1 = function(str, len, ch) { str = str.toString(); var i = -1; if (!ch && ch !== 0) ch = ' '; len = len - str.length; while (++i < len) { str = ch + str; } return str; } var leftpad2 = function(str, len, ch) { str = str.toString() if (str.length >= len) return str ch = !ch && ch !== 0 ? " " : ch return ch.repeat(len-str.length) + str }
Tests:
Old npm leftpad
let result = testdata.map( (data) => data.map( (value) => leftpad1(value, 50)))
string repeat
let result = testdata.map( (data) => data.map( (value) => leftpad2(value, 50)))
Built-in method
let result = testdata.map( (data) => data.map( (value) => value.toString().padStart(50)))