Comments (2)
Thank you for sharing your configuration, elisp libraries and over all contribution to emacs.
You're welcome.
I have cloned your emacs configuration and emacs starts under a second. How do you manage to keep the emacs init time very low? I use use-package macro and for me emacs takes few seconds to startup.
A lot of stuff is autoloaded. See hooks.el
- it contains 72 add-hook
statements. The functions in add-hook
are usually defined in their own file, which is related to the corresponding major-mode.
So instead of loading ~72 files and all dependencies that they pull in, I load only 72 add-hook
statements that are instant because they don't load any packages.
Then when e.g. python-mode
is opened:
- It calls
python-mode-hook
, - which calls
ora-python-hook
, - which is autoloaded from ora-python.el,
- which means that the whole content of ora-python.el is loaded only when the first
python-mode
file is opened.
See also update-all-autoloads
, which generates the loaddefs.el
file.
Can you share some pointers or write up a blog post on how you make emacs startup fast?
I thought that I already had written that subject, but I can't find it now. If I don't find it, I'll make a blog post when I have time.
from oremacs.
That's interesting. I think spacemacs also does something similar? It installs python mode specific packages only when the first python mode file is opened.
I will look into the your configuration. Looking forward to your blog post!
Thanks.
from oremacs.
Related Issues (20)
- wrap region in org-mode block
- I get some error HOT 4
- how to use keys.el HOT 2
- Package installation: 'packages.el' vs 'ensure' keyword from `use-package' HOT 2
- RE: csetq - what about customize-set-variable? HOT 4
- IRC in emacs HOT 4
- No definitions found for: mash-get HOT 1
- Start an interactive process from dired HOT 1
- consider swap C-d and C-b HOT 1
- HI some problem with your generate autoload function HOT 1
- How to fold based on ;;* syntax HOT 2
- Failure during make install HOT 5
- Question about organization of your files HOT 2
- Wrong number of arguments: setq, 1 while doing ora-query-replace HOT 1
- A little improve of ora-company-number
- About the rebinding of SPC to close the company popup in ora-company.el.
- Some updates and fixes for using `ora-company.el` with the latest company version.
- Using digits and letters to select more company candidates by extending the `ora-company-number` function. HOT 1
- Install - No such file or directory
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 oremacs.