Giter Club home page Giter Club logo

Comments (10)

xiaq avatar xiaq commented on May 26, 2024

from elvish.

xiaq avatar xiaq commented on May 26, 2024

from elvish.

Ultra-Code avatar Ultra-Code commented on May 26, 2024

This is the current list

image

Manually setting the paths to a small list gives me the expected responsiveness

image

from elvish.

Ultra-Code avatar Ultra-Code commented on May 26, 2024

Is redefining paths, the only solution?

from elvish.

xiaq avatar xiaq commented on May 26, 2024

from elvish.

Ultra-Code avatar Ultra-Code commented on May 26, 2024

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.

xiaq avatar xiaq commented on May 26, 2024

I guess having this issue in the issue tracker is good enough for now.

from elvish.

Ultra-Code avatar Ultra-Code commented on May 26, 2024

Then I will leave this issue open, Thanks for helping out.

from elvish.

krader1961 avatar krader1961 commented on May 26, 2024

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.

xiaq avatar xiaq commented on May 26, 2024

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.

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.