RESSA icon indicating copy to clipboard operation
RESSA copied to clipboard

Source location

Open FreeMasen opened this issue 3 years ago • 2 comments

This updates the parser to use an AST that has attached source locations for each node to allow for generating things like source maps

FreeMasen avatar Jan 02 '22 00:01 FreeMasen

Codecov Report

Merging #70 (f7a87b6) into master (a176ecc) will decrease coverage by 11.58%. The diff coverage is 47.54%.

:exclamation: Current head f7a87b6 differs from pull request most recent head 1ebb72f. Consider uploading reports for the commit 1ebb72f to get more accurate results

@@             Coverage Diff             @@
##           master      #70       +/-   ##
===========================================
- Coverage   86.19%   74.60%   -11.59%     
===========================================
  Files          15        8        -7     
  Lines        8380     4907     -3473     
===========================================
- Hits         7223     3661     -3562     
- Misses       1157     1246       +89     
Impacted Files Coverage Δ
src/error.rs 4.16% <0.00%> (ø)
src/lib.rs 94.28% <ø> (+14.76%) :arrow_up:
src/spanned/mod.rs 76.90% <ø> (ø)
src/lhs.rs 34.41% <18.00%> (-1.89%) :arrow_down:
src/formal_params.rs 69.23% <62.50%> (+2.56%) :arrow_up:
src/lexical_names.rs 84.95% <75.86%> (+0.14%) :arrow_up:
src/regex.rs 80.00% <100.00%> (ø)
tests/all/comment_handler.rs
tests/all/ecma262.rs
tests/all/main.rs
... and 6 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

codecov[bot] avatar Jan 02 '22 22:01 codecov[bot]

This was expected to impact performance at some level, below is a preliminary benchmark to get a good understanding of how performance will differ from the currently released version.

angular1                time:   [68.623 ms 68.742 ms 68.862 ms]
                        change: [+117.27% +118.68% +119.86%] (p = 0.00 < 0.05)
                        Performance has regressed.
angular1_min            time:   [59.365 ms 59.526 ms 59.733 ms]
                        change: [+142.98% +143.76% +144.68%] (p = 0.00 < 0.05)
                        Performance has regressed.
jquery                  time:   [34.065 ms 34.134 ms 34.200 ms]
                        change: [+131.38% +132.77% +134.15%] (p = 0.00 < 0.05)
                        Performance has regressed.
jquery_min              time:   [30.078 ms 30.098 ms 30.122 ms]
                        change: [+154.16% +155.18% +156.06%] (p = 0.00 < 0.05)
                        Performance has regressed.
react                   time:   [8.8642 ms 8.8759 ms 8.8887 ms]
                        change: [+122.47% +125.49% +128.68%] (p = 0.00 < 0.05)
                        Performance has regressed.
react_min               time:   [3.1529 ms 3.1596 ms 3.1681 ms]
                        change: [+111.36% +114.93% +118.39%] (p = 0.00 < 0.05)
                        Performance has regressed.
react_dom               time:   [71.870 ms 71.915 ms 71.966 ms]
                        change: [+124.10% +124.67% +125.18%] (p = 0.00 < 0.05)
                        Performance has regressed.
react_dom_min           time:   [36.781 ms 36.854 ms 36.975 ms]
                        change: [+160.50% +161.56% +162.69%] (p = 0.00 < 0.05)
                        Performance has regressed.
vue                     time:   [42.257 ms 42.389 ms 42.632 ms]
                        change: [+129.28% +130.70% +132.42%] (p = 0.00 < 0.05)
                        Performance has regressed.
vue_min                 time:   [31.141 ms 31.172 ms 31.198 ms]
                        change: [+150.30% +151.19% +151.98%] (p = 0.00 < 0.05)
                        Performance has regressed.
es5                     time:   [844.21 us 845.95 us 848.43 us]
                        change: [+112.19% +113.18% +114.18%] (p = 0.00 < 0.05)
                        Performance has regressed.
es2015                  time:   [1.4431 ms 1.4445 ms 1.4463 ms]
                        change: [+102.48% +102.94% +103.44%] (p = 0.00 < 0.05)
                        Performance has regressed.
es_module               time:   [1.5244 ms 1.5254 ms 1.5267 ms]
                        change: [+97.970% +98.590% +99.140%] (p = 0.00 < 0.05)
                        Performance has regressed.

While the time it takes to run these benchmarks seems to be increasing by a factor of ~2, which warrants investigation, the performance hasn't dropped to be outlandishly slow.

flamegraph for benchmarks

FreeMasen avatar Jan 03 '22 00:01 FreeMasen