unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* GNU EMACS PERFORMANCE PROFILING
@ 2015-07-01 15:00 joseph.koziatek
  2015-07-01 15:15 ` Óscar Fuentes
  2015-07-01 17:31 ` Emanuel Berg
  0 siblings, 2 replies; 3+ messages in thread
From: joseph.koziatek @ 2015-07-01 15:00 UTC (permalink / raw)
  To: help-gnu-emacs

Hello all,

Is there some kind of performance profiler in Gnu Emacs?

I have some custom lisp code that I invoke for basic buffer operations such as switching buffers. I experience a delay with Gnu Emacs 24. This delay does not happen in Gnu Emacs 21..

So I'm trying to find out where emacs 24 is spending it's time internally vs emacs 21, and to see if I can improve it..

Is there some kind of profiler that records perhaps the milliseconds where emacs is spending in each function (my functions as well as emacs's internal functions) ?

Thanks In Advanced

Joe


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: GNU EMACS PERFORMANCE PROFILING
  2015-07-01 15:00 GNU EMACS PERFORMANCE PROFILING joseph.koziatek
@ 2015-07-01 15:15 ` Óscar Fuentes
  2015-07-01 17:31 ` Emanuel Berg
  1 sibling, 0 replies; 3+ messages in thread
From: Óscar Fuentes @ 2015-07-01 15:15 UTC (permalink / raw)
  To: help-gnu-emacs

joseph.koziatek@dowjones.com writes:

[snip]

> Is there some kind of profiler that records perhaps the milliseconds
> where emacs is spending in each function (my functions as well as
> emacs's internal functions) ?

See the "Profiling" node in the Elisp manual.




^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: GNU EMACS PERFORMANCE PROFILING
  2015-07-01 15:00 GNU EMACS PERFORMANCE PROFILING joseph.koziatek
  2015-07-01 15:15 ` Óscar Fuentes
@ 2015-07-01 17:31 ` Emanuel Berg
  1 sibling, 0 replies; 3+ messages in thread
From: Emanuel Berg @ 2015-07-01 17:31 UTC (permalink / raw)
  To: help-gnu-emacs

joseph.koziatek@dowjones.com writes:

> Is there some kind of performance profiler in
> Gnu Emacs? ...
>
> Thanks In Advanced

Ha! Advanced stuff is indeed what is required.

Use this. It isn't mine - see the URL for credits.

(defmacro measure-time (&rest body)
  "Measure and return the running time of the code block.
Not mine: http://nullprogram.com/blog/2009/05/28/"
  (declare (indent defun))
  (let ((start (make-symbol "start")))
    `(let ((,start (float-time)))
       ,@body
       (- (float-time) ,start))))

-- 
underground experts united
http://user.it.uu.se/~embe8573




^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-07-01 17:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-01 15:00 GNU EMACS PERFORMANCE PROFILING joseph.koziatek
2015-07-01 15:15 ` Óscar Fuentes
2015-07-01 17:31 ` Emanuel Berg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).