Let's say I need to do write/read of a Data.Time.UTCTime
in "%Y-%m-%d %H:%M:%S" format many many times to/from a file.
It seems to me that, using Data.Time.formatTime
or Data.Time.parseTime
to convert UTCTime
to/from String
and then packing/unpacking the String
to/from ByteString
, would be too slow since it involves an intermediate String
. But writing a ByteString
builder/parser of UTCTime
by hand seems like repeating a lot of work already done in formatTime
and parseTime
.
I guess my question is: Is there a systematic way to get functions of type t -> String
or String -> t
converted to t -> ByteString
or ByteString -> t
with increased efficiency without repeating a lot of work?
I am totally a Haskell newbie, so please forgive me if the question is just stupid.