Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve change directory performance #418

Closed
sayanarijit opened this issue Nov 19, 2021 · 1 comment · Fixed by #422
Closed

Improve change directory performance #418

sayanarijit opened this issue Nov 19, 2021 · 1 comment · Fixed by #422

Comments

@sayanarijit
Copy link
Owner

sayanarijit commented Nov 19, 2021

The release v0.16.4 improved the performance of operating in a big directory using a plugin that reads the directory_buffer.nodes field (by caching it). By it came at cost. Every time when enter a big directory, it will freeze for a moment to cache the nodes, which isn't necessary if we aren't using plugins that read that specific expensive field.

Let's not cache things unnecessarily and hide the directory_buffer field. It's already nullable. So, let's provide an option like pass_directoty_buffer which is disabled by default. Plugins that really need to read that field can set it to true.

@sayanarijit
Copy link
Owner Author

I have decided that it's not worth passing the heavyweight fields like directory_buffer to the custom layout renderer. The Table layout is flexible enough for rendering the directory nodes. There's no need for multiple dynamic tables.

sayanarijit added a commit that referenced this issue Dec 11, 2021
This PR breaks the custom layout renderer API by deprecating the
following heavyweight fields in the Lua Context passed to the renderer
functions.

The following fields are being deprecated:

- app.directory_buffer
- app.history
- app.last_modes

However, there's no change in the Lua Context passed to the functions
called via `CallLua*` messages.

Closes: #418
sayanarijit added a commit that referenced this issue Dec 11, 2021
This PR breaks the custom layout renderer API by deprecating the
following heavyweight fields in the Lua Context passed to the renderer
functions.

The following fields are being deprecated:

- app.directory_buffer
- app.history
- app.last_modes

However, there's no change in the Lua Context passed to the functions
called via `CallLua*` messages.

Closes: #418
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 a pull request may close this issue.

1 participant