LoginSignup
0
2

More than 5 years have passed since last update.

性能を上げるには

Last updated at Posted at 2017-02-20

システムの性能を上げるにはどうしたらいいか。を考えてみる。

まだメモです。このあと、精査したり、まとめたり、例示したりしたい。編集リクエストはこの時点から歓迎します。

 攻め方

  • プロファイルを取る: 対処すべき、時間が長い処理の整理のため

テクニック

  • 分散させる: マルチスレッド、MapReduce、グリッドコンピューティング
  • 待ち合わせを減らす:
  • 待つ順番を揃える: P5352421
  • できるだけ手前で刈り込む: SQLチューニングで、効果の高いインデックスを先に使うやつ
  • できるだけ手前で打ち返す:
  • なめる量を減らす: SQLのインデックス
  • なめる速さを上げる:
  • 薄くする:
  • 短くする:
  • 一度にやっつける: ベクトル、SIMD、GPGPU、
  • 事前にまとめる: マイクロバッチ、ネッティング
  • 粗くざっくりやる:
  • 速いやりかたにする: バイナリサーチ、51EB851F、FPGA
  • 事前に分けておく
  • 前倒し着手する:
  • 投機的に実行する: HFTの応答
  • 同時並行で処理する: CPUパイプライン
  • 速いやつを使う: フラッシュストレージ
  • 近くする: キャッシュ、レジスタ
  • 待たない: HTTPパイプライン
  • やりすぎない
  • 簡単にやる、手抜きする
  • そもそもやらない
  • 必要なことだけやる
  • 捌き屋を入れる
  • エンジンを増やす
  • 無駄を省く

引用元、参考資料

  • トヨタ、リーン、アジャイルの無駄
  • データベースの高速化
  • YAGNI、KISS、
  • アルゴリズムの高速化、枝刈りとか
  • ハードウェアの高速化
  • キャッシュ
  • GPGPU、FPGA、SIMD命令、HFTでの投機的応答
  • 51EB851F
0
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2