なぜunixドメインソケットはipソケットよりも高速なのか?

っていう話や。まあ、ちょっと事情があってプロセス間通信をしたいんですわ。 でね、わざわざtcp/ipのレイヤーまでもっていかなくてもいいやない、ローカルホスト内の通信だったらね。だからunixドメインソケットを使おうと思っているんだけど。 じゃあ、なんでunixドメインソケットのほうが高速なのかって話だけど、その理由はもう単純で、tcp/ipまでいかないからやな。もう少し具体的に書こうか。

コンテキストスイッチが発生しない

まあ、ネットワーク通信ってシステムコールだからコンテキストスイッチが発生するんだよね。 でもドメインソケットはネットワーク通信ではないから、コンテキストスイッチが発生しないって話や

networkStackを通る必要がない

コンテキストスイッチが発生する以外にネットワーク通信はいろいろとオーバヘッドが大きいです

buffer間でのコピーが発生する

UnixドメインソケットはsharedMemoryを使って通信する。

って感じや。

でもソケットって扱いめっちゃ面倒じゃないですか。どうやってやるんですか?

わかるー。マジでわかる。httpはsocketの上で作られているからね。扱いが簡単なんだよね。 あー、でも、ドメインソケットを使ってhttp通信をすればいいってことじゃね?いやそうやん! そうしましょう。そのやり方を教えましょう。 kwi