Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
CP437 decode
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Safari/605.1.15
Browser:
Safari 16
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
2 years ago
Test name
Executions per second
append string
2606093.2 Ops/sec
from char code
372856.1 Ops/sec
chunk 100
177590.4 Ops/sec
chunk 1000
156504.2 Ops/sec
chunk 10000
85905.4 Ops/sec
chunk 10
188774.7 Ops/sec
Script Preparation code:
var n = 8; var arr = new Uint8Array(n); for (let i = 0; i < n; ++i) { arr[i] = (Math.random() * 255) | 0; } const CP437 = "\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split(""); function convert_in_place(s) { for (let k = 0; k < s.length; k++) s[k] = CP437[s[k]]; return s; } function convert(buf) { return convert_in_place(buf.slice()); } function decodeAppend(buf) { let result = ""; for (let indexCharacter = 0; indexCharacter < buf.length; indexCharacter++) { result += CP437[buf[indexCharacter]]; } return result; } function decodeFromCharCode(buf) { const s = convert(buf); return String.fromCharCode.apply(null, s); } function decodeFromCharCode2(buf, chunk) { let str = ""; let pad = new Uint8Array(chunk); for(let k = 0; k < buf.length; k += chunk) { const remaining = buf.length - k; for (let i = 0; i < Math.min(chunk, remaining); i++) pad[i] = CP437[buf[k + i]]; str += String.fromCharCode.apply(null, remaining < chunk ? pad.subarray(0, remaining) : pad); } return str; }
Tests:
append string
decodeAppend(arr)
from char code
decodeFromCharCode(arr)
chunk 100
decodeFromCharCode2(arr, 100)
chunk 1000
decodeFromCharCode2(arr, 1000)
chunk 10000
decodeFromCharCode2(arr, 10000)
chunk 10
decodeFromCharCode2(arr, 10)