One-shot semantics in GHC event manager

Ben Gamari bgamari.foss at gmail.com
Tue Oct 21 22:21:19 UTC 2014


Kazu Yamamoto <kazu at iij.ad.jp> writes:

> Hi,
> 
> I measured the performace of GHC head, 7.8.3 and 7.8.3 + Ben's patch
> set.
>
> Server: witty 8080 -r -a -s +RTS -N<n> *1
> Measurement tool: weighttp -n 100000 -c 1000 -k -t 19 http://192.168.0.1:8080/
> Measurement env: two 20 core (w/o HT) machines directly connected 10G
>
> Here is result (req/s):
>
> -N<n>          1       2        4        8        16
> ---------------------------------------------------------
> head           92,855  155,957  306,813  498,613  527,034
> 7.8.3          86,494  160,321  310,675  494,020  510,751
> 7.8.3+ben      37,608   69,376  131,686  237,783  333,946
>
> head and 7.8.3 has almost the same performance. But I saw significant
> performance regression in Ben's patch set.
>
This may be due to lacking INLINEs on definitions added in
GHC.Event.Internal [1]. I'm currently in the middle of reproducing these
results on an EC2 instance to confirm this. So far the results look much
more consistent than my previous attempts at benchmarking on my own
hardware.

Cheers,

- Ben


[1] https://github.com/bgamari/ghc/tree/event-rework-7.10
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 472 bytes
Desc: not available
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20141021/61df1dd1/attachment.sig>


More information about the ghc-devs mailing list