タグ

最適化に関するakaneharaのブックマーク (3)

  • シェルスクリプト高速化のツボ - 新・日々録 by TRASH BOX@Eel

    これは備忘録。 色々あって、まだ具体的なモノを何も作ってもないのにシェルスクリプトのパフォーマンス絡みでネタを収集してしまったので、ひとまずまとめてみた。 shellshock(bashのアレ)があったばかりなので、ちっとばかり微妙かも。 計測してボトルネックを探す まずは何よりも計測すること。time(1)を活用すべし。 データ量が多いと問題が表面化するのが定番のパターンなので、ワンライナー等でさくっとテストデータを作成して実験すると吉。 ループ構文よりもテキストフィルタを使う 一般的には、ループ構文を使うよりも、パイプでテキストフィルタに連結して処理した方が高速だ。 # NG seq 1 1000000 | while read i; do echo "$i"; done # NG # while readほどではないが遅い # (bashでは動いたが、dashやbusyboxのshで

    シェルスクリプト高速化のツボ - 新・日々録 by TRASH BOX@Eel
  • MySQLインデックスの基礎 : ひとつのテーブルに対するクエリの最適化法 | Yakst

    MySQLのインデックスを効果的に使うにはどうしたらいいのかについての分かりやすい解説。そもそもインデックスの役割はとは何か、そしてどうすればその役割を果たしてくれるのかを説明する。 たとえ1つのテーブルだけに対して実行されるクエリでも、パフォーマンスが悪いというのはよくあることです。その理由は簡単で、インデックスの作り方がまずいため、実行計画がおかしくなってしまうのです。ここでは、1つのテーブルのみに対する色々なクエリを最適化するためのガイドラインを挙げてみたいと思います。 おことわり : あらゆる状況をカバーしようとはせず、一般的なガイドラインを提示するに留めるつもりです。ここで挙げたものがうまく適用できない例を簡単に見つけることができるのは間違いないでしょうが、ほとんどの場合はここに書いたことが十分なのも事実です。また、MySQL 5.6以上にあるIndex Condition Pu

    MySQLインデックスの基礎 : ひとつのテーブルに対するクエリの最適化法 | Yakst
  • コンパイラ - コンパイラの最適化についてすべてのプログラマが知っておくべきこと

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 コンパイラの最適化についてすべてのプログラマが知っておくべきこと Hadi Brais コード サンプルのダウンロード 高度なプログラミング言語には、関数、条件付きステートメント、ループなど、驚くほど生産性が上る抽象プログラミング コンストラクトが多数用意されています。ただし、高度なプログラミング言語でコードを作成する場合のデメリットの 1 つは、パフォーマンスが大幅に低下するおそれがあることです。パフォーマンスを犠牲にすることなく、わかりやすく、メンテナンスしやすいコードを作成するのが理想です。このため、コンパイラがコードを自動的に最適化してパフォーマンスの向上を図ります。最近のコンパイラが行う最適化は非常

    コンパイラ - コンパイラの最適化についてすべてのプログラマが知っておくべきこと
  • 1