I recently installed an Ubuntu VM, and I'm working on getting all set up. I've run into a small issue, in that my configuration now takes nearly 30 seconds to start up, where it used to be nearly instant.

I've narrowed the issue down to the (require 'ess-site) line in my configuration, but I haven't figured out how to speed it up or replace it. I need to load ess there so that I can do my next customization, which is (ess-toggle-underscore nil). Without the require, I get errors on that next line. Do I just have to deal with the slow startup time, or is there something I can do to speed this up?

  • 1
    A shot in the dark: did you bytecompile it? Bytecompiled ELisp code typically loads faster. There's also eval-after-load macro you could try, if loading ESS isn't essential at startup (can be delayed until actually used).
    – wvxvw
    Jul 10, 2015 at 22:21
  • 1
    Why don't you use eval-after-load?
    – user227
    Jul 11, 2015 at 12:20
  • Thank you. I didn't use it because, even after a year and a half of using emacs, I still don't know what I'm doing. Feel free to post an answer, one of you, and I'll mark it correct.
    – Ryan
    Jul 11, 2015 at 23:56

1 Answer 1


Rather than using require in the init file, I've switched to eval-after-load for most things.

So where the line before read:

(require 'ess-site)
(ess-toggle-underscore nil)

I now have

(eval-after-load 'ess-site '(ess-toggle-underscore nil))

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.