ariya/esprima — pull request #236 by ikarienator (2014-03-31 09:04:14+00:00)
Title: Avoid range

On top of https://github.com/ariya/esprima/pull/233
Avoid `range:[]` in working tokens (objects returned by `lex()`).

Master branch:

|Source|	Size|	Time|	Time|	Time|	Average|
|:--:|--:|--:|--:|--:|--:|
|Underscore 1.5.2|42.50|5.53|5.48|5.26|5.42|
|Backbone 1.1.0|58.70|5.61|5.65|5.69|5.65|
|MooTools 1.4.5|156.70|46.19|48.25|46.96|47.13|
|jQuery 1.9.1|262.10|74.57|68.82|71.6|71.66|
|YUI 3.12.0|330.40|59.23|49.23|49.23|52.56|
|jQuery.Mobile 1.4.2|442.20|116.08|118.08|112.33|115.50|
|Angular 1.2.5|701.70|83.96|98.38|85.04|89.13|
|Total|1,994.30|391.17|393.89|376.11|387.06|

After Optimized location information:

|Source|	Size|	Time|	Time|	Time|	Average|
|:--:|--:|--:|--:|--:|--:|
|Underscore 1.5.2|42.5|3.94|3.94|4.01|3.96|
|Backbone 1.1.0|58.7|4.13|4.14|4.27|4.18|
|MooTools 1.4.5|156.7|19.73|20.72|22.95|21.13|
|jQuery 1.9.1|262.1|56.25|54.08|56.56|55.63|
|YUI 3.12.0|330.4|40.46|40.91|40.58|40.65|
|jQuery.Mobile 1.4.2|442.2|89.84|93.57|87.89|90.43|
|Angular 1.2.5|701.7|70.41|71.21|71.09|70.90|
|Total|1994.3|284.76|288.57|287.35|286.89|

Speed up: 34.91%

After this:

|Source|	Size|	Time|	Time|	Time|	Average|
|:--:|--:|--:|--:|--:|--:|
|Source|Size|Time|Time|Time|Average|
|Underscore 1.5.2|42.5|3.57|3.62|3.56|3.58|
|Backbone 1.1.0|58.7|3.73|3.78|3.75|3.75|
|MooTools 1.4.5|156.7|20.63|20.73|21.43|20.93|
|jQuery 1.9.1|262.1|20.1|20.05|20.25|20.13|
|YUI 3.12.0|330.4|20.42|20.59|21.27|20.76|
|jQuery.Mobile 1.4.2|442.2|74.59|75.35|88.02|79.32|
|Angular 1.2.5|701.7|57.59|58.52|59.84|58.65|
|Total|1994.3|200.63|202.64|218.12|207.13|

Speed up again: 38.51%

Total speed up comparing to master: **86.87%**