speed-up swiper with buffer-substring-no-properties #2986
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Okay... So a couple of points; only the last is relevant for this PR:
I tried
swiper-isearch- it is fast, but I liked the line-based nature ofswiper. I'm unsure how to getC-nto behave as pernext-lineeven after I used the:bindoption ofuse-packagewithswiper-isearch-map.I tried setting
(setq swiper-use-visual-line nil)and(setq swiper-use-visual-line-p 'ignore)but this didn't seem to have much impact on performance.So, I ended up playing around with the
swiperfunction and noted thatswiper--lineis causing substantial slowness. Ideally, avoidingconcatand usingbuffer-substring-no-propertiesshould get maximal performance. But avoidingconcatcauses the first character of each line to not be visible, and I'm unsure where else to tweak so that the first character remains visible; the first character does get used up for searches though! Until then and perhaps even then, using theno-propertiesversions should help with performance!And thanks for the package!