On Tue, Apr 12, 2011 at 6:40 PM, Jon Kristensen <technol...@jonkristensen.com> wrote: > Hello Haskellers! > > As I have now implemented everything that I could think of, I would like to > ask the Haskell community to give some feedback on HLogger so that I can > continuing improving it. Some questions: > > Do you have any general/architectural thoughts on things I might be doing > wrong?
1) Use "Text" as the string type, not "String" 2) Re: SimpleLogger: writing to and flushing the log file upon receiving each message is absolutely the wrong thing to do in high-performance code. Each write() is a context switch into the kernel, and doing it this way will kill your throughput (in messages per second). What we do in our webserver (which relies on high-throughput access logging) is to buffer messages to the log channel in memory, and perform the actual writes in a separate worker thread no more often than once every N seconds. > Is the ease-of-use goal contradicting making this library useful in more > complex applications? "Easy to use" and "high performance" don't have to be contradictory, but you shouldn't neglect the latter. G -- Gregory Collins <g...@gregorycollins.net> _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe