山本和彦
@kazu_yamamoto
.@tanakh String は FFI 呼び出しのときに、ByteString もどきに直されるので、Mighty 用の用途だと、そのオーバーヘッドをなくしたいという意味でした。ただ、たとえ内部で ByteString に直しても、ヌル終端するためコピーは必要かもしれません。
2012-06-13 15:14:50
山本和彦
@kazu_yamamoto
.@tanakh 現在の Mighty は自前で Builder もどきを持っています。API が String だったり ByteString だったりと一貫性がないから、両方を格納しておく Builder が必要です。できれば、自前 Builder は止めたいです。
2012-06-13 15:24:42
山本和彦
@kazu_yamamoto
ByteString から CString へは、useAsCString で memcpy。String を CString へ直すよりかは速いと思われる。
2012-06-13 15:35:57
山本和彦
@kazu_yamamoto
.@tanakh String を使っている API が多いせいです。GHC 7.4 からは、ばっさり String を捨てられるか、これから検討します。(Mighty が古い GHC で動かなくてもいいよね?)
2012-06-13 15:43:32