You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm currently chasing down a performance problem in counsel-projectile, which behaves rather sluggish on typing input inside counsel-projectile. After some debugging I found out, that ivy-read calls the collection function counsel-projectile--project-buffers-and-files each time an additional character was entered into ivy's input.
Since Ivy's whole model is an instantly-updating list of all possible completions given the current input, it's only natural that it needs to call programmed completion functions with any change in input. IIUC, it's up to the completion table to cache its results or otherwise achieve acceptable performance, and AFAICT counsel-projectile has deliberately gone down this route.
So, unless I'm missing something, this discussion seems more fitting for the counsel-projectile issue tracker, no? Thanks.
Hi,
I'm currently chasing down a performance problem in counsel-projectile, which behaves rather sluggish on typing input inside
counsel-projectile
. After some debugging I found out, thativy-read
calls the collection functioncounsel-projectile--project-buffers-and-files
each time an additional character was entered into ivy's input.https://github.com/ericdanan/counsel-projectile/blob/06b03c1080d3ccc3fa9b9c41b1ccbcf13f058e4b/counsel-projectile.el#L1628-L1638
This is the call into ivy-read.
I'm not quite sure why that is, there's no
dynamic-collection
passed to ivy-read, even explicitly passing:dynamic-collection nil
does not help.Under what circumstance would ivy-read call the collection function repeatedly on input change? The documentation does not give any hint here.
The text was updated successfully, but these errors were encountered: