emacs-devel
[Top][All Lists]
Advanced

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

Re: Tooltips GC overhead


From: martin rudalics
Subject: Re: Tooltips GC overhead
Date: Thu, 30 Jul 2015 08:00:50 +0200

>> There are one call of `copy-sequence', two calls of `stringp', three of
>> `setf', one of `propertize' and one of `selected-frame'.  Together these
>> would allocate some 20 million bytes?
>
> That's what it's saying, yes.
>
>> OTOH the `copy-sequence', `face-attribute' and `alist-get' calls get
>> nowhere listed.
>
> copy-sequence and propertize are in C.  Either can easily allocate millions 
of bytes.

Just that `copy-sequence' makes a copy of a three elements alist.  And
`propertize' usually propertizes a text of a at most hundred characters
here.  If that function were that expensive, Emcas would be stuck most
of the time.

> Perhaps face-attribute doesn't allocate storage; that would explain its not 
being listed.

This would make things even more mysterious.

> alist-get is in a call to the setf macro and you may need to
> investigate what setf is really doing.  One way to look into that is
> to disassemble the byte code (type "M-x disassemble RET tooltip-show
> RET") and see what it does.

I suppose running `tooltip-show' interpreted might be the easier way.

In any case, neither the profiler nor tooltips appear usable in their
current implementation.

martin



reply via email to

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