Skip to content

Conversation

@Jint-lzxy
Copy link
Collaborator

It appears that when navigating through syntax trees of great intricacy, ts-context would expend an excessive amount of time collecting (and rendering) all "candidate nodes" from here to the root of the tree when the cursor goes deep into a particular "branch", given our current settings. This PR limited max_lines to 3, as IMO we seldom need hierarchical information about nodes that are too distant from the current one in practice, and 3 is also the optimal value I've found in recent trials that strikes a balance between the amount of practical information and performance penalties lol

It appears that when navigating through syntax trees of great intricacy,
`ts-context` would expend an excessive amount of time collecting _(and
rendering)_ all "candidate nodes" from here to the root of the tree when the
cursor goes deep into a particular "branch", given our current settings. This
PR limited `max_lines` to 3, as IMO we seldom need hierarchical information
about nodes that are _too_ distant from the current one in practice, and `3`
is also the optimal value I've found in recent trials that strikes a balance
between the amount of practical information and performance penalties lol
@ayamir ayamir merged commit de10eee into main Nov 23, 2023
@ayamir ayamir deleted the perf/limit-ts-context-max-lines branch November 23, 2023 12:52
singlemancombat pushed a commit to singlemancombat/nvim-config that referenced this pull request Nov 27, 2023
It appears that when navigating through syntax trees of great intricacy,
`ts-context` would expend an excessive amount of time collecting _(and
rendering)_ all "candidate nodes" from here to the root of the tree when the
cursor goes deep into a particular "branch", given our current settings. This
PR limited `max_lines` to 3, as IMO we seldom need hierarchical information
about nodes that are _too_ distant from the current one in practice, and `3`
is also the optimal value I've found in recent trials that strikes a balance
between the amount of practical information and performance penalties lol
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.

3 participants