JavaScript Object Oriented Libraries Benchmark
JavaScript performance comparison
Preparation code
<script src="http://dl.dropbox.com/u/7677927/oop-benchmark/lib/jsface.js"></script>
<script src="http://dl.dropbox.com/u/7677927/oop-benchmark/lib/jsface.js"></script>
<script src="http://dl.dropbox.com/u/7677927/oop-benchmark/lib/my.class.js"</script>
<script src="http://dl.dropbox.com/u/7677927/oop-benchmark/lib/my.class.js"</script>
<script src="http://dl.dropbox.com/u/7677927/oop-benchmark/lib/jrclass.js"</script>
<script src="http://dl.dropbox.com/u/7677927/oop-benchmark/lib/jrclass.js"</script>
<script src="http://dl.dropbox.com/u/7677927/oop-benchmark/lib/klass.js"></script>
<script src="http://dl.dropbox.com/u/7677927/oop-benchmark/lib/klass.js"></script>
<script src="http://dl.dropbox.com/u/7677927/oop-benchmark/lib/classy.js"></script>
<script src="http://dl.dropbox.com/u/7677927/oop-benchmark/lib/classy.js"></script>
<script src="http://dl.dropbox.com/u/7677927/oop-benchmark/lib/ptclass.js"</script>
<script src="http://dl.dropbox.com/u/7677927/oop-benchmark/lib/ptclass.js"</script>
<script src="http://dl.dropbox.com/u/7677927/oop-benchmark/all.js"></script>
<script src="http://dl.dropbox.com/u/7677927/oop-benchmark/all.js"></script>
<script src="https://raw.github.com/IndigoUnited/dejavu/master/dist/regular/loose/dejavu.js"></script>
<script>
var dejavuClassPerson = dejavu.Class({
initialize: function(name){
this.name = name;
},
setAddress: function(country, city, street) {
this.country = country;
this.city = city;
this.street = street;
}
});
var dejavuClassFrenchGuy = dejavu.Class({
$extends: dejavuClassPerson,
setAddress: function(city, street) {
this.$super("France", city, street);
}
});
var dejavuClassParisLover = dejavu.Class({
$extends: dejavuClassFrenchGuy,
setAddress: function(street) {
this.$super('Paris', street);
}
});
var dejavuSuperAlternativeClassPerson = dejavu.Class({
initialize: function(name){
this.name = name;
},
setAddress: function(country, city, street) {
this.country = country;
this.city = city;
this.street = street;
}
});
var dejavuSuperAlternativeClassFrenchGuy = dejavu.Class({
$extends: dejavuSuperAlternativeClassPerson,
setAddress: function(city, street) {
dejavuSuperAlternativeClassFrenchGuy .$parent.prototype.setAddress.call(this, "France", city, street);
}
});
var dejavuSuperAlternativeClassParisLover = dejavu.Class({
$extends: dejavuSuperAlternativeClassFrenchGuy,
setAddress: function(street) {
dejavuSuperAlternativeClassParisLover .$parent.prototype.setAddress.call(this, 'Paris', street);
}
});
</script>
Preparation code output
Test runner
Warning! For accurate results, please disable Firebug before running the tests. (Why?)
Java applet disabled.
Test | Ops/sec | |
---|---|---|
JSFace
|
|
pending… |
my.Class
|
|
pending… |
John Resig Class
|
|
pending… |
Klass
|
|
pending… |
Classy
|
|
pending… |
PTClass
|
|
pending… |
dejavu
|
|
pending… |
dejavu $super alternative
|
|
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 3: published Tan Nhu
- Revision 4: published
- Revision 5: published Tan Nhu
- Revision 6: published Tan Nhu
- Revision 7: published Tan Nhu
- Revision 8: published Tan Nhu
- Revision 9: published Tan Nhu
- Revision 10: published Tan Nhu
- Revision 11: published André Cruz
- Revision 13: published André Cruz
- Revision 14: published
- Revision 15: published Tan Nhu
- Revision 16: published
- Revision 17: published
- Revision 18: published
- Revision 19: published
- Revision 21: published
- Revision 22: published
- Revision 25: published
- Revision 27: published
- Revision 28: published
- Revision 29: published
- Revision 38: published
- Revision 39: published
- Revision 40: published
- Revision 41: published
- Revision 51: published André Cruz
- Revision 52: published André Cruz
- Revision 54: published André Cruz
- Revision 58: published André Cruz
- Revision 61: published Nodir Turakulov
- Revision 62: published Airy
- Revision 64: published
- Revision 69: published
- Revision 70: published André Cruz
- Revision 77: published André Cruz
- Revision 79: published André Cruz
- Revision 83: published
- Revision 84: published Aadit M Shah
- Revision 85: published Aadit M Shah
- Revision 86: published Yuan Tao
- Revision 88: published
- Revision 89: published Aadit M Shah
- Revision 90: published Yuan Tao
- Revision 91: published Aadit M Shah
- Revision 92: published Yuan Tao
- Revision 93: published Yuan Tao
- Revision 94: published Aadit M Shah
- Revision 95: published Aadit M Shah
- Revision 96: published Yuan Tao
- Revision 97: published Aadit M Shah
- Revision 98: published Yuan Tao
- Revision 100: published Yuan Tao
- Revision 104: published
- Revision 105: published Aadit M Shah
- Revision 106: published Yuan Tao
- Revision 107: published André Cruz
- Revision 108: published Aadit M Shah
- Revision 109: published Mark Johnson
- Revision 110: published Mark Johnson
- Revision 111: published Mark Johnson
- Revision 112: published
- Revision 113: published
- Revision 117: published Aadit M Shah
- Revision 118: published Aadit M Shah
- Revision 119: published Yannick Albert and last updated
- Revision 122: published
- Revision 124: published
- Revision 127: published Aadit M Shah
- Revision 128: published and last updated
- Revision 129: published Yuan Tao
- Revision 132: published
- Revision 135: published
- Revision 136: published and last updated
- Revision 137: published
- Revision 140: published
- Revision 143: published
- Revision 144: published Patrick Steele-Idem
- Revision 145: published torworx
- Revision 146: published Yuan Tao
- Revision 147: published
- Revision 148: published
- Revision 149: published
- Revision 150: published
- Revision 151: published
- Revision 152: published
- Revision 155: published
- Revision 156: published Martijn van Beek
- Revision 157: published Austin Appleby
- Revision 158: published Aadit M Shah
- Revision 159: published Jarid Margolin
- Revision 160: published Pete Hodgson
- Revision 162: published John Doe
- Revision 163: published
- Revision 164: published
- Revision 165: published
- Revision 166: published Nicolas Vanhoren
- Revision 167: published
- Revision 168: published Kamil
- Revision 169: published Enzo
- Revision 170: published
- Revision 171: published Tom Villeneuve-Pelletier
- Revision 172: published alban
- Revision 173: published alban
- Revision 174: published alban
- Revision 175: published Naja Melan
- Revision 179: published Pedro Gomes
- Revision 181: published
- Revision 182: published
- Revision 183: published
- Revision 184: published
- Revision 185: published
- Revision 186: published thomas
0 Comments