Openlibm's `pow`, `hypot`, `exp` and `log` are considerably slower than Glibc's
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 25/100
- issue の種類
- バグ
- 明瞭さ
- 説明が足りない
- 活発さ
- 停滞
- 技術スタック
- c
- 領域
- performance
調査の方向性
この issue にはソースファイルやテストの指定がありません。まず、説明されているプラットフォームで GCC と Clang を使って pow、hypot、exp、log の報告されたベンチマークを再現し、その後、関連する実装を追跡してください。測定された性能差を特定して解消し、他の関数にリグレッションを発生させなければ完了です。
索引モデルが issue の本文から書いたものです。
説明
I just ran benchmarks of openlibm (compiled by gcc and clang) and system libm (Glibc), and these were the results:
openlibm(gcc) syslibm openlibm(clang)
pow : 17.4427 MPS : 69.7010 MPS : 18.1047 MPS
hypot : 72.7657 MPS : 107.5491 MPS : 76.4914 MPS
exp : 132.5313 MPS : 197.3627 MPS : 145.4958 MPS
log : 129.2455 MPS : 216.8139 MPS : 130.2769 MPS
log10 : 103.1023 MPS : 118.6334 MPS : 96.9040 MPS
sin : 176.9966 MPS : 157.4333 MPS : 150.2365 MPS
cos : 162.1996 MPS : 166.1857 MPS : 161.8407 MPS
tan : 93.6082 MPS : 76.9096 MPS : 90.7496 MPS
asin : 124.9897 MPS : 114.8927 MPS : 128.0259 MPS
acos : 140.7629 MPS : 110.8343 MPS : 129.6873 MPS
atan : 120.1154 MPS : 79.6637 MPS : 130.1246 MPS
atan2 : 54.1519 MPS : 43.4398 MPS : 58.3252 MPS
System Libm is considerably faster than Openlibm on pow (4x) hypot, (1.5x) exp (1.5x) and log (1.7x), while Openlibm outperforms system Libm in almost all trigonometric functions (except cos).
Running on Kubuntu 21.04 (kernel 5.11.0-17-generic) in an Asus Rog Strix G531GT, CPU Intel Core i7-9750H CPU 2.60GHz.
Edit:
GNU libc version: 2.33
GNU libc release: release
- 主要言語
- C
- スター
- 633
- フォーク
- 164
- 平均マージ
- 4分
- マージ済み PR(30日)
- 1
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
JuliaMath/openlibm のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 38/100
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
JuliaMath/openlibm の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
python-pillow/Pillow#10087 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
OpenPrinting/cups#1729 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
awslabs/amazon-kinesis-video-streams-webrtc-sdk-c#2406 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
DaveGamble/cJSON#1094 ·
-
status:needs-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 90/100
PX4/PX4-Autopilot#28923 ·
メンテナーはふだん 1 日以内に返信