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

Use immediates instead of data section when possible #6098

Merged
merged 15 commits into from
Jun 14, 2024

Conversation

vaivaswatha
Copy link
Contributor

Loading / initialising constants from the data section is unnecessary (takes up a data section slot) when the constant can instead, just be moved to a register using MOVi, if the constant can fit as an immediate value to the instruction.

@vaivaswatha vaivaswatha self-assigned this Jun 7, 2024
Copy link

github-actions bot commented Jun 7, 2024

Benchmark for 0bdefa2

Click to view benchmark
Test Base PR %
code_action 5.3±0.02ms 5.4±0.05ms +1.89%
code_lens 288.4±7.80ns 286.6±7.43ns -0.62%
compile 3.9±0.08s 4.3±0.10s +10.26%
completion 4.6±0.01ms 4.7±0.01ms +2.17%
did_change_with_caching 3.6±0.07s 3.8±0.05s +5.56%
document_symbol 1005.6±23.55µs 1006.4±47.93µs +0.08%
format 71.3±1.39ms 71.4±1.20ms +0.14%
goto_definition 363.5±3.51µs 371.0±9.42µs +2.06%
highlight 8.7±0.16ms 9.0±0.22ms +3.45%
hover 533.3±7.22µs 546.4±6.20µs +2.46%
idents_at_position 123.2±0.62µs 122.8±1.74µs -0.32%
inlay_hints 647.5±9.47µs 662.4±5.63µs +2.30%
on_enter 466.6±7.73ns 460.1±13.98ns -1.39%
parent_decl_at_position 3.6±0.03ms 3.7±0.08ms +2.78%
prepare_rename 365.3±21.97µs 373.7±6.03µs +2.30%
rename 9.3±0.30ms 9.7±0.27ms +4.30%
semantic_tokens 976.0±32.48µs 994.0±44.10µs +1.84%
token_at_position 359.4±2.44µs 370.0±3.11µs +2.95%
tokens_at_position 3.6±0.05ms 3.7±0.06ms +2.78%
tokens_for_file 413.5±4.31µs 420.9±4.17µs +1.79%
traverse 39.1±1.61ms 41.2±1.97ms +5.37%

Copy link

github-actions bot commented Jun 8, 2024

Benchmark for 6f2f357

Click to view benchmark
Test Base PR %
code_action 5.3±0.12ms 5.4±0.14ms +1.89%
code_lens 288.6±7.23ns 286.7±12.36ns -0.66%
compile 4.0±0.09s 4.0±0.07s 0.00%
completion 4.6±0.02ms 4.7±0.07ms +2.17%
did_change_with_caching 3.6±0.04s 3.6±0.07s 0.00%
document_symbol 993.6±44.86µs 991.0±26.51µs -0.26%
format 71.3±1.19ms 72.1±1.22ms +1.12%
goto_definition 364.4±5.88µs 365.3±7.77µs +0.25%
highlight 8.7±0.19ms 9.0±0.15ms +3.45%
hover 535.5±5.85µs 540.5±6.55µs +0.93%
idents_at_position 122.5±0.36µs 125.0±1.53µs +2.04%
inlay_hints 657.7±20.66µs 664.4±27.33µs +1.02%
on_enter 464.1±11.03ns 458.3±8.72ns -1.25%
parent_decl_at_position 3.6±0.02ms 3.7±0.03ms +2.78%
prepare_rename 366.6±5.81µs 359.7±5.17µs -1.88%
rename 9.3±0.22ms 9.6±0.19ms +3.23%
semantic_tokens 977.7±22.16µs 977.1±16.67µs -0.06%
token_at_position 363.4±5.31µs 361.9±9.56µs -0.41%
tokens_at_position 3.6±0.02ms 3.7±0.03ms +2.78%
tokens_for_file 418.0±2.04µs 419.8±4.06µs +0.43%
traverse 39.5±1.40ms 39.5±1.28ms 0.00%

Copy link

Benchmark for 2b30bb5

