+
Skip to content
This repository was archived by the owner on Aug 31, 2023. It is now read-only.

refactor(rome_js_parser): refactor regex flag #3058

Merged
merged 2 commits into from
Aug 15, 2022

Conversation

IWANABETHATGUY
Copy link
Contributor

Summary

  1. Refactor lexer.rs lexing regular expression, using a bitflags to represent regex flag instead of 7 boolean variables.
    Reducing memory usage from 7 bytes to 1 byte.

Test Plan

  1. All CI should pass.

@IWANABETHATGUY IWANABETHATGUY changed the title feat(rome_js_parser): refactor regex flag refactor(rome_js_parser): refactor regex flag Aug 13, 2022
@IWANABETHATGUY
Copy link
Contributor Author

!bench_parser

@github-actions
Copy link

Parser Benchmark Results

group                                 main                                   pr
-----                                 ----                                   --
parser/checker.ts                     1.02    154.5±6.66ms    16.8 MB/sec    1.00    151.9±6.31ms    17.1 MB/sec
parser/compiler.js                    1.01     95.9±4.79ms    10.9 MB/sec    1.00     95.0±5.17ms    11.0 MB/sec
parser/d3.min.js                      1.00     56.6±2.33ms     4.6 MB/sec    1.01     57.0±3.07ms     4.6 MB/sec
parser/dojo.js                        1.00      4.9±0.24ms    14.0 MB/sec    1.03      5.0±0.17ms    13.7 MB/sec
parser/ios.d.ts                       1.02    129.8±8.70ms    14.4 MB/sec    1.00    127.8±5.63ms    14.6 MB/sec
parser/jquery.min.js                  1.00     14.8±0.62ms     5.6 MB/sec    1.04     15.3±0.80ms     5.4 MB/sec
parser/math.js                        1.00    109.3±6.51ms     5.9 MB/sec    1.01    109.9±5.94ms     5.9 MB/sec
parser/parser.ts                      1.02      3.5±0.16ms    14.0 MB/sec    1.00      3.4±0.12ms    14.2 MB/sec
parser/pixi.min.js                    1.00     65.4±3.36ms     6.7 MB/sec    1.02     66.4±4.41ms     6.6 MB/sec
parser/react-dom.production.min.js    1.01     20.3±1.27ms     5.7 MB/sec    1.00     20.1±0.87ms     5.7 MB/sec
parser/react.production.min.js        1.01  1116.3±61.38µs     5.5 MB/sec    1.00  1109.8±46.35µs     5.5 MB/sec
parser/router.ts                      1.00      2.9±0.12ms    20.9 MB/sec    1.01      3.0±0.13ms    20.6 MB/sec
parser/tex-chtml-full.js              1.00    145.8±8.76ms     6.3 MB/sec    1.00    146.3±5.82ms     6.2 MB/sec
parser/three.min.js                   1.00     75.9±4.18ms     7.7 MB/sec    1.00     76.3±3.38ms     7.7 MB/sec
parser/typescript.js                  1.01   657.4±24.40ms    14.4 MB/sec    1.00   652.0±21.20ms    14.6 MB/sec
parser/vue.global.prod.js             1.00     25.3±1.26ms     4.8 MB/sec    1.00     25.3±1.03ms     4.8 MB/sec

@IWANABETHATGUY
Copy link
Contributor Author

!bench_parser

@github-actions
Copy link

Parser Benchmark Results

group                                 main                                   pr
-----                                 ----                                   --
parser/checker.ts                     1.00    138.8±4.50ms    18.7 MB/sec    1.04    144.4±4.76ms    18.0 MB/sec
parser/compiler.js                    1.00     85.9±3.54ms    12.2 MB/sec    1.02     87.7±2.99ms    11.9 MB/sec
parser/d3.min.js                      1.00     49.2±1.76ms     5.3 MB/sec    1.03     50.6±1.73ms     5.2 MB/sec
parser/dojo.js                        1.01      4.4±0.13ms    15.6 MB/sec    1.00      4.4±0.13ms    15.7 MB/sec
parser/ios.d.ts                       1.03    119.0±3.74ms    15.7 MB/sec    1.00    115.9±4.04ms    16.1 MB/sec
parser/jquery.min.js                  1.00     13.1±0.46ms     6.3 MB/sec    1.02     13.3±0.37ms     6.2 MB/sec
parser/math.js                        1.00    102.1±5.37ms     6.3 MB/sec    1.00    101.8±2.76ms     6.4 MB/sec
parser/parser.ts                      1.01      3.1±0.07ms    15.4 MB/sec    1.00      3.1±0.09ms    15.6 MB/sec
parser/pixi.min.js                    1.00     57.9±2.29ms     7.6 MB/sec    1.03     59.4±2.19ms     7.4 MB/sec
parser/react-dom.production.min.js    1.01     18.3±0.59ms     6.3 MB/sec    1.00     18.2±0.54ms     6.3 MB/sec
parser/react.production.min.js        1.00   999.5±25.35µs     6.2 MB/sec    1.00   998.3±27.66µs     6.2 MB/sec
parser/router.ts                      1.01      2.7±0.09ms    23.0 MB/sec    1.00      2.6±0.08ms    23.3 MB/sec
parser/tex-chtml-full.js              1.00    132.8±3.63ms     6.9 MB/sec    1.00    132.2±4.74ms     6.9 MB/sec
parser/three.min.js                   1.00     66.9±2.39ms     8.8 MB/sec    1.03     69.2±2.50ms     8.5 MB/sec
parser/typescript.js                  1.00   582.1±15.28ms    16.3 MB/sec    1.01   587.0±23.53ms    16.2 MB/sec
parser/vue.global.prod.js             1.01     22.6±0.62ms     5.3 MB/sec    1.00     22.4±0.86ms     5.4 MB/sec

@MichaReiser MichaReiser merged commit f494f79 into rome:main Aug 15, 2022
@IWANABETHATGUY IWANABETHATGUY deleted the refactor/regex_flag branch August 15, 2022 06:39
IWANABETHATGUY added a commit to IWANABETHATGUY/tools that referenced this pull request Aug 22, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载