emacs-devel
[Top][All Lists]
Advanced

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

Re: Inlining doesn't happen on OS X: big performance problem


From: Paul Eggert
Subject: Re: Inlining doesn't happen on OS X: big performance problem
Date: Thu, 19 Sep 2013 08:06:03 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.0

Ryan Johnson wrote:
> Surely something that elaborate and costly was a conscious decision...

Yes, that's correct.  As noted in the code's comments,
the problem is that Apple's C library is incompatible with
C99; see the thread here:

http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html

This is registered as Darwin bug 12841334, whatever that is (I don't
have access to the Apple bug database).  As I understand it, it
it's a nontrivial bug, involving only the C library
headers but also clang (the default C compiler used by Apple).
I've corresponded with a developer at Apple about this (most recent
correspondence August 21), and as I understand it Apple plans to
fix the bug at some point, but the fix isn't public yet.  When it
is, I'd like to adjust Gnulib so that it avoids the problem on
fixed versions of Darwin.

In reviewing that correspondence I think that we could work
around some cases of the problem by replacing both instances of
'defined __APPLE__' with this:

    (defined __APPLE__ \                                                        
     && ! (defined _DONT_USE_CTYPE_INLINE_ \
           && ! (defined _FORTIFY_SOURCE && _FORTIFY_SOURCE)))

in m4/extern-inline.m4.  This would improve performance if you
compile Emacs with -D_DONT_USE_CTYPE_INLINE_ -D_FORTIFY_SOURCE=0.
If you're interested in building Emacs that way
I can make that change to Gnulib.



reply via email to

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