- GoでうまくいかなかったのでPerlで実装しはじめた
- Perl で prefork 実装 https://github.com/yuuki/syscall-study/commit/c50224781e3043bed783beb7f92daf852ebe253f https://github.com/yuuki/syscall-study/commit/6228a473d7e2c2e8766d25e9667e22ac0acaa80a
- 都度fork vs prefork https://gist.github.com/yuuki/92ce21ce9f23282e607950d1da5e704a
- めちゃくちゃ雑に計測
- preforkが20倍ぐらいはやい
- 都度fork vs preforkの性能解析
- CoWが効いていればforkコストはあまりないのではという疑問の解決
- なぜGoでうまくいかないのか
- defunct な子プロセスをwait4でうまく回収できない
- 普通はシグナルハンドリングはシグナルハンドラを定義してやる。Goはシグナルをchannelで受け取れるようになっていて、つまりgoroutineを使わないといけないので、このあたりになにかありそう。