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

Should have a much better startup time #92

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

archaeron
Copy link
Member

Trades the startup time for slower execution
of the first command
#28

@alexchandel could you take a look at this?

Trades the startup time for slower execution
of the first command
@alexchandel
Copy link

@archaeron Sure, how can I install it? Also, can I ask why these commands use so much time, if they're not even invoking the idris compiler?

@archaeron
Copy link
Member Author

Installation:

You need to clone it into your .atom/dev/packages directory and rename the folder to language-idris or the package settings won't get picked up. Then you need an apm install from the language-idris folder to install the dependencies. And there you can also change branch. to issue-28. You then need to start atom with atom -d a/folder to start atom in dev mode (where packages in the dev directory are loaded)`.

To answer the second question: I don't know. just requireing the classes, without actually using them adds about 200ms to the startup time. Which is really strange.

@alexchandel
Copy link

@archaeron Possibly an atom bug? Alternatively can we precompile the package so its requirements are all inlined?

@alexchandel
Copy link

This appears to speed up startup, though it's sad that the first command run now slightly lags.

@archaeron
Copy link
Member Author

Maybe some dependency I use executes some code on require?

I should try to find out which dependencies have the most inpact on the loading time.

@alexchandel
Copy link

That's a good idea. It could even be a single dependency that's doing work on require. You could probably bisect them pretty quickly (loading half at startup & checking whether startup is slow, then try the other half or recurse).

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 this pull request may close these issues.

2 participants