某委員会

某委員会に出張.しかし,提出した原案の事務手続きがまったく進んでおらず,新しい仕様のスケジュールが不明なので,予想した通りあまりやることがなく,とりあえず向こうから来たメールの内容を精査.
しかし,その分クラウドコンピューティングの話,Go・BLISSなどのプログラミング言語の話,コンパイラが生成したコードが必ずしもプロセッサに最適化されていない問題についての議論,各IT企業の内情(笑),英語は喋れる・聞けるべきだが交渉の場では通訳を使うべきだというノウハウなど,非常に貴重な情報を得ることができた.最後には,みんなこっそりTwitterをしていることがわかってフォロー大会(笑)
帰りにM社の委員にWindows Phone 7について聞くと,iPhoneAndroidの登場でWindows CE/Mobile系は瀕死状態だったそうで(追記:「あれよあれよと衰退する「Windows Mobile」に黄信号...」(GIZMODO JAPAN)),その分かなり力が入っていて期待できそうとのこと.確かにAndroidiPhoneモドキになりすぎなので,ここで既存のしがらみにとらわれない軽いUIを提案してくれることは非常に有意義だと思う.ただし,その分私のようなQWERTYキーボード好きにとっての選択肢が狭くなるのが残念だけど.
追記:自分のメモも兼ねて「コンパイラが生成したコードが必ずしもプロセッサに最適化されていない問題」をメモしておく.

  • コンパイラ屋は新しいプロセッサが登場すると,それに対して一生懸命最適化する.
  • しかし,ユーザはデフォルトオプションでコンパイルするだけで,ほとんど使わない.
  • 有名なプロダクトでも,数世代前の古いプロセッサ用の「遅い」コードのままということが非常に多く,かなりの速度損失があるはず.
  • 結局,ユーザはプロセッサの進歩による速度向上で満足していて,いちいちコンパイルし直すことはしない.
  • 商用プロダクトは最適化により動作環境が限定される,また挙動に不安定要素が出てくることを嫌うのではないか?
  • 科学技術計算ではかなりアグレッシブな最適化ができるが,COBOLコンパイラではループの除去とかは怖くてできない.
  • もしかすると,動作環境のプロセッサ専用のコードを生成できるJITコンパイラは,さらに高速化できる余地がある?(←後からの個人的なコメント)