RegExp test / search / match vs. indexOf
JavaScript performance comparison
Preparation code
<script>
var str = "But I must explain to you how all this mistaken idea of denouncing of a pleasure and praising pain was born and I will give you a complete account of the system, and expound the actual teachings of the great explorer of the truth, the master-builder of human happiness. No one rejects, dislikes, or avoids pleasure itself, because it is pleasure, but because those who do not know how to pursue pleasure rationally encounter consequences that are extremely painful. Nor again is there anyone who loves or pursues or desires to obtain pain of itself, because it is pain, but occasionally circumstances occur in which toil and pain can procure him some great pleasure. To take a trivial example, which of us ever undertakes laborious physical exercise, except to obtain some advantage from it? But who has any right to find fault with a man who chooses to enjoy a pleasure that has no annoying consequences, or one who avoids a pain that produces no resultant pleasure";
var match = 'again';
</script>
<script>
Benchmark.prototype.setup = function() {
var precompiledRegex = /(again)/g;
};
</script>
Test runner
Warning! For accurate results, please disable Firebug before running the tests. (Why?)
Java applet disabled.
Test | Ops/sec | |
---|---|---|
test
|
|
pending… |
search
|
|
pending… |
match
|
|
pending… |
indexOf
|
|
pending… |
precompiled test
|
|
pending… |
precompiled search
|
|
pending… |
precompiled match
|
|
pending… |
indexOf string primitive
|
|
pending… |
Primitive comparison
|
|
pending… |
Substring
|
|
pending… |
Compare results of other browsers
Revisions
You can edit these tests or add even more tests to this page by appending /edit
to the URL.
- Revision 1: published Tom Doan
- Revision 2: published
- Revision 3: published john
- Revision 4: published
- Revision 5: published
- Revision 6: published
- Revision 7: published
- Revision 8: published
- Revision 11: published
- Revision 12: published Mike Petrovich
- Revision 13: published Sudheer
- Revision 14: published
- Revision 15: published Michael Sherov
- Revision 17: published
- Revision 18: published
- Revision 19: published
- Revision 22: published
- Revision 25: published Quango
- Revision 26: published MikeMac
- Revision 27: published
- Revision 28: published
- Revision 29: published
- Revision 31: published
- Revision 32: published
- Revision 33: published Deryck
- Revision 34: published
- Revision 35: published
- Revision 36: published
- Revision 37: published
- Revision 40: published
- Revision 41: published
- Revision 42: published
- Revision 43: published Lance
- Revision 44: published
- Revision 45: published
- Revision 46: published
- Revision 47: published
- Revision 48: published
- Revision 49: published
- Revision 50: published
- Revision 51: published
- Revision 52: published
- Revision 54: published
- Revision 55: published
- Revision 56: published
- Revision 61: published Brian Milton
- Revision 63: published Cenas
- Revision 64: published Luke Bonaccorsi
- Revision 65: published
- Revision 66: published Single string match
- Revision 68: published and last updated
- Revision 69: published
- Revision 71: published me
- Revision 72: published
- Revision 73: published Robert
- Revision 74: published test
- Revision 75: published
- Revision 76: published
- Revision 78: published
- Revision 79: published
- Revision 80: published
- Revision 81: published
- Revision 82: published
- Revision 83: published
- Revision 84: published
- Revision 85: published tjaden
- Revision 86: published
- Revision 90: published
- Revision 91: published
- Revision 92: published
- Revision 97: published test
- Revision 98: published
- Revision 99: published
- Revision 100: published Ömer Kaşdarma
- Revision 102: published Eliseu Monar dos Santos
0 Comments