Comments (10)
from elvish.
from elvish.
This is the current list
Manually setting the paths to a small list gives me the expected responsiveness
from elvish.
Is redefining paths
, the only solution?
from elvish.
from elvish.
Okay, where can I add a note for WSL users, until the caching mechanism is implemented? Because I thought it was a bug in Elvish. Other WSL users might face a similar issue and think it's a problem with Elvish. I think documenting this temporary workaround would be a good idea, what do you think?
from elvish.
I guess having this issue in the issue tracker is good enough for now.
from elvish.
Then I will leave this issue open, Thanks for helping out.
from elvish.
Manually setting the paths to a small list gives me the expected responsiveness
That is because you have removed paths that require WSL to map Unix filesystem operations to Windows filesystem operations. This is fundamentally not an Elvish problem. You should see this slowdown in any command run in a WSL environment (e.g., the find
command) that performs filesystem operations on paths to the Windows environment. I can't see any practical way for Elvish to "cache" the results. If Elvish performs a command lookup that results in a "not found" error and caches that result how will it know that the cached result is stale after the command is added to a PATH
directory regardless of whether it exists on the Windows or Linux environment? The only way such caching can work reliably is if there is a file system monitoring capability to asynchronously be notified if a directory in $PATH
has been modified. And that is unlikely to exist now or in the immediate future.
from elvish.
Manually setting the paths to a small list gives me the expected responsiveness
That is because you have removed paths that require WSL to map Unix filesystem operations to Windows filesystem operations. This is fundamentally not an Elvish problem. You should see this slowdown in any command run in a WSL environment (e.g., the
find
command) that performs filesystem operations on paths to the Windows environment. I can't see any practical way for Elvish to "cache" the results. If Elvish performs a command lookup that results in a "not found" error and caches that result how will it know that the cached result is stale after the command is added to aPATH
directory regardless of whether it exists on the Windows or Linux environment? The only way such caching can work reliably is if there is a file system monitoring capability to asynchronously be notified if a directory in$PATH
has been modified. And that is unlikely to exist now or in the immediate future.
It is still on Elvish to make the default experience better. Right now the UI would entirely freeze while waiting for the completion results.
Also, I think you're supposed to respond to my comment regarding caching instead of @Ultra-Code, who was just reporting that their experience.
from elvish.
Related Issues (20)
- Pasting into Elvish is slow HOT 13
- `math:trunc` should output an exact num, not an inexact num HOT 2
- Failed to execute `bin/format.bat` on windows HOT 3
- Documentation for math:ceil shows examples for math:floor
- master branch os:chmod tests fail on FreeBSD HOT 2
- The `website/tools/check-rellinks.py` program has a surprising quirk regarding links that end in a slash HOT 2
- Delete from command history by Key command HOT 1
- flag::call does not recognize options with default $nil HOT 2
- Bracketed paste doesn't work with ConEmu HOT 1
- The os:mkdir transcript test fails if umask isn't zero HOT 1
- Transcript based unix:rlimits test failing on FreeBSD 13.0 amd64 HOT 2
- Convert `for` loops to `range $int` when Go 1.22 becomes the minimum acceptable version HOT 1
- Change != !=s not-eq to only accept two arguments
- `kill-left-alnum-word` and `kill-alnum-word-left` HOT 1
- `store:next-cmd` and `store:prev-cmd` are not documented HOT 2
- Elvish binding for filtered directory history HOT 2
- Pipe in elvish alias? HOT 5
- Add atan2 to the math module
- No completion for variable names after del
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from elvish.