Commit 3b7dec4
committed
perf(napi/parser, linter/plugins): use
Optimize raw transfer string decoding.
Replace `TextDecoder("utf8")` with `Buffer.prototype.utf8Slice` to decode Rust UTF-8 strings to JS strings.
Benchmarks show this is an average 5% speed-up in `deserializeStr`, though the reason why is unclear. It skips various checks, and avoids creating a temporary `Uint8Array` (which is required with `TextDecoder.decode`) which trims 60 bytes of the size of the assembly created for `deserializeStr`. But that's not enough to explain the speed-up 🤷. Anyway, take the win.utf8Slice for decoding UTF-8 strings (#21022)1 parent 012c924 commit 3b7dec4
11 files changed
Lines changed: 81 additions & 103 deletions
File tree
- apps/oxlint/src-js
- generated
- plugins
- napi/parser/src-js/generated/deserialize
- tasks/ast_tools/src/generators
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
| 17 | + | |
| 18 | + | |
21 | 19 | | |
22 | 20 | | |
23 | 21 | | |
| |||
5892 | 5890 | | |
5893 | 5891 | | |
5894 | 5892 | | |
5895 | | - | |
5896 | | - | |
| 5893 | + | |
| 5894 | + | |
5897 | 5895 | | |
5898 | 5896 | | |
5899 | | - | |
5900 | | - | |
| 5897 | + | |
| 5898 | + | |
5901 | 5899 | | |
5902 | 5900 | | |
5903 | 5901 | | |
5904 | 5902 | | |
5905 | 5903 | | |
5906 | | - | |
| 5904 | + | |
5907 | 5905 | | |
5908 | 5906 | | |
5909 | 5907 | | |
5910 | | - | |
| 5908 | + | |
5911 | 5909 | | |
5912 | 5910 | | |
5913 | 5911 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
33 | | - | |
34 | | - | |
| 33 | + | |
35 | 34 | | |
36 | 35 | | |
37 | 36 | | |
| |||
65 | 64 | | |
66 | 65 | | |
67 | 66 | | |
68 | | - | |
| 67 | + | |
69 | 68 | | |
70 | 69 | | |
71 | 70 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
| 12 | + | |
| 13 | + | |
16 | 14 | | |
17 | 15 | | |
18 | 16 | | |
| |||
4557 | 4555 | | |
4558 | 4556 | | |
4559 | 4557 | | |
4560 | | - | |
4561 | | - | |
| 4558 | + | |
| 4559 | + | |
4562 | 4560 | | |
4563 | | - | |
4564 | | - | |
| 4561 | + | |
| 4562 | + | |
4565 | 4563 | | |
4566 | 4564 | | |
4567 | 4565 | | |
4568 | 4566 | | |
4569 | 4567 | | |
4570 | | - | |
| 4568 | + | |
4571 | 4569 | | |
4572 | 4570 | | |
4573 | 4571 | | |
4574 | | - | |
| 4572 | + | |
4575 | 4573 | | |
4576 | 4574 | | |
4577 | 4575 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
| 13 | + | |
| 14 | + | |
17 | 15 | | |
18 | 16 | | |
19 | 17 | | |
| |||
5088 | 5086 | | |
5089 | 5087 | | |
5090 | 5088 | | |
5091 | | - | |
5092 | | - | |
| 5089 | + | |
| 5090 | + | |
5093 | 5091 | | |
5094 | | - | |
5095 | | - | |
| 5092 | + | |
| 5093 | + | |
5096 | 5094 | | |
5097 | 5095 | | |
5098 | 5096 | | |
5099 | 5097 | | |
5100 | 5098 | | |
5101 | | - | |
| 5099 | + | |
5102 | 5100 | | |
5103 | 5101 | | |
5104 | 5102 | | |
5105 | | - | |
| 5103 | + | |
5106 | 5104 | | |
5107 | 5105 | | |
5108 | 5106 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
| 12 | + | |
| 13 | + | |
16 | 14 | | |
17 | 15 | | |
18 | 16 | | |
| |||
5099 | 5097 | | |
5100 | 5098 | | |
5101 | 5099 | | |
5102 | | - | |
5103 | | - | |
| 5100 | + | |
| 5101 | + | |
5104 | 5102 | | |
5105 | | - | |
5106 | | - | |
| 5103 | + | |
| 5104 | + | |
5107 | 5105 | | |
5108 | 5106 | | |
5109 | 5107 | | |
5110 | 5108 | | |
5111 | 5109 | | |
5112 | | - | |
| 5110 | + | |
5113 | 5111 | | |
5114 | 5112 | | |
5115 | 5113 | | |
5116 | | - | |
| 5114 | + | |
5117 | 5115 | | |
5118 | 5116 | | |
5119 | 5117 | | |
| |||
Lines changed: 8 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
| 13 | + | |
| 14 | + | |
17 | 15 | | |
18 | 16 | | |
19 | 17 | | |
| |||
5633 | 5631 | | |
5634 | 5632 | | |
5635 | 5633 | | |
5636 | | - | |
5637 | | - | |
| 5634 | + | |
| 5635 | + | |
5638 | 5636 | | |
5639 | | - | |
5640 | | - | |
| 5637 | + | |
| 5638 | + | |
5641 | 5639 | | |
5642 | 5640 | | |
5643 | 5641 | | |
5644 | 5642 | | |
5645 | 5643 | | |
5646 | | - | |
| 5644 | + | |
5647 | 5645 | | |
5648 | 5646 | | |
5649 | 5647 | | |
5650 | | - | |
| 5648 | + | |
5651 | 5649 | | |
5652 | 5650 | | |
5653 | 5651 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
| 12 | + | |
| 13 | + | |
16 | 14 | | |
17 | 15 | | |
18 | 16 | | |
| |||
4866 | 4864 | | |
4867 | 4865 | | |
4868 | 4866 | | |
4869 | | - | |
4870 | | - | |
| 4867 | + | |
| 4868 | + | |
4871 | 4869 | | |
4872 | | - | |
4873 | | - | |
| 4870 | + | |
| 4871 | + | |
4874 | 4872 | | |
4875 | 4873 | | |
4876 | 4874 | | |
4877 | 4875 | | |
4878 | 4876 | | |
4879 | | - | |
| 4877 | + | |
4880 | 4878 | | |
4881 | 4879 | | |
4882 | 4880 | | |
4883 | | - | |
| 4881 | + | |
4884 | 4882 | | |
4885 | 4883 | | |
4886 | 4884 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
| 13 | + | |
| 14 | + | |
17 | 15 | | |
18 | 16 | | |
19 | 17 | | |
| |||
5424 | 5422 | | |
5425 | 5423 | | |
5426 | 5424 | | |
5427 | | - | |
5428 | | - | |
| 5425 | + | |
| 5426 | + | |
5429 | 5427 | | |
5430 | | - | |
5431 | | - | |
| 5428 | + | |
| 5429 | + | |
5432 | 5430 | | |
5433 | 5431 | | |
5434 | 5432 | | |
5435 | 5433 | | |
5436 | 5434 | | |
5437 | | - | |
| 5435 | + | |
5438 | 5436 | | |
5439 | 5437 | | |
5440 | 5438 | | |
5441 | | - | |
| 5439 | + | |
5442 | 5440 | | |
5443 | 5441 | | |
5444 | 5442 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
| 12 | + | |
| 13 | + | |
16 | 14 | | |
17 | 15 | | |
18 | 16 | | |
| |||
5439 | 5437 | | |
5440 | 5438 | | |
5441 | 5439 | | |
5442 | | - | |
5443 | | - | |
| 5440 | + | |
| 5441 | + | |
5444 | 5442 | | |
5445 | | - | |
5446 | | - | |
| 5443 | + | |
| 5444 | + | |
5447 | 5445 | | |
5448 | 5446 | | |
5449 | 5447 | | |
5450 | 5448 | | |
5451 | 5449 | | |
5452 | | - | |
| 5450 | + | |
5453 | 5451 | | |
5454 | 5452 | | |
5455 | 5453 | | |
5456 | | - | |
| 5454 | + | |
5457 | 5455 | | |
5458 | 5456 | | |
5459 | 5457 | | |
| |||
Lines changed: 8 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
| 13 | + | |
| 14 | + | |
17 | 15 | | |
18 | 16 | | |
19 | 17 | | |
| |||
5997 | 5995 | | |
5998 | 5996 | | |
5999 | 5997 | | |
6000 | | - | |
6001 | | - | |
| 5998 | + | |
| 5999 | + | |
6002 | 6000 | | |
6003 | | - | |
6004 | | - | |
| 6001 | + | |
| 6002 | + | |
6005 | 6003 | | |
6006 | 6004 | | |
6007 | 6005 | | |
6008 | 6006 | | |
6009 | 6007 | | |
6010 | | - | |
| 6008 | + | |
6011 | 6009 | | |
6012 | 6010 | | |
6013 | 6011 | | |
6014 | | - | |
| 6012 | + | |
6015 | 6013 | | |
6016 | 6014 | | |
6017 | 6015 | | |
| |||
0 commit comments