スキップしてメイン コンテンツに移動

Arch Linux: 最適化フラグをどうするかでベンチマークしてみた

結論

手持ちの PC では CFLAGS="-O2" で良いということになった。


ベンチマーク概要

Phoronix test suites で list-recommended-tests とされている物のうち、System Tests の中からさらに CFLAGS をきちんと拾ってくれるものを選択した。コンパイラは CPU の仕事に関わるんだから CPU テストで見るべきという意見もありそうだけど、システム全体で効果が出ないなら、わざわざ危険を犯す必要はないと思い、システムテストとした。

 

検証したフラグは -march={native,x86-64}, -mtune=generic だ。なぜなら Arch の makepkg.conf が -march=x86-64 -mtune=generic となっているからだ。

マシン情報

 


Apache テスト

 

-mtune=generic がなぜか突出。多少差が出てる。

 

PostgreSQL テスト

非常に僅差。

WavPack テスト

とても僅差。

GnuPG テスト

すごい僅差。


Redis テスト

僅差ながら -O2 が優勝。多少差が出たか。

 

Stress-NG テスト

 

CPU ストレスを選んだので CPU を直撃する -march=native がすごいんじゃないかと思ったけど、全然だった。多少差がでた。


まとめ

自分の PC ではアーキテクチャ固有の最適化を使っても、あまりパフォーマンスに差が見えない。危険を犯して得られる見返りが小さい。

また、ある程度差が出た Apache, Redis, Stress-NG では、無印が 3位、1位、2位と表彰台を外さない大活躍。

つまり、自分の PC では -O2 無印で何も危険を犯す必要が無いという結果となった。


おまけ: なぜ -march, -mtune で速くならないのか、勝手に想像してみた。

自分は素人なので、考えただけで本当かどうかは知らないので悪しからず。

一つ目の理由は、ハードつまり CPU が、固有機能は持っているが、別に汎用機能と比べて効率良く動くようにはできていない、ということが考えられる。まあこれはどんな製品にもあることだろう。

二つ目の理由はソフトウェア側、つまり gcc の問題だ。良く知らないけど、-march, -mtune は元のコードを書き換えて、その機能を使うようにする、またはその機能に適したコードに書き換えると言うものだと思っている。あくまでも CPU の要件に沿ったコードに書き換えるもので、コードそのものを -O2 のように効率化するものではないため、変換したコードが元のコードよりも効率的になっていない、ということが考えられる。

もちろん本当かどうかは知らない。









コメント

このブログの人気の投稿

Wordでは、等幅フォントを指定して

Wordでは、等幅フォントを指定して tags: ms office Wordでは、等幅フォントを指定しても空白文字を入れるとずれる † Microsoft Word で、プログラムのソースなどを載せたいとき、consolas や courier などの等幅フォントを使う人が多いだろうが、等幅フォントを選んでも文中に空白文字(半角スペース)を混ぜると、幅が合わなくなる(文字のフォントよりもスペースの方が幅が若干狭くなる)。 Visual Studio なんかで使うぶんにはこんなことにはならない。これは Word の設定の問題だ。 要因としては、Word では空白文字が 2 個重なったときに勝手に幅を狭くしたりするらしい。これは以下の手順で解除できる (1) 右上の Office ボタンを押して、下の方にある「Wordのオプション」を選択 (2) 「詳細設定」タブを選択。一番下にある「レイアウトオプション」を展開する (3) 「半角文字と全角文字の文字幅を調整しない」をチェックする 正直、等幅フォントを使ったら、デフォルトでスペースも同じ幅になってほしいものだが。 Original: http://goo.gl/OAmcN Posted from Diigo . The rest of my favorite links are here .

