Do you have source code? It sounds like you were writing unidiomatic Haskell.
Re:Rust as a gateway drug to Haskell
by verandaguys_alt on Wednesday June 14, 2017 @04:05PM
(#14555664)
I actually posted the port on the Code Review SE, where (after almost a month of silence), someone stepped up and offered a CFFI solution.
https://codereview.stackexchange.com/questions/157118/a-port...
You might have better luck with the fast-logger library, for one. I'd also suggest using ansi-wl-pprint, which would work on Windows and also probably be faster than string concatenation (which is just plain bad in Haskell).
As was pointed out, GHC is calling getCurrentTime too often. If you take advantage of GHC's laziness, the value will stay valid longer. I assume that is what fast-logger does.
A Haskell port of a logging library I'd originally written in Python ended up being almost 2 orders of magnitude slower than CPython 3, and almost 3 orders of magnitude slower than PyPy3.
PyPy3 resulted in performance similar to a barely-optimized C port.