[Haskell-cafe] Re: Battling time leaks
Joel Reymont
joelr1 at gmail.com
Tue Dec 20 07:38:17 EST 2005
These are the stats with -O2:
COST CENTRE MODULE %time %alloc
read Script.PokerClient 20.1 13.6
timestamp Script.Trace 12.0 5.7
unstuff Script.PokerClient 8.0 4.4
puTableInfo Script.PicklePlus 6.9 6.4
trace_ Script.Trace 5.6 1.5
readQ Script.Queue 5.0 21.3
reverse_ Script.Endian 4.9 2.0
writeQ Script.Queue 4.9 4.4
wrap Script.Pickle 4.6 1.9
dispatch Script.Engine 4.3 2.8
unpickle Script.Pickle 3.8 0.5
lift Script.Pickle 2.9 4.5
appU_wstr Script.Endian 2.6 2.4
storable Script.Pickle 2.2 3.1
doSSLHandshake Script.PokerClient 1.1 0.0
fetch Script.Engine 1.0 18.9
dispatch_ Script.Engine 1.0 0.2
pair Script.Pickle 0.9 1.2
post_ Script.Engine 0.4 2.8
On Dec 20, 2005, at 11:01 AM, Joel Reymont wrote:
> Folks,
>
> It looks like I successfully squashed my time leaks and moving my
> serialization to Ptr Word8 got me as close to the metal as
> possible. I'm still getting wierd results, though, and they look
> like a time leak.
>
> ORANGE ALERT: 0s, 6s, SrvServerInfo
> ORANGE ALERT: 0s, 8s, SrvServerInfo
> ORANGE ALERT: 0s, 9s, SrvServerInfo
> ORANGE ALERT: 0s, 9s, SrvServerInfo
> ORANGE ALERT: 0s, 7s, SrvServerInfo
>
> unstuff :: Ptr Word8 -> Int -> IO Command
> unstuff ptr ix =
> do TOD time1 _ <- getClockTime
> (kind, ix1) <- unpickle puCmdType ptr ix
> TOD time2 _ <- getClockTime
> (cmd', _) <- unpickle (puCommand kind) ptr ix1
> TOD time3 _ <- getClockTime
> when (time3 - time1 > 3) $
> -- fail here with the messages above
--
http://wagerlabs.com/
More information about the Haskell-Cafe
mailing list