Click to view benchmark
Test Base PR %
code_action 5.3±0.04ms 5.2±0.02ms -1.89%
code_lens 286.7±7.84ns 284.9±3.40ns -0.63%
compile 3.9±0.07s 3.9±0.07s 0.00%
completion 4.6±0.19ms 4.6±0.15ms 0.00%
did_change_with_caching 3.6±0.08s 3.6±0.03s 0.00%
document_symbol 1021.2±21.08µs 1028.7±21.43µs +0.73%
format 71.4±1.25ms 71.2±1.48ms -0.28%
goto_definition 359.5±8.85µs 366.2±5.02µs +1.86%
highlight 8.7±0.04ms 8.7±0.17ms 0.00%
hover 531.9±6.24µs 538.4±7.90µs +1.22%
idents_at_position 122.5±0.39µs 121.5±0.49µs -0.82%
inlay_hints 646.3±24.49µs 652.7±28.68µs +0.99%
on_enter 459.7±12.95ns 452.3±18.25ns -1.61%
parent_decl_at_position 3.6±0.02ms 3.6±0.05ms 0.00%
prepare_rename 360.6±13.61µs 366.5±5.55µs +1.64%
rename 9.3±0.15ms 9.3±0.03ms 0.00%
semantic_tokens 972.7±24.99µs 964.5±27.51µs -0.84%
token_at_position 353.2±2.10µs 359.7±3.16µs +1.84%
tokens_at_position 3.6±0.03ms 3.6±0.04ms 0.00%
tokens_for_file 420.0±1.75µs 428.1±1.18µs +1.93%
traverse 39.0±1.02ms 39.6±0.99ms +1.54%

Copy link

Benchmark for e90da9f

Click to view benchmark
Test Base PR %
code_action 5.4±0.30ms 5.4±0.16ms 0.00%
code_lens 286.3±9.98ns 286.4±9.88ns +0.03%
compile 4.2±0.11s 4.2±0.11s 0.00%
completion 4.9±0.16ms 4.8±0.14ms -2.04%
did_change_with_caching 3.8±0.08s 3.8±0.03s 0.00%
document_symbol 1000.1±46.18µs 957.3±17.51µs -4.28%
format 72.5±1.49ms 72.2±0.93ms -0.41%
goto_definition 366.9±5.79µs 371.4±7.00µs +1.23%
highlight 8.9±0.16ms 8.9±0.09ms 0.00%
hover 545.8±6.41µs 543.8±3.83µs -0.37%
idents_at_position 122.9±0.54µs 122.6±1.32µs -0.24%
inlay_hints 655.6±28.70µs 660.9±46.45µs +0.81%
on_enter 463.5±20.23ns 454.0±11.55ns -2.05%
parent_decl_at_position 3.7±0.05ms 3.6±0.05ms -2.70%
prepare_rename 365.8±5.54µs 378.2±9.06µs +3.39%
rename 9.5±0.12ms 9.4±0.24ms -1.05%
semantic_tokens 989.0±22.23µs 983.7±26.42µs -0.54%
token_at_position 365.1±2.97µs 367.7±3.29µs +0.71%
tokens_at_position 3.6±0.04ms 3.7±0.08ms +2.78%
tokens_for_file 422.0±2.13µs 427.7±15.29µs +1.35%
traverse 41.5±1.47ms 42.0±1.35ms +1.20%

Copy link

Benchmark for d256a35

