80:20の法則(パレート則)

世の中80:20で動いていることが多いというのが表題にある80:20の法則といい、これを提唱した人の名前がついていてパレート則といいます。
これが何を示しているかというと…、
「実行時間の80パーセントは20パーセントのプログラム部分で消費される」
ということなのです。

実際にそれっぽいコードを書いてみましょう。
…と言っても前と同じコードの使い回しです。

003-1.c

  1 #include<stdio.h>
  2 #define N 1000000
  3 int main(int argc,char *argv[])
  4 {
  5         int my,i,A[N];
  6         
  7         for (i = 0 ; i < N ; i++)
  8                 A[i]=i;
  9         return 0;
 10 }

どうでしょう、この中で一番実行時間を消費しているのはforループであることは明白ですね。10行のうちこの2行で全体の大半を消費しているので、80:20といわず95いや99%はこの2行で消費されるといっても良いでしょう。

要するに、この実行時間の99%を消費しているforループをなんとか速くできれば、高速化を実現できるわけです。

戻る