public inbox for glibc-cvs@sourceware.org help / color / mirror / Atom feed
From: Adhemerval Zanella <azanella@sourceware.org> To: glibc-cvs@sourceware.org Subject: [glibc] Deleted branch azanella/exp10f-optimization Date: Thu, 9 Apr 2020 19:58:06 +0000 (GMT) [thread overview] Message-ID: <20200409195806.56FE5385B835@sourceware.org> (raw) 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.
reply other threads:[~2020-04-09 19:58 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200409195806.56FE5385B835@sourceware.org \ --to=azanella@sourceware.org \ --cc=glibc-cvs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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).