ESUP - Emacs Start Up Profiler
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

Build Status MELPA

ESUP - Emacs Start Up Profiler

Benchmark Emacs Startup time without ever leaving your Emacs.

esup screenshot



First, add the package repository:

(add-to-list 'package-archives
             '("melpa" . "") t)

Then install esup:

M-x package-install RET esup RET


esup is included in the El-Get repository

Install esup:

M-x el-get-install RET esup RET


Download esup.el and place the download directory on your load-path like so:

(add-to-list 'load-path "~/.emacs.d/path/to/esup")
(autoload 'esup "esup" "Emacs Start Up Profiler." nil)


To start Esup, run M-x esup, and watch the magic happen.

Profile a custom file with esup

By default, esup will profile user-init-file. To profile a custom file, call esup with a prefix argument. That is, C-u M-x esup.


Patches are always welcome. To submit a patch, use something like the following workflow.

git clone
cd esup
git checkout -b MY-NEW-FIX

Implement your fix. Please use angular-style commit messages.

Ensure that all elisp code is lint-clean with flycheck.

Test your fix with Cask. You can install cask with:

curl -fsSL | python
export PATH="/home/joe/.cask/bin:$PATH"

Test your fixes with the Emacs Regression Test runner.

make test

Send your commits for review.

git push origin MY-NEW-FIX

Create a pull request with the normal Github user interface.