Click to view benchmark
Test Base PR %
code_action 5.3±0.13ms 5.3±0.14ms 0.00%
code_lens 286.4±7.90ns 285.6±6.16ns -0.28%
compile 4.0±0.10s 3.9±0.05s -2.50%
completion 4.6±0.08ms 4.6±0.01ms 0.00%
did_change_with_caching 3.7±0.08s 3.7±0.14s 0.00%
document_symbol 951.9±18.20µs 1015.6±46.50µs +6.69%
format 71.6±4.35ms 71.9±1.24ms +0.42%
goto_definition 361.1±5.37µs 367.3±14.91µs +1.72%
highlight 8.7±0.14ms 8.8±0.23ms +1.15%
hover 538.9±5.36µs 547.4±28.20µs +1.58%
idents_at_position 122.7±0.64µs 124.4±0.47µs +1.39%
inlay_hints 649.1±30.41µs 650.1±11.63µs +0.15%
on_enter 461.9±5.35ns 455.9±7.65ns -1.30%
parent_decl_at_position 3.6±0.04ms 3.6±0.03ms 0.00%
prepare_rename 365.6±5.11µs 363.5±7.29µs -0.57%
rename 9.3±0.05ms 9.3±0.17ms 0.00%
semantic_tokens 972.9±22.66µs 983.3±29.52µs +1.07%
token_at_position 355.7±2.80µs 362.9±2.31µs +2.02%
tokens_at_position 3.6±0.05ms 3.6±0.09ms 0.00%
tokens_for_file 423.7±3.14µs 418.9±4.90µs -1.13%
traverse 40.8±1.72ms 40.9±1.80ms +0.25%

Copy link

Benchmark for 3f9d7e2

Click to view benchmark
Test Base PR %
code_action 5.3±0.03ms 5.3±0.05ms 0.00%
code_lens 285.3±6.32ns 285.4±6.25ns +0.04%
compile 4.0±0.06s 4.0±0.08s 0.00%
completion 4.6±0.12ms 4.6±0.06ms 0.00%
did_change_with_caching 3.7±0.05s 3.7±0.05s 0.00%
document_symbol 986.8±41.53µs 967.0±19.05µs -2.01%
format 70.9±0.75ms 71.5±1.61ms +0.85%
goto_definition 366.1±3.72µs 362.9±6.52µs -0.87%
highlight 8.7±0.02ms 8.8±0.19ms +1.15%
hover 537.7±6.88µs 537.1±5.10µs -0.11%
idents_at_position 121.9±0.36µs 123.2±0.57µs +1.07%
inlay_hints 651.6±22.66µs 657.8±23.03µs +0.95%
on_enter 464.6±14.00ns 455.3±14.86ns -2.00%
parent_decl_at_position 3.6±0.02ms 3.6±0.07ms 0.00%
prepare_rename 365.7±5.29µs 360.7±6.45µs -1.37%
rename 9.3±0.26ms 9.3±0.20ms 0.00%
semantic_tokens 979.4±13.28µs 988.1±19.21µs +0.89%
token_at_position 359.1±3.74µs 355.0±4.94µs -1.14%
tokens_at_position 3.6±0.02ms 3.6±0.05ms 0.00%
tokens_for_file 428.8±3.03µs 419.0±2.02µs -2.29%
traverse 40.3±0.89ms 41.2±1.63ms +2.23%

@vaivaswatha vaivaswatha marked this pull request as ready for review June 10, 2024 14:44
@vaivaswatha vaivaswatha requested a review from a team as a code owner June 10, 2024 14:44
@vaivaswatha vaivaswatha enabled auto-merge (squash) June 10, 2024 14:44
IGI-111
IGI-111 previously approved these changes Jun 11, 2024
@IGI-111 IGI-111 requested a review from a team June 11, 2024 01:15
Copy link

Benchmark for 9f34a51

Click to view benchmark
Test Base PR %
code_action 5.3±0.06ms 5.7±0.24ms +7.55%
code_lens 289.2±9.13ns 289.3±12.49ns +0.03%
compile 4.0±0.08s 4.1±0.12s +2.50%
completion 4.7±0.28ms 4.7±0.13ms 0.00%
did_change_with_caching 3.7±0.11s 3.7±0.07s 0.00%
document_symbol 1000.4±35.01µs 993.7±42.38µs -0.67%
format 71.0±0.48ms 72.1±0.57ms +1.55%
goto_definition 363.7±5.92µs 366.2±5.94µs +0.69%
highlight 8.8±0.48ms 8.8±0.06ms 0.00%
hover 584.6±8.18µs 588.4±8.34µs +0.65%
idents_at_position 122.4±1.13µs 123.3±0.85µs +0.74%
inlay_hints 646.6±12.42µs 650.9±22.29µs +0.67%
on_enter 470.5±23.03ns 457.7±7.92ns -2.72%
parent_decl_at_position 3.6±0.05ms 3.7±0.17ms +2.78%
prepare_rename 363.6±4.42µs 367.7±13.52µs +1.13%
rename 9.3±0.13ms 9.5±0.25ms +2.15%
semantic_tokens 946.7±15.05µs 982.4±27.49µs +3.77%
token_at_position 367.1±2.81µs 361.7±2.47µs -1.47%
tokens_at_position 3.7±0.06ms 3.6±0.10ms -2.70%
tokens_for_file 424.0±1.92µs 426.4±7.15µs +0.57%
traverse 38.9±0.69ms 39.6±1.21ms +1.80%

