call vs apply w/ switch
JavaScript performance comparison
Preparation code
<script>
Benchmark.prototype.setup = function() {
var args = [1, 2, 3];
var fn = function () {};
var switchVersion = function(fn, args) {
switch (args.length) {
case 0: fn.call(this); break;
case 1: fn.call(this, args[0]); break;
case 2: fn.call(this, args[0], args[1]); break;
case 3: fn.call(this, args[1], args[2], args[3]); break;
}
};
var applyVersion = function(fn, args) {
fn.apply(this, args);
};
};
</script>
Test runner
Warning! For accurate results, please disable Firebug before running the tests. (Why?)
Java applet disabled.
| Test | Ops/sec | |
|---|---|---|
switch/call |
|
pending… |
apply |
|
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. Here’s a list of current revisions for this page:
- Revision 1: published
- Revision 2: published by Jeremy Ashkenas
- Revision 3: published
- Revision 4: published
- Revision 5: published
- Revision 6: published
- Revision 7: published
- Revision 8: published
- Revision 9: published
- Revision 10: published
- Revision 11: published
0 comments