へんてこな垂直マウス Delux m618 mini を三ヶ月毎日使いつづけたのでレビューします

 Delux というのは中華入力機器の多分メーカーです。 http://www.deluxworld.com/ で m618 は垂直マウスです。私が買ったのはグレーですが、今は白が欲しい。 http://www.deluxworld.com/en/product/business_series/vertical_mice/M618mini.html 多分というのは、中華製品はものすごい OEM であふれてて、アリエク見ても全く同じ商品がいろんなブランド名で売られてます。しかしDelux のマウスは Delux ブランド以外では売られてなく、またホームページもちゃんと作るくらいなので、おそらく製造メーカーそのものだろうと思います。 ネタのつもりで買ったのに、入手後、三ヶ月使いつづけてます。何が良かったかと言うと、第一に、持ちやすかった。本当に、ビックリ。こんなん持ちにくいだろうと思ってたから。 次に良かったのが、Bluetooth 4.0 と USB ドングル切り替えで、2台ペアリングさせておけるとこ。 三番目は充電式。やっぱり中華マウスに省電力とか期待してないから下手に乾電池の減りを気にするよりも、毎日充電するほうが、すがすがしいです。 最後はサイレントスイッチです。これは商品が届いてから気がついた機能だったけど、コトコトと心地好いです。ロジクールさん、MX シリーズは静音スイッチでお願いします。 しかしもちろん良くなかったところもありました。重いです。123g あります。接地面積も広いのでなかなかの摩擦です。布パッドで試したのですが、初動が本当に重くてダメでした。 解決方法はパワーサポートのエアーパッドプロIII というマウスパッドの使用と、セットのソールを貼りまくることです。これでスルスル滑るようになります。 商品ページはこちら、 https://www.pawasapo.co.jp/smaho-iphone-item/sundry/131.html  あと、注意点ですが、多分持ち上げてマウスを動かす派の方は無理です。またマウスパッドなんて気にしたこともない方も要注意。布パッド勢も、ご自身の腕力と良く相談下さい。   最後にアリエクスプレスの直営店の製品ページを貼っておきます。 https://a.aliexpress.com/_...

8割おじさん、西浦氏の数字を考察する

https://kutt.it/WYXf7k やっと知りたい情報が一つ出た。関係者はこの調子でバンバン計算を公開してほしい。 ここで言及されている R0 だけど、式は、Yn+1=R0 Yn ていう漸化式で、Yn が n世代目の感染者数ということで、Y∞=0 になる条件が R0 で ドイツからの試算で R0=2.5 。これは考察対象じゃないので、このまま使います。 Re = (1-p) R0< 1 からの p=0.6 これも良いです。0.4*2.5=1.0 だから。また、0.6 を細かく補正して 0.8 になるのも良いとします。 ただし、問題は、そもそも R0 は感染者に対する係数なので、未感染者に掛けちゃだめなところです。 4/10 で感染者数が 5553 人です。ものすごく雑に 10 倍の感染者がいるとして、桁が面倒なので 50000 人とします。50000 人の行動を 0.6 掛けします。50000 人の行動が  20000 人分減ります。さて日本の人口はやはり面倒なので 1e9 です。 なので、全体としての行動減は 20000)/1e9 でほとんど 0.0  ですね。仮に 50000 人を完全に動かさないとしても、ほとんど 0.0です。 もっと大げさに 2000万人の感染者がすでに居るとします。その場合、2000万人を完全に動かさないとしても 0.2 です。さらに大げさに 8000万人の感染者がすでに居ると、そのときは 0.8 です。 ということで、私は、西浦氏の理屈でいくなら、行動をほとんど制限しなくてよいし、80% 制限しないといけないなら、国民の 8割が感染している、という結論になる、と考えます。つまり、西浦氏は 1, 2割じゃ足りないと危惧していますが、もともとの氏の考えで行けば、十分である、ということになります。 論に対する検証をしただけなので、現実に合う、合わないは知りません。 https://kutt.it/WYXf7k https://kutt.it/WYXf7k https://kutt.it/WYXf7k https://kutt.it/WYXf7k https://kutt.it/WYXf7k