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

installation very slow on Windows #302

Open
zkat opened this issue Oct 4, 2023 · 3 comments
Open

installation very slow on Windows #302

zkat opened this issue Oct 4, 2023 · 3 comments
Labels
bug Something isn't working help wanted Extra attention is needed

Comments

@zkat
Copy link
Member

zkat commented Oct 4, 2023

For some reason, installation is very very slow on Windows, even compared to other package managers--orogene will often be slower than NPM, not to mention pnpm, which is about twice as fast.

This is even true when using DevDrive and reflinks instead of full file copies. Something weird is going on here and I don't know what.

Fixing this probably entails getting dtrace working on Windows and generating flamegraphs to see what's taking up all that time...

@zkat zkat added the bug Something isn't working label Oct 4, 2023
@zkat zkat changed the title Extraction very slow on Windows installation very slow on Windows Oct 4, 2023
@zkat zkat added the help wanted Extra attention is needed label Oct 4, 2023
@zkat
Copy link
Member Author

zkat commented Oct 5, 2023

Looking into what nodejs is doing, it looks like there's some mmap happening for the writes. I can see that speeding up things on Windows!

@zkat
Copy link
Member Author

zkat commented Oct 9, 2023

Next up: Probably should make a change to cacache so that it can optionally directly write to a destination file without the temp file step. Roughly 31% of install time is spent just persisting tempfiles (including creating the various directories). This would, of course, make cacache slightly less atomic/concurrency resistant, but if we do #178, this would might be something we don't have to worry about, in the end. That said, it kinda sucks to have to potentially give up that atomicity.

@zkat
Copy link
Member Author

zkat commented Oct 9, 2023

I've created #303 to open up the door to happy path optimizations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working help wanted Extra attention is needed
Projects
Status: Backlog
Development

No branches or pull requests

1 participant