Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 May 2013 21:12:00 +1000 (EST)
From:      Bruce Evans <brde@optusnet.com.au>
To:        David Schultz <das@FreeBSD.org>
Cc:        Diane Bruce <db@db.net>, Bruce Evans <brde@optusnet.com.au>, John Baldwin <jhb@FreeBSD.org>, David Chisnall <theraven@FreeBSD.org>, Stephen Montgomery-Smith <stephen@missouri.edu>, freebsd-numerics@FreeBSD.org, Steve Kargl <sgk@troutmask.apl.washington.edu>, Peter Jeremy <peter@rulingia.com>, Warner Losh <imp@bsdimp.com>
Subject:   Re: Use of C99 extra long double math functions after r236148
Message-ID:  <20130528205441.U2294@besplex.bde.org>
In-Reply-To: <20130528081921.GB13594@zim.MIT.EDU>
References:  <501204AD.30605@missouri.edu> <20120727032611.GB25690@server.rulingia.com> <20120728125824.GA26553@server.rulingia.com> <501460BB.30806@missouri.edu> <20120728231300.GA20741@server.rulingia.com> <50148F02.4020104@missouri.edu> <20120729222706.GA29048@server.rulingia.com> <5015BB9F.90807@missouri.edu> <20130528043205.GA3282@zim.MIT.EDU> <20130528155933.V1298@besplex.bde.org> <20130528081921.GB13594@zim.MIT.EDU>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 28 May 2013, David Schultz wrote:

> On Tue, May 28, 2013, Bruce Evans wrote:
>>
>> I think I tested "inline" on the large functions (just 2) and found
>> it useful for efficiency.  This is like inline on large trig support
>> functions being useful.  The inline parts are duplicated once per
>> C99-API function, and often the caller only uses on C99-API function.
>> Actually, the large inlines are not duplicated that much.  cacosh()
>> and casinh() are just wrappers that call cacos() and casin(),
>> respectively.  There is no inlining for the last 2 (even larger)
>> functions.  The overhead for the wrappers is noticeable, but more
>> inlining didn't seem to reduce it much.
>
> If you did benchmarks to show that using inline is worthwhile
> despite the cache pressure, then it's fine with me. I had assumed
> that it was added without much thought.

I retested.  Inlining the big function do_hard_work() helps for gcc on
amd64 (about 5% faster), but makes no significant difference for clang.
The previous testing was mostly with gcc.

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130528205441.U2294>