jsPerf.app is an online JavaScript performance benchmark test runner & jsperf.com mirror. It is a complete rewrite in homage to the once excellent jsperf.com now with hopefully a more modern & maintainable codebase.
jsperf.com URLs are mirrored at the same path, e.g:
https://jsperf.com/negative-modulo/2
Can be accessed at:
https://jsperf.app/negative-modulo/2
function makeid(length) {
let result = '';
const characters = '<<<>>>\'\'\'"""```===&&&ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
const charactersLength = characters.length;
let counter = 0;
while (counter < length) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
counter += 1;
}
return result;
}
const str = makeid(10);
const sanitizeSymbols = {
'&': '&',
'<': '<',
'>': '>',
'"': '"',
"'": ''',
'`': '`',
'=': '=',
};
function sanitizeHtmlPlaintextRegex(text) {
return text.replaceAll(/[&<>"'`=]/g, (match) => {
return sanitizeSymbols[match];
});
}
function sanitizeHtmlPlaintextReplaceAlls(text) {
return text
.replaceAll('&', '&')
.replaceAll('<', '<')
.replaceAll('>', '>')
.replaceAll('"', '"')
.replaceAll("'", ''')
.replaceAll('`', '`')
.replaceAll('=', '=');
}
function sanitizeHtmlPlaintextReduce(text) {
const symbols = [
{ symbol: '&', sub: '&' },
{ symbol: '<', sub: '<' },
{ symbol: '>', sub: '>' },
{ symbol: '"', sub: '"' },
{ symbol: "'", sub: ''' },
{ symbol: '`', sub: '`' },
{ symbol: '=', sub: '=' },
];
return symbols.reduce((prev, { symbol, sub }) => {
return prev.replaceAll(symbol, sub);
}, text);
}
Ready to run.
Test | Ops/sec | |
---|---|---|
regex |
| ready |
replaceAlls |
| ready |
reduce |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.