« VirtuaWin | トップページ | マネーロンダリング入門 »

2007年11月21日 (水)

仕事を加速する技術

 あらかじめ正直に言っておくと、この本は立ち読みで読みきってしまいました。なぜなら、内容的に大したことがないから買うまでもなかったから・・・ではなく、立ち読みしていたら思わず最後まで読みきってしまったからです。

 この本の主張すること、そして僕が最も関心をしたことは、「デコードを繰り返さない」ということです。

 著者はコンピュータに造詣が深く・・・いやいや、深いどころかコンピュータサイエンスの研究者です。この本の主張の新しいところは、CPUが計算を行うプロセスと、人間が仕事を行うプロセスに類似性を見出したこと、そして、処理速度の向上を突き詰めたCPUの処理方法を、人間の「仕事を加速する技術」に応用させた点です。

 それが「デコードを繰り返さない」ということです。CPUは一度メモリからフェッチしたマシン語の命令を、CPU内で「デコード」し、計算を行い、結果を必要に応じてメモリに書き出します。CPUはフェッチをしたら必ずデコードを行い計算を行います(基本的に)。フェッチをしてデコードをしてみたあと、やっぱりやめた・・・とはなりません。何のためらいもなくデコードしたら即実行です。やっぱりやめたなんて、またデコードしなくちゃならないんだから無駄の極みです。ところが、人間は得てして仕事でデコードを繰り返しがちです。
#投機的実行っていうのは、また別の話ですね。

 仕事におけるデコードとは、「仕事の指示」を「具体的な処理の手続き」に変換する知的な作業のことです。具体的には

  • 「11月30日までに共有ディスクの○○○にあるExcelシートに、個々人担当のについて、内容を記入してください。なお、注意として・・・」という指示のメール(命令)を読む(1回目のフェッチ)
  • 「えーと、これは何の件だっけ・・・あ、あれか、オレの担当分は、アレとアレか、、漏れないようにしないと、、えーと共有ディスクのあそこのフォルダだね、注意点は・・・なるほど、えーと何を調べなきゃいけないのかな、、、あれとアレか。面倒だな。あの人にも確認しておかないといけないなぁ。。。あ、でも30日までだから、まだ余裕があるな。後でやろう・・・。忘れないようにしないと」(1回目のデコード)
  • メールを再度見る「あ、この件は後でやるやつだな、何しなきゃいけないんだっけ・・・あ、あれとあれか・・・面倒だなぁ。後でやろう」(2回目のデコード)
  • メールを三度見る「あー、そろそろ閉め切り近いや、やらないと!えーとどこのフォルダ見るんだっけ・・・」(3回目のデコード)ここで他の人から割り込みが入る。
  • メールを四度見る「・・・」

 これが、「デコードを繰り返している」様子です。そして、デコードにはコストがかかるのです。デコードの数を減らすことで、処理の高速化が図れます。もちろん優先順位を考えて処理を行うことは重要ですが、コンピュータですら、厳密に優先順位を求めることはできません。優先順位を決定するのは「高度に知的で、正しい結果を得ることが困難な作業」なのです。つまり、100%正しい優先順位を決定することはあきらめ、適度に正しい優先順位を、そこそこのコストをかけて求め、あとはシーケンシャルになるべく判断分岐を少なく処理を行う。

 これが本書の主張であり、僕が深く納得するところなのでした。

|

« VirtuaWin | トップページ | マネーロンダリング入門 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/207693/17144301

この記事へのトラックバック一覧です: 仕事を加速する技術:

« VirtuaWin | トップページ | マネーロンダリング入門 »