読者です 読者をやめる 読者になる 読者になる

file:write が遅い

erlang

知ってはいたんですがここまで遅いとは ... 相当ネックになりつつあります。
大量のパケットを dump するとかなーり遅いです ... 。

追記

@kuenishi が CouchDB の I/O ネタを教えてくれました。

結論としてはオフセット取ってそっからえいやーです。

参考コード

{ok, Fd} = file:open("spam.txt", [append, raw, binary]),
{ok, Pos} = file:position(Fd, eof),
file:pwrite(Fd, Pos, <<"v\n">>).

秒間数千パケットをダンプしてもログがついてくるようになったとさ:-)

追記2

@itawasa に教えて頂きました。bfile というそうで yaws の方々のモジュールみたいです。 append がかなりいい感じだったと。検証して結果はこちらに書きたいと思います。