タグ

Optimizationに関するnminoruのブックマーク (24)

  • コンパイラのコード最適化や解析手法の論文のサーベイ - Jicchoの箱

    この記事では,自分が最適化コンパイラの研究をする上で読んできた論文をまとめていこうと思う. まとめることで,自分のためにもなるだろうし,読んだ人のためにもなれたら嬉しい. 以下,随時更新. 部分冗長除去法(Partial Redundancy Elimination, PRE) 部分無用コード除去 (Partial Dead Code Elimination, PDE) スカラ置換(Scalar Replacement) レジスタ促進(Register Promotion) 質問伝播(Question Propagation) 演算子強度低減(Strength Reduction) ループ最適化(Loop Optimization) 手続き間最適化(Inter-procedural Optimization) 解析系 参考書籍 部分冗長除去法(Partial Redundancy Elim

    コンパイラのコード最適化や解析手法の論文のサーベイ - Jicchoの箱
  • 100万ppsを受信するプログラムを書くのはどのくらい難しいのか?【翻訳】CloudFlare ブログ | FAworksブログ

    100万ppsを受信するプログラムを書くのはどのくらい難しいのか?【翻訳】CloudFlare ブログ 無料枠が充実していることでも人気なコンテンツデリバリネットワーク (CDN) を提供するCloudFlareは、最近1億1000万ドルの資金調達が発表され、ますます注目を集めている。そんなCloudFlareのブログから、ネットワークチューニングの知見を紹介したい。 原文:https://blog.cloudflare.com/how-to-receive-a-million-packets/ (2015-11-20) ※元記事の筆者には直接翻訳の許可を頂いて、翻訳・公開しております。 CC BY-SA 2.0 image by Bob McCaffrey 先週、何気ない会話の中で同僚がこう話すのをふと耳にした。「Linuxのネットワーク・スタックが遅いんだよ!1コアあたり5万pps以上

    100万ppsを受信するプログラムを書くのはどのくらい難しいのか?【翻訳】CloudFlare ブログ | FAworksブログ
  • Death of Optimizing Compiler (最適化コンパイラは死んだ・抄訳)

    Death of Optimizing Compiler (最適化コンパイラは死んだ・抄訳) 2017-09-02 [Sat] 16:07 研究室のリストに流したのでここにもついでに書いておく。 djb が2015年にやった「最適化コンパイラは死んだ」という講演の抄訳。 Death of Optimizing Compiler Daniel J. Bernstein スライド: http://cr.yp.to/talks/2015.04.16/slides-djb-20150416-a4.pdf 音声: http://cr.yp.to/talks/2015.04.16/audio.ogg …この講演のタイトルは「最適化コンパイラの死」ですが、 皆さんの中に「最適化コンパイラ」が何か知っている人はどれくらいいますか? …ほとんどですね。では「死」については? (笑) …そんなにいないようです

    nminoru
    nminoru 2017/09/05
    アフィン変換によるループ並列化とか21世紀になってからの技術だよな。
  • SSEを使ってHTMLエスケープを高速化してみた - k0kubun's blog

    高速なHTMLエスケープをするライブラリを作った ある日HTMLエスケープを速くしたくなって、hescapeというライブラリを作った。 github.com とにかく速いHTMLエスケープがしたい Railsアプリのビューのレンダリングにおいて、CGI.escapeHTMLを高速化*1することでRailsのデフォルトのテンプレートエンジンが大きく高速化されたり*2、GitHubでもHTMLエスケープが全体のパフォーマンスに影響が大きかった事例もある*3など、常に自動でHTMLエスケープが行なわれるRailsの環境ではHTMLエスケープの速度が割と大きな意味を持っている。 従って、Hamlitの最速性を維持するためにHTMLエスケープのパフォーマンスを極めておきたかった。 vmg/houdini を倒したい 前述したGitHubの人が既にhoudiniというかなり速いエスケープライブラリを作

    SSEを使ってHTMLエスケープを高速化してみた - k0kubun's blog
  • SSE4.2 の文字列処理

    「SSSE3 / SSE4 命令一覧」では,SSE4.2の PCMPESTRI / PCMPESTRM / PCMPISTRI / PCMPISTRMの4命令については動作説明部分を「文字列比較」として説明書きを端折っていました(あのスペースでは書ききれませんので)。これらの命令の動作についてメモしておきます。 これら4命令は文字列の比較を行うものですが,文字列長の指定の仕方(2通り)と結果の受け取り方(2通り)との組合せで4命令に分かれています。

  • INTEL コード & ダウンロード

    Using Intel.com Search You can easily search the entire Intel.com site in several ways. Brand Name: Core i9 Document Number: 123456 Code Name: Alder Lake Special Operators: “Ice Lake”, Ice AND Lake, Ice OR Lake, Ice* Quick Links You can also try the quick links below to see results for most popular searches. Product Information Support Drivers & Software

    INTEL コード & ダウンロード
    nminoru
    nminoru 2012/09/29
    基本だがまとまっている。
  • FlashCacheでI/Oのボトルネックを解消させよう

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめに 皆様こんにちは。ストレージアーキテクトの矢澤祐司です。 Yahoo! JAPANにて利用されているマルチペタバイトなストレージ達と仲良く過ごしている私なのですが、今回はFlashCacheを用いたI/Oの最適化について検証した結果の一部を皆様にご紹介させていただきます。 FlashCacheとは SSD製品が安価に調達できるようになった昨今であっても大容量なストレージを構築する際はHDDに頼らざるを得ず、さすがにフルSSDで大容量なストレージを構築してしまうとコスト過多で現実的ではないと判断される方が大半かと思います。確かにSSDを利用することによってI/O性能が課題だったシステムを改善された事例はたくさんあるものの、大

    FlashCacheでI/Oのボトルネックを解消させよう
  • Twitterの人が語るパフォチューとは - 谷本 心 in せろ部屋

    Everything I Ever Learned About JVM Performance Tuning at Twitter https://oracleus.wingateweb.com/published/oracleus2011/sessions/37941/S37941_2408980.pdf Twitterの中の人がパフォーマンスチューニングについて語るセッション。 スケーリング? いや、エクストリームです。 きっと凄いスケーリングの話をするのかと思ったら、 全くの真逆で超細かい、エクストリームな話でした。 たとえば「メモリを使いすぎない」ようにするための説明では、 Objectをnewするだけで64bitマシンなら128bit (16byte) 消費する、という話に始まり ポインタ、オブジェクトヘッダ、配列ヘッダ、継承クラスで消費するメモリ(4byteとか24byte)の

    Twitterの人が語るパフォチューとは - 谷本 心 in せろ部屋
  • アセンブラコードで見るC++ Composer XEの強力な最適化機能 | OSDN Magazine

    インテル C++ Composer XEには、強力な最適化機能を備えるコンパイラが含まれている。インテルCPUが備えるSSEやAVXといった機能を効率的に利用するコードや、マルチコアによる並列処理を行うコードを自動的に生成できるのが特徴だ。記事ではインテル C++ Composer XEが持つさまざまな最適化機能を紹介するとともに、コンパイラが出力するアセンブラコードをチェックしてその効果を探っていく。 無視できないコンパイラの最適化機能、アプリケーションによっては数十パーセントものパフォーマンス向上も 近年のCPUの進化に伴い、コンパイラの最適化機能が注目されるようになってきた。パイプライン化やキャッシュの大容量化、分岐予測や投機的な実行といった機能の採用など、CPUの内部アーキテクチャは進化を続けている。そのため、コンパイラにはCPUのリソースを効率良く利用できるバイナリコードを生成

    nminoru
    nminoru 2010/12/08
    C++ Composer って tail call optimization が入ったのかしら? / 非並列コンパイラとしてはx86系最強だけど、一部の最適化がないためにプログラムによっては gcc に負けちゃぅのよね。
  • インテル・AMDのCPUアーキテクトが明かす: GNU grep が速い理由 - karasuyamatenguの日記

    GNU grepの元祖作者がFreeBSDハッカーをschoolしている。 http://lists.freebsd.org/pipermail/freebsd-current/2010-August/019310.html FreeBSD対GNU grepのパフォーマンスを議論していると思われるとことに「俺はgrepの初代作者だ」と名乗って現われた男がいる。 履歴書(http://duckytech.com/resume.pdf)を見ると、GNU coreutilsに貢献した後、インテルやAMDCPUアーキテクトを勤めている男だ。これは話を聞いた方がよさそうだ。 FreeBSDユーザでもある彼はリストを観閲していたらたまたまGNU対BSDのgrep論争に当ってしまったようだ。BSDのリストにGNU grepの秘密を解く。 技1: 全ての入力バイトを見ないから速い 技2: 見るバイトに関

    インテル・AMDのCPUアーキテクトが明かす: GNU grep が速い理由 - karasuyamatenguの日記
  • ループをたくさん回す処理を高速化する初歩の初歩。 - このブログは証明できない。

    テキスト処理を中心にやっていましたが、画像処理に興味が出てきて、さっそくアプリを作りました。もともと下の記事のあたりでユーザーとして画像処理に興味を持って、当然の流れながら、自分でもつくってみようと。 Color Splash + TiltShift Generator + Instagramの写真加工が面白い。 - このブログは証明できない。 で、何かを間違えて、普通の画像処理ではなく、カメラの映像をリアルタイムに加工しはじめました。そうすると、パフォーマンスがかなりシビアなんですね。 iPhoneでカメラの映像をリアルタイム画像処理してみる。 - このブログは証明できない。 全ピクセルを操作しなければなりませんから、ループをたくさん回す必要があります。なんとか高速化できないかと考えてみたところ、あっさり高速化に成功しました。私が気づくぐらいですから、初歩の初歩なんだと思います。 追記:

    nminoru
    nminoru 2010/10/31
    コメント書いた。
  • Apple preps a smaller ipad - The Inquirer

    Trusted Reviews is supported by its audience. If you purchase through links on our site, we may earn a commission. Learn more. Our news mission • Every day, we bring you the most important technology product news, written by our team of experts. Find out more about our writers • We’ll always try to put stories in context, find the extra details that other sites don’t, and explain what they mean fo

  • Firefox、GCC 4.5採用でパフォーマンス劣化 | エンタープライズ | マイコミジャーナル

    Firefox web browser - Faster, more secure & customizable GCCのメーリングリストにおいて、FirefoxのビルドをGCC 4.3からGCC 4.5へ切り替えたら、いくつかのベンチマークで4%から19%ほどベンチマーク結果が悪くなったという内容が報告されている。Linux 32ビット版および64ビット版の双方で劣化が確認されたという。唯一の例外はLinux 64ビット版でSunSpiderを実行したケースで、この場合には8%ほどの性能改善が計測されたという。GCC 4.5は4月14日にリリースされたGCC最新メジャーバージョン。 このやりとりはMassive performance regression from switching to gcc 4.5から追うことができる。やりとりの中で、指定しているオプションに原因があるのではない

    nminoru
    nminoru 2010/06/29
    コンパイラの最適化ではよくあること。良かれと思って作った最適化ルーチンがアプリを高速化するとは限らない。
  • https://moriyoshi.hatenablog.com/entry/20100428/1272452495

    nminoru
    nminoru 2010/04/28
    そう驚くべきことではないと思う。テンプレートは所詮C++コンパイラのフロントエンドで処理されるのだし、オプティマイザーから見ればCのマクロと大差ない。
  • Intel Software Network Blogs » Parallel Programming Talk #55 - Daniel Moth on Microsoft Visual Studio 2010

    {"collectionRelationTags":{"relations":{"OR":["etm-b21347d4d9474d5081968efe45da1418"],"EXCLUDE":["etm-6f8479a5b1ce453c957fa689bfed124f","etm-b7f74d27243f46bca8424d484f38e441","etm-5c2812cbf2904e448ace3d589c60d8b4","etm-289f9927cd1a4e1aa7aa64520a27ecc5","etm-96a2a467cd514dff85b6c153b364b0fa","etm-2f5e76b4e5e64d90a794e6a9d8dc26fd","etm-05429363730b40109b394df6a76dd677","etm-08dd1c4874304c9b9987050a0

    Intel Software Network Blogs » Parallel Programming Talk #55 - Daniel Moth on Microsoft Visual Studio 2010
  • Apple preps a smaller ipad - The Inquirer

    Trusted Reviews is supported by its audience. If you purchase through links on our site, we may earn a commission. Learn more. Our news mission • Every day, we bring you the most important technology product news, written by our team of experts. Find out more about our writers • We’ll always try to put stories in context, find the extra details that other sites don’t, and explain what they mean fo

    nminoru
    nminoru 2010/02/10
    Tukwilaがようやく。 / "Intel must still be hoping that Itanium will finally take off one of these years"ってご冗談を。
  • インテル コンパイラーの実力を測る――インテル コンパイラー版MySQLは本当に速いのか? | OSDN Magazine

    インテルが開発している「インテル コンパイラー」は、インテルCPUに最適化された高速なバイナリを生成するということで知られており、Oracleなどパフォーマンスを求めるベンダーで採用されているほか、科学計算用アプリケーション、3Dグラフィックソフトなど、さまざまなソフトウェアのコンパイルに利用されている。 しかし、「インテル コンパイラーはパフォーマンスが高い」とだけ言われても、なかなかピンと来ない人も多いのではないだろうか。そこで、インテル コンパイラーでコンパイルされたバイナリをベンチマークテストし、実際どの程度の性能向上が見込まれるのかを調べてみよう。 各所で高評価を受けるインテル コンパイラー インテル コンパイラーはCPUメーカーであるインテルが開発しているということで、Core i7などの最新CPUに搭載されているSSE 4.2といった命令セットへの対応が図られているほか、イン

    インテル コンパイラーの実力を測る――インテル コンパイラー版MySQLは本当に速いのか? | OSDN Magazine
  • ORC@

    ORC @ last updated: Sept 28, 2005 Open Research Compiler for ItaniumTM Processor Family Introduction The objective of the Open Research Compiler (ORC) project is to provide a leading open source ItaniumTM Processor Family (IA-64) compiler infrastructure to the compiler and architecture research community. This project is a  collaboration between Intel Corp. and Chinese Academy of Sciences. We woul

    nminoru
    nminoru 2006/05/18
    Open Research Compiler for IPF
  • Javaコンパイラの高レベル数値処理最適化技法の性能評価

    <body> <p>このページはフレームを使っていますが、お使いのブラウザはフレームをサポートしていません。</p> </body>

  • プログラムによる数値演算のベンチマーク

    C/Javaプログラムによる数値演算の速度差をベンチしてみました。 チェック項目として、 「カラの関数の呼び出し」 「整数(int型)の加減乗除算とシフト」 「単精度浮動小数点(float型)の加減乗除算」 「倍精度浮動小数点(double型)の加減乗除算」 「三角関数演算関数(cos)の呼び出し」 「平方根演算関数(sqrt)の呼び出し」 「3次元ベクトルの単位ベクトルの計算」 をテストし、それぞれを「10000*10000回」繰り返して演算し、その処理時間を計測します。 テスト環境は、Windows2000マシン(Athlon 1100MHz / Mem 512MB)と OS X10.2.2マシン(eMac(G4 700MHz / Mem 384MB))です。 Windows環境では、コンパイラとして「Borland C++5.5.1」「Visual C++6.0」「J2SE 1.4.