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

(edited to make the string key actually contain a string portion--otherwise it was treating it as a number)

```
var mapStr = new Map();
var objStr = {};
var mapNum = new Map();
var objNum = {};
var strKeys = [];
var numKeys = [];
for (let i=0; i<10000 ; i++) {
mapStr.set(`key_${i}`, Math.random());
objStr[`key_${i}`] = Math.random();
mapNum.set(i, Math.random());
objNum[i] = Math.random();
numKeys[i] = i;
strKeys[i] = `key_${i}`;
}
```

Ready to run.

Test | Ops/sec | |
---|---|---|

[Number key] map.get |
| ready |

[String key] map.get |
| ready |

[Number key] obj[key] |
| ready |

[String key] obj[key] |
| ready |

[known str key] map.get |
| ready |

[known str key] obj[key] |
| ready |

[lookup num key to compare with known str key] obj[key] |
| ready |

string literal key |
| ready |

numeric literal key |
| ready |

You can edit these tests or add more tests to this page by appending /edit to the URL.

- Revision 1: published by Rob Becker on
- Revision 2: published by Rob Becker on
- Revision 3: published on
- Revision 8: published by Nathan Reid on
- Revision 9: published by dystroy on
- Revision 10: published by Goktug on
- Revision 11: published by Goktug on
- Revision 12: published by Stefan on
- Revision 14: published by styfle on
- Revision 15: published on
- Revision 16: published on
- Revision 17: published on
- Revision 18: published by Gabriel on
- Revision 19: published on
- Revision 21: published by Morris Brodersen on
- Revision 22: published on
- Revision 23: published by floopy on
- Revision 24: published by Goktug on
- Revision 25: published by Juliana Peña on
- Revision 26: published on
- Revision 27: published on
- Revision 30: published by Prathap Reddy on
- Revision 31: published by bitshiffed on
- Revision 32: published on
- Revision 33: published on
- Revision 34: published on
- Revision 35: published by Brandon Papworth on
- Revision 36: published by Brandon Papworth on
- Revision 37: published on
- Revision 38: published on
- Revision 39: published on
- Revision 40: published by Chris Khoo on
- Revision 41: published on
- Revision 42: published on
- Revision 43: published on
- Revision 44: published on
- Revision 45: published on
- Revision 46: published on
- Revision 47: published on
- Revision 48: published on
- Revision 49: published on
- Revision 50: published on
- Revision 51: published on
- Revision 52: published on
- Revision 53: published on
- Revision 55: published by markelog on
- Revision 56: published on
- Revision 57: published on
- Revision 58: published on
- Revision 59: published by demkalkov on
- Revision 60: published by Ben on
- Revision 61: published by sami on
- Revision 62: published by sami on
- Revision 63: published by sami on
- Revision 64: published on
- Revision 69: published by Joel Brage on
- Revision 70: published by Joel Brage on
- Revision 71: published on
- Revision 73: published by Daniel Wendel on
- Revision 74: published by jin on
- Revision 85: published on
- Revision 88: published by jin on
- Revision 89: published on
- Revision 90: published by Marius Petcu on
- Revision 92: published on
- Revision 220: published by Michael Hall on
- Revision 223: published by Michael Hall on
- Revision 237: published by Eric Anderson on
- Revision 243: published on
- Revision 247: published by Paweł Lesiecki on
- Revision 250: published by Vladimir Rudenko on
- Revision 251: published on
- Revision 252: published on