emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Elisp native profiler


From: Tomohiro Matsuyama
Subject: Re: Elisp native profiler
Date: Wed, 26 Sep 2012 16:59:46 +0900

> > Date: Wed, 26 Sep 2012 15:16:25 +0900
> > From: Tomohiro Matsuyama <address@hidden>
> > Cc: Paul Eggert <address@hidden>, address@hidden
> > 
> > Let me explain here three methods for cpu profiling and their pros and cons.
> > 
> > 1. setitimer
> > Pros: Easy to implement, Accuracy, C-level backtrace
> > Cons: Non-portable
> > 
> > 2. threads
> > Pros: Almost portable
> > Cons: Multithread programming, Lack of C-level backtrace
> > 
> > 3. atimers
> > Pros: Fully portable, Easy to implement
> > Cons: Stop the world, Lack of C-level backtrace, Inaccuracy
> 
> I don't understand why do you say that threads mean no C-level
> backtrace, please explain.
I've explored and finally didn't find out how to obtain the information like 
siginfo_t and ucontext_t of running main thread from profiler thread.  I want 
to know if possible.

> Also, atimers are not fully portable
> because they are based on SIGALRM, which is not universally
> available.  Perhaps you thought only about a subset of the systems
> supported by Emacs.
I'm sorry, I was confused with normal timers.  SIGALRM is fired in real time 
interval, so we can't say that elisp really consumed CPU and system time.

    Tomohiro



reply via email to

[Prev in Thread] Current Thread [Next in Thread]