Concurrency (2)

これは, Herb Sutter 氏のアナロジーを引用するならば,次のように喩えることができる ― 「1人の女性が1人の赤ちゃんを産むには,約9ヶ月の期間が要されるが,たとえ9人の女性を揃えたとしても,1ヶ月で1人の赤ちゃんを産むことは出来ない」。これは滑稽な喩えのように思われるかもしれないけども,現在多くのソフトウェアが置かれている状況を的確に言い表すことができている。線形的ないしは逐次的な工程は,コアが多重化したところで自動的に高速化することは有り得ない。

これは女性の生殖器官をサイボーグ化して、赤ん坊の生成プロセスを並列化してあげないと(うへぇ)、1人の女性が1ヶ月で子供を産むことはできない、ということを示唆しているんだね。まったく、人権団体から抗議の嵐だな。

でもこいつには、「1人の女性が9人の子供を産むのには81ヶ月かかるけれど、9人の女性が1人ずつ生めば9ヶ月で済むじゃん?チョー高速化してるよ!いや、双子とかなしでさ。」という話が裏に隠されている。フォトショップ動かしながらプレミアをきびきび動かせるようになるってことさ。

暇なので、似たようなのを考えてみた。

1人の助産婦が1人の女性の出産を手伝うのには約3時間が要される。ここで9人の助産婦がいれば、9人の女性の出産を手伝うのには約3時間が要されるであろう。しかし、9人の助産婦が1人の女性の出産を手伝うと3時間以上要することであろう。

ってのはどうか。うん、消すボタンを押す勇気がなかったよ。