こちらで引用されているのを発見したのでコメントしてみます. forkするみたい。pipeでやってるのかな。いずれにしろここがボトルネックか。。。 erlang-C ffiを作ろうとしている erl_ddllの場合はforkはしない(ハズ)です. なぜここがボトルネックになるかというと, ・ドライバと通信するのは load_driver したプロセスが行う(のが普通?) ・そうすると,他のプロセスは load_driver したプロセスを仲介して通信する必要がある ・すべての通信が1つのプロセス(のメッセージキュー)を中継する 中継プロセスのメッセージキューに複数のプロセスがメッセージを書き込むので,ここがボトルネックになります. Erlangのメッセージキューは,キューが長くなるほどパフォーマンスが低下します. 処理が間に合わずキューに貯まれば,パフォーマンスが落ちて,更にキューが貯まる…