【发布时间】:2020-02-15 06:26:37
【问题描述】:
我需要将一些数据编码为 JSON,然后使用 hsyslog 推送到 syslog。两个相关函数的类型分别是:
Aeson.encode :: a -> Data.ByteString.Lazy.ByteString
System.Posix.Syslog.syslog :: Maybe Facility
-> Priority
-> CStringLen
-> IO ()
转换Lazy.ByteString -> CStringLen 的最有效方法(速度和内存)是什么?我找到了Data.ByteString.Unsafe,但它只适用于ByteString,不适用于Lazy.ByteString?
我可以贴一个unsafeUseAsCStringLen . Data.String.Conv.toS 并收工吗?效率方面是否正确?
【问题讨论】:
标签: haskell c-strings syslog bytestring haskell-ffi