Copy link

Benchmark for 87b4660

Click to view benchmark
Test Base PR %
code_action 5.1±0.15ms 5.0±0.03ms -1.96%
code_lens 292.4±8.73ns 289.8±11.32ns -0.89%
compile 3.5±0.07s 3.4±0.09s -2.86%
completion 4.7±0.04ms 4.7±0.04ms 0.00%
did_change_with_caching 3.2±0.08s 3.2±0.08s 0.00%
document_symbol 942.8±11.73µs 943.4±33.90µs +0.06%
format 71.8±1.22ms 72.0±1.59ms +0.28%
goto_definition 359.1±6.46µs 413.9±6.58µs +15.26%
highlight 8.8±0.22ms 8.8±0.31ms 0.00%
hover 577.6±10.17µs 586.7±6.17µs +1.58%
idents_at_position 121.0±0.32µs 122.0±1.88µs +0.83%
inlay_hints 694.0±20.22µs 648.6±38.24µs -6.54%
on_enter 466.0±27.38ns 455.0±8.48ns -2.36%
parent_decl_at_position 3.6±0.03ms 3.6±0.05ms 0.00%
prepare_rename 355.1±7.90µs 360.0±4.80µs +1.38%
rename 9.0±0.28ms 9.0±0.10ms 0.00%
semantic_tokens 969.9±41.11µs 958.9±15.99µs -1.13%
token_at_position 352.2±1.82µs 356.7±2.51µs +1.28%
tokens_at_position 3.6±0.04ms 3.6±0.04ms 0.00%
tokens_for_file 409.0±1.88µs 419.8±2.20µs +2.64%
traverse 37.2±1.32ms 36.7±0.65ms -1.34%

Copy link

Benchmark for 36ecede

Click to view benchmark
Test Base PR %
code_action 5.1±0.08ms 5.3±0.13ms +3.92%
code_lens 338.9±12.34ns 346.0±19.78ns +2.10%
compile 3.4±0.09s 3.4±0.07s 0.00%
completion 4.7±0.09ms 4.9±0.32ms +4.26%
did_change_with_caching 3.2±0.05s 3.1±0.02s -3.13%
document_symbol 930.9±22.20µs 980.2±31.77µs +5.30%
format 90.1±1.14ms 88.7±0.90ms -1.55%
goto_definition 360.7±6.07µs 361.3±7.22µs +0.17%
highlight 8.7±0.02ms 9.1±0.20ms +4.60%
hover 587.5±7.87µs 586.6±25.73µs -0.15%
idents_at_position 120.4±0.28µs 120.7±1.17µs +0.25%
inlay_hints 653.5±23.35µs 670.9±23.70µs +2.66%
on_enter 481.4±11.25ns 461.9±13.70ns -4.05%
parent_decl_at_position 3.6±0.03ms 3.7±0.03ms +2.78%
prepare_rename 354.9±5.31µs 355.9±8.27µs +0.28%
rename 8.9±0.18ms 9.3±0.11ms +4.49%
semantic_tokens 1019.6±15.57µs 966.3±15.24µs -5.23%
token_at_position 347.7±1.37µs 355.0±10.02µs +2.10%
tokens_at_position 3.6±0.03ms 3.7±0.03ms +2.78%
tokens_for_file 410.6±2.20µs 412.0±3.09µs +0.34%
traverse 35.6±0.49ms 35.4±0.47ms -0.56%

