jQuery: The Write Less, Do More JavaScript Library

Ticket #1540 (new bug)

Opened 1 year ago

Percentage-improvements use non-standard calculations

Reported by: handcoding Assigned to: anonymous
Type: bug Priority: minor
Milestone: 1.2 Component: site
Version: 1.1.4 Keywords:
Cc: Needs: Review

Description

jQuery has seen some significant performance improvements in the last couple versions -- that's something to be proud of.

All the same, it doesn't appear that the results are consistent with methods that have been standardized within the statistics field. While the numbers may not be as large when calculated with the traditional method, I think that readers may be able to relate to them more easily.

This page at Ask Dr Math has a pretty good overview of the process (http://mathforum.org/library/drmath/view/58059.html). In short, the standard formula is this:

  new value - old value
  --------------------- * 100
       old value

Using the example on that page, if something were to increase from 15 to 18 -- such as, for example, a car manufacturer's gas mileage from one model-year to the next -- the percentage improvement would be:

   18 - 15
  ---------- * 100
     15
 ==>
   3
  ---- * 100
   15
==> 20%

In case it might help, I re-ran the calculations for the 1.1.4 and 1.1.3 release announcements:

/* For jQuery 1.1.4 */

// $(”#id”) Improvements
IE 6: 651ms to 70ms -> 89%
Firefox 2: 1355ms to 27ms -> 98%
Safari 3: 101ms to 14ms -> 86%
Opera 9: 270ms to 62ms -> 77%
Average improvement: 87%
// $(”elem”) Improvements
IE 6: 661ms to 451ms -> 32%
Firefox 2: 1717ms to 143ms -> 92%
Safari 3: 99ms to 83ms -> 16%
Opera 9: 226ms to 198ms -> 12%
Average improvement: 38%
// .each() Improvements
IE 6: 200ms to 30ms -> 85%
Firefox 2: 468ms to 29ms -> 94%
Safari 3: 17ms to 11ms -> 35%
Opera 9: 45ms to 25ms -> 44%
Average improvement: 64%

/* For jQuery 1.1.3 */

IE 6: 4890ms to 661ms -> 86%
Firefox 2: 5629ms to 567ms -> 90%
Safari 2: 3575ms to 475ms -> 87%
Opera 9.1: 3196ms to 326ms -> 90%
Average improvement: 88%

Attachments

Note: See TracTickets for help on using tickets.