Switch IO manager to a mutable hashtable

Authored by Bryan O'Sullivan <bos@serpentine.com> on Aug 14 2013, 5:43 AM.

Description

Switch IO manager to a mutable hashtable

This data structure (IntTable) provides a similar API to its predecessor
(IntMap), at half the number of lines in size.

When tested in isolation using criterion, IntTable is much faster than
IntMap: over 15x, according to my criterion benchmarks.

This translates into a measurable improvement when used in the IO manager:
using weighttp to benchmark acme-http under various configurations on two
32-core Linux servers connected by a 10gbE network, I see between a 3%
and 10% increase in requests served per second compared to IntMap.

Signed-off-by: Andreas Voellmy <andreas.voellmy@gmail.com>

Details

Committed
AndreasVoellmySep 3 2013, 3:05 PM
Pushed
bgamariAug 25 2016, 1:39 PM
Parents
rGHCDIFFcc99f64a5e15: Fix off-by-one error in the IO manager
Branches
Unknown
Tags
Unknown
AndreasVoellmy committed rGHCDIFF28cf2e004da0: Switch IO manager to a mutable hashtable (authored by Bryan O'Sullivan <bos@serpentine.com>).Sep 3 2013, 3:05 PM