@vaivaswatha vaivaswatha requested a review from IGI-111 June 12, 2024 05:02
@woolworthgralt

This comment was marked as spam.

Copy link

Benchmark for 606deff

Click to view benchmark
Test Base PR %
code_action 5.1±0.04ms 5.2±0.11ms +1.96%
code_lens 345.7±6.33ns 336.3±11.34ns -2.72%
compile 3.5±0.07s 3.5±0.12s 0.00%
completion 4.7±0.17ms 4.8±0.08ms +2.13%
did_change_with_caching 3.2±0.07s 3.2±0.05s 0.00%
document_symbol 990.2±46.93µs 954.6±16.22µs -3.60%
format 88.9±1.09ms 88.5±1.02ms -0.45%
goto_definition 354.2±3.16µs 357.0±12.64µs +0.79%
highlight 8.7±0.06ms 9.1±0.13ms +4.60%
hover 586.1±8.61µs 581.4±6.97µs -0.80%
idents_at_position 119.4±0.45µs 120.6±1.79µs +1.01%
inlay_hints 643.5±25.67µs 669.5±23.95µs +4.04%
on_enter 466.9±11.25ns 449.1±13.17ns -3.81%
parent_decl_at_position 3.6±0.02ms 3.7±0.05ms +2.78%
prepare_rename 348.2±2.85µs 355.0±7.48µs +1.95%
rename 8.9±0.04ms 9.3±0.13ms +4.49%
semantic_tokens 953.4±29.59µs 973.7±13.84µs +2.13%
token_at_position 353.1±2.19µs 346.7±4.23µs -1.81%
tokens_at_position 3.5±0.01ms 3.7±0.02ms +5.71%
tokens_for_file 415.1±2.05µs 412.2±3.09µs -0.70%
traverse 36.7±0.94ms 36.3±0.90ms -1.09%

@IGI-111 IGI-111 requested a review from a team June 13, 2024 09:41
@vaivaswatha vaivaswatha merged commit 7b56ec7 into master Jun 14, 2024
36 checks passed
@vaivaswatha vaivaswatha deleted the vaivaswatha/const_ds branch June 14, 2024 09:17
Copy link

Benchmark for 8c68eeb

Click to view benchmark
Test Base PR %
code_action 5.2±0.01ms 5.2±0.06ms 0.00%
code_lens 341.4±8.16ns 343.9±12.35ns +0.73%
compile 3.4±0.08s 3.4±0.07s 0.00%
completion 4.8±0.11ms 4.8±0.09ms 0.00%
did_change_with_caching 3.2±0.06s 3.2±0.06s 0.00%
document_symbol 940.2±15.82µs 949.2±13.07µs +0.96%
format 88.3±1.42ms 88.4±1.55ms +0.11%
goto_definition 351.9±6.53µs 356.9±7.63µs +1.42%
highlight 9.1±0.21ms 9.0±0.02ms -1.10%
hover 574.0±5.86µs 579.3±12.51µs +0.92%
idents_at_position 120.6±0.25µs 119.8±1.28µs -0.66%
inlay_hints 654.1±22.23µs 658.8±15.54µs +0.72%
on_enter 461.2±9.56ns 470.5±42.39ns +2.02%
parent_decl_at_position 3.7±0.02ms 3.7±0.04ms 0.00%
prepare_rename 353.1±17.93µs 357.2±9.99µs +1.16%
rename 9.3±0.13ms 9.2±0.19ms -1.08%
semantic_tokens 977.3±33.56µs 963.8±8.52µs -1.38%
token_at_position 352.0±3.30µs 352.1±2.33µs +0.03%
tokens_at_position 3.7±0.03ms 3.7±0.03ms 0.00%
tokens_for_file 416.5±1.28µs 420.2±3.59µs +0.89%
traverse 35.2±0.64ms 35.5±0.46ms +0.85%

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.

None yet

4 participants