public inbox for glibc-cvs@sourceware.org
help / color / mirror / Atom feed
* [glibc] Deleted branch azanella/exp10f-optimization
@ 2020-04-09 19:58 Adhemerval Zanella
0 siblings, 0 replies; only message in thread
From: Adhemerval Zanella @ 2020-04-09 19:58 UTC (permalink / raw)
To: glibc-cvs
The branch 'azanella/exp10f-optimization' was deleted.
It previously pointed to:
958dca88df... New exp10f version without SVID compat wrapper
Diff:
!!! WARNING: THE FOLLOWING COMMITS ARE NO LONGER ACCESSIBLE (LOST):
-------------------------------------------------------------------
958dca8... New exp10f version without SVID compat wrapper
1d912eb... i386: Use generic exp10f
07d7ea4... math: Optimized generic exp10f with wrappers
6c18ac0... benchtests: Add exp10f benchmark
commit 958dca88dfae18b69e0189011c78a26783d72a50
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date: Wed Apr 8 19:51:44 2020 -0300
New exp10f version without SVID compat wrapper
This patch changes the exp10f error handling semantics to only set
errno accoring to POSIX rules. New symbol version is introduced at
GLIBC_2.32. The old wrappers are kept for compat symbols.
There are some outliers that need special handling:
- ia64 provides an optimized implementaion of exp10f that uses ia64
specific routines to set SVID compatibility. The new symbol version
is aliased to the exp10f one.
- m68k with also provides an optimized implementation, adn the new
version uses it instead of the sysdeps/ieee754/flt32 one.
- riscv and csky uses the generic template implementation that
does not provide SVID support. For both cases a new exp10f
version is not added, but rather the symbols version of the
generic sysdeps/ieee754/flt32 is adjusted instead.
Checked on aarch64-linux-gnu, x86_64-linux-gnu, i686-linux-gnu,
powerpc64le-linux-gnu.
commit 1d912ebb66be1df6aaf06e708e61a6fdcc6c1757
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date: Wed Apr 8 17:42:46 2020 -0300
i386: Use generic exp10f
The generic implementation is twice as fast. Using the exp10f
benchmark:
* master:
"exp10f": {
"": {
"duration": 4.25753e+09,
"iterations": 3.3376e+07,
"max": 1414.77,
"min": 103.649,
"mean": 127.563
}
}
* patched:
"exp10f": {
"": {
"duration": 4.05755e+09,
"iterations": 6.9136e+07,
"max": 1489.64,
"min": 50.95,
"mean": 58.6894
}
}
Checked on i686-linux-gnu.
commit 07d7ea4aaa7fdbb028d51111e0d96cd057ea6d8b
Author: Paul Zimmermann <Paul.Zimmermann@inria.fr>
Date: Wed Apr 8 17:32:28 2020 -0300
math: Optimized generic exp10f with wrappers
It is inspired by expf and reuses its tables and internal functions.
The error checks are inlined and errno setting is in separate tail
called functions, but the wrappers are kept in this patch to handle
the _LIB_VERSION==_SVID_ case.
Double precision arithmetics is used which is expected to be faster on
most targets (including soft-float) than using single precision and it
is easier to get good precision result with it.
Result for x86_64 (i7-4790K CPU @ 4.00GHz) are:
Before new code:
"exp10f": {
"": {
"duration": 1.00923e+09,
"iterations": 5.4832e+07,
"max": 249.361,
"min": 12.5,
"mean": 18.4059
}
With new code:
"exp10f": {
"": {
"duration": 9.7639e+08,
"iterations": 8.1056e+07,
"max": 563.323,
"min": 11.54,
"mean": 12.0459
}
Result for aarch64 (A72 @ 2GHz) are:
Before new code:
"exp10f": {
"": {
"duration": 1.00923e+09,
"iterations": 5.4832e+07,
"max": 249.361,
"min": 12.5,
"mean": 18.4059
}
With new code:
"exp10f": {
"": {
"duration": 9.7639e+08,
"iterations": 8.1056e+07,
"max": 563.323,
"min": 11.54,
"mean": 12.0459
}
Checked on x86_64-linux-gnu, powerpc64le-linux-gnu, aarch64-linux-gnu,
and sparc64-linux-gnu.
commit 6c18ac09bad13e4ed61268b91bb8a39eb8413f6c
Author: Paul Zimmermann <Paul.Zimmermann@inria.fr>
Date: Wed Apr 8 17:00:06 2020 -0300
benchtests: Add exp10f benchmark
Based on random inputs.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-04-09 19:58 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-09 19:58 [glibc] Deleted branch azanella/exp10f-optimization Adhemerval Zanella
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).