Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>It was an interesting question, so I ran some very simple tests (I should have restarted my browsers to clear out the memory, but I didn't; take this for what it's worth). It looks like at least on Safari and Firefox, <code>prototype</code> runs significantly faster [edit: not 20x as stated earlier]. I'm sure a real-world test with fully-featured objects would be a better comparison. The code I ran was this (I ran the tests several times, separately):</p> <pre><code>var X,Y, x,y, i, intNow; X = function() {}; X.prototype.message = function(s) { var mymessage = s + "";} X.prototype.addition = function(i,j) { return (i *2 + j * 2) / 2; } Y = function() { this.message = function(s) { var mymessage = s + "";} this.addition = function(i,j) { return (i *2 + j * 2) / 2; } }; intNow = (new Date()).getTime(); for (i = 0; i &lt; 1000000; i++) { y = new Y(); y.message('hi'); y.addition(i,2) } console.log((new Date()).getTime() - intNow); //FF=5206ms; Safari=1554 intNow = (new Date()).getTime(); for (i = 0; i &lt; 1000000; i++) { x = new X(); x.message('hi'); x.addition(i,2) } console.log((new Date()).getTime() - intNow);//FF=3894ms;Safari=606 </code></pre> <p>It's a real shame, because I really hate using <code>prototype</code>. I like my object code to be self-encapsulated, and not allowed to drift. I guess when speed matters, though, I don't have a choice. Darn. </p> <p>[Edit] Many thanks to @Kevin who pointed out my previous code was wrong, giving a huge boost to the reported speed of the <code>prototype</code> method. After fixing, prototype is still around significantly faster, but the difference is not as enormous.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload