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
Addad native .nodeValue method
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>var html = document.body.innerHTML;
var map = {
"&": "&",
"'": "'",
'"': """,
"<": "<",
">": ">"
};
function replaceEntity(chr) {
return map[chr];
}
var tempElement = $(document.createElement("div"));
String.prototype.replaceAll = function(str1, str2, ignore) {
return this.replace(new RegExp(str1.replace(/([\/\,\!\\\^\$\{\}\[\]\(\)\.\*\+\?\|\<\>\-\&])/g, "\\$&"), (ignore ? "gi" : "g")), (typeof(str2) == "string") ? str2.replace(/\$/g, "$$$$") : str2);
};
String.prototype.htmlEncode = function() {
return this.replace(/&/g, '&').replace(/"/g, '"').replace(/'/g, ''').replace(/</g, '<').replace(/>/g, '>');
};
var re_amp = /&/g;
var re_squo = /'/g;
var re_dquo = /"/g;
var re_lt = /</g;
var re_gt = />/g;
var DOMtext = document.createTextNode("test");
var DOMnative = document.createElement("span");
DOMnative.appendChild(DOMtext);
var RE_amp = new RegExp("&","g");
var RE_squo = new RegExp("'","g");
var RE_dquo = new RegExp("\"","g");
var RE_lt = new RegExp("<","g");
var RE_gt = new RegExp(">","g");
String.prototype.htmlSafe= function(){
return this
.replace(RE_amp, '&')
.replace(RE_dquo, '"')
.replace(RE_squo, ''')
.replace(RE_lt, '<')
.replace(RE_gt, '>');
}Ready to run.
| Test | Ops/sec | |
|---|---|---|
| multiple replace() | | ready |
| single replace with map | | ready |
| single replace with switch | | ready |
| use jQuery | | ready |
| use jQuery with pre-created element | | ready |
| predefined regexp literals | | ready |
| .innerHTML | | ready |
| string replaceAll method | | ready |
| replace chain on prototype | | ready |
| single replace with pre-defined function | | ready |
| .nodeValue | | ready |
| replace new RegExp | | ready |
| replace new RegExp literal | | ready |
| replace new RegExp literal prototype | | ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.