Lambdaカクテル

京都在住Webエンジニアの日記です

Invite link for Scalaわいわいランド

食洗機でパイプライン処理をする

昨日まではこういう感じで暮らしていた。

  1. 調理する
  2. 待つ
  3. 料理完成する
  4. 食べる
  5. ごちそうさま
  6. 食洗機に水入れる
  7. 食洗機に食器入れる
  8. 待つ
  9. 完了

意外と、調理を待っている待ち時間を使って、食洗機に水を入れることが可能だということに気付いた。スパゲティを茹でている間などは、基本的にやることがないから片付け工程を始めることができる。

  1. 調理する
  2. 待つ食洗機に水入れる
  3. 料理完成する
  4. 食べる
  5. ごちそうさま
  6. 食洗機に水入れる
  7. 食洗機に食器入れる
  8. 待つ
  9. 完了

これはCPUのパイプライン処理と同じようなことをしている。

ja.wikipedia.org

どの道、食洗機を使うことは確定しているので、命令を先読みして待ち合わせておくことで、食べ終わると即座に洗浄を開始できる。

もちろん、パイプラインハザードが起こる可能性もあって、例えば調理に失敗して諦めてウーバーイーツを行った場合には水投入命令が無駄になってしまう。

もっと賢いCPUだったら、料理を食べ終わる頃に自動的に水が投入されて、食器が到着する頃に水の投入が終わるようになっているはず。自分は賢いCPUではないので、がんばって予測する。

blog.3qe.us

blog.3qe.us

補足: うちの食洗機は水栓に接続するタイプではなく、タンクに人間が水を投入する方式。

★記事をRTしてもらえると喜びます
Webアプリケーション開発関連の記事を投稿しています.読者になってみませんか?