Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Source location #70

Merged
merged 18 commits into from
Nov 24, 2022
Merged

Source location #70

merged 18 commits into from
Nov 24, 2022

Conversation

FreeMasen
Copy link
Collaborator

@FreeMasen FreeMasen commented Jan 2, 2022

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

@codecov
Copy link

codecov bot commented Jan 2, 2022

Codecov Report

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

❗ 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%) ⬆️
src/spanned/mod.rs 76.90% <ø> (ø)
src/lhs.rs 34.41% <18.00%> (-1.89%) ⬇️
src/formal_params.rs 69.23% <62.50%> (+2.56%) ⬆️
src/lexical_names.rs 84.95% <75.86%> (+0.14%) ⬆️
src/regex.rs 80.00% <100.00%> (ø)
tests/all/comment_handler.rs
tests/all/ecma262.rs
tests/all/main.rs
... and 6 more

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

@FreeMasen
Copy link
Collaborator Author

FreeMasen commented Jan 3, 2022

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants