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
Comparing the speed of msgpack-js using typed arrays against JSON.parse and JSON.stringify
<script src="https://rawgithub.com/creationix/msgpack-js-browser/master/msgpack.js"></script>
// took the string data from a protobuf.js test for comparison
var stringData = {
"title": "How to Avoid Huge Ships",
"authors": [
{ "name": "John W. Trimmer" }
],
"isbn": 9780870334337,
"year_of_publication": 1993,
"reviews":
[
{
"reviewer": { "name": "Dan" },
"rating": 1,
"comments": "Read this book before going......"
},
{
"reviewer": { "name": "Noel D. Hill" },
"rating": 5,
"comments": "As the father of two teenagers, I found this book invaluable."
}
]
};
var numberData = [
[1, 2, 3, 4, -1, true, null],
[3, 6, 5, 4, 1, false, 7],
[3, 2, 8, 1, 0, true, 0],
[10, 11, 12, 13, 14, false, true],
[15, 16, 17, 18, 19, true, null],
[20, 21, 22, 23, 24, false, 7],
[25, 26, 27, 28, 29, true, 0],
100, 200, 300,
[
[1, 0, 0, 0, 0],
[0, 1, 0, 0, 0],
[0, 0, 1, 0, 0],
[0, 0, 0, 1, 0],
[0, 0, 0, 0, 1]
]
]
var stringifiedJsonStringData = JSON.stringify(stringData);
var stringifiedJsonNumberData = JSON.stringify(numberData);
var stringifiedMsgpackStringData = msgpack.encode(stringData);
var stringifiedMsgpackNumberData = msgpack.encode(numberData);
Ready to run.
Test | Ops/sec | |
---|---|---|
JSON strings Stringify |
| ready |
JSON numbers Stringify |
| ready |
MsgPack strings Stringify |
| ready |
MsgPack numbers Stringify |
| ready |
JSON strings Parse |
| ready |
JSON numbers Parse |
| ready |
MsgPack strings Parse |
| ready |
MsgPack numbers Parse |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.