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

Tokio can only read 16 KB per file per event loop tick #105

Closed
DavidDeSimone opened this issue Jan 18, 2021 · 2 comments
Closed

Tokio can only read 16 KB per file per event loop tick #105

DavidDeSimone opened this issue Jan 18, 2021 · 2 comments
Labels
bug Something isn't working deno/javascript Involves the Deno runtime upstream issue Issue is with upstream Emacs, and not due to emacs-ng specific code

Comments

@DavidDeSimone
Copy link
Member

Per tokio-rs/tokio#1976 Tokio can only read 16KB per buffer read of file at a time. This can lead to performance degradations since we are limited by how often we tick the event loop to move promises forward. I will look into a work around.

This may also have performance implications for Deno as well.

@DavidDeSimone DavidDeSimone added bug Something isn't working deno/javascript Involves the Deno runtime upstream issue Issue is with upstream Emacs, and not due to emacs-ng specific code labels Jan 18, 2021
@DavidDeSimone
Copy link
Member Author

I have a fix for this, however it involves changing Deno. Since we have already forked Deno, I intend on including it in our fork, however I did submit an issue upstream (denoland/deno#9149), and I will see if they want a PR.

I've also determined that our default tick rate of 0.1s is likely too large - I am getting much better performance from a lower tickrate.

@DavidDeSimone
Copy link
Member Author

Fixed by #106

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working deno/javascript Involves the Deno runtime upstream issue Issue is with upstream Emacs, and not due to emacs-ng specific code
Projects
None yet
Development

No branches or pull requests

1 participant