
23 Aug
2024
23 Aug
'24
2:49 p.m.
I'm working on a small program that has to run many, many times, as quickly as possible (yes, it needs to be a standalone program). I've optimized it in many ways, but I seem to have a time floor, observable with "Hello, world" $ cat Hello.hs main = putStrLn "Hello world" $ ghc -O2 Hello.hs $ time ./Hello Hello world real 0m0.150s user 0m0.117s sys 0m0.032s The equivalent program in C takes only 0.002s (75x faster). What is taking the extra time? Is it the RTS "booting"? Is there any way to speed this up? Thanks, Tom