diff options
| author | zeertzjq <zeertzjq@outlook.com> | 2026-09-02 13:51:57 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-09-02 13:51:57 +0800 |
| commit | 8e34903b6ae9653821770a6182b8dc3caabbdf90 (patch) | |
| tree | 3c05966a5149bdee52c7cdf178f4381d3cd51a71 /runtime/lua/vim/async/_queue.lua | |
| parent | d42367570cfdcfabf51f8f8f69b63870a43c3088 (diff) | |
| download | rneovim-8e34903b6ae9653821770a6182b8dc3caabbdf90.tar.gz rneovim-8e34903b6ae9653821770a6182b8dc3caabbdf90.tar.bz2 rneovim-8e34903b6ae9653821770a6182b8dc3caabbdf90.zip | |
vim-patch:e9c5e56: runtime(python): improve performance of number and ellipsis matching (#41608)
Problem: The floating-point `.d` number match and the two ellipsis
matches are slow: each begins with a look-behind, which cannot
be reduced to a fixed first character, so the automatic regexp
engine selects the slower NFA backend for them.
Solution: Force the backtracking engine with \%#=1 on those three
patterns; it evaluates the look-behind far more efficiently.
Highlighting is unchanged.
Measured with :syntime over a 40000 line corpus: the three affected
rules drop from ~0.13s to ~0.008s (about -93%), which cuts the total
syntax parse cost by ~10% (1.85s to 1.65s).
closes: vim/vim#21194
https://github.com/vim/vim/commit/e9c5e56081d1923caab5efce1f6fca4e235cf350
Co-authored-by: Julien Voisin <julien.voisin@dustri.org>
Diffstat (limited to 'runtime/lua/vim/async/_queue.lua')
0 files changed, 0 insertions, 0 deletions