Replace IO manager's IntMap with a mutable hash table
I've written a patch that replaces the immutable !IntMap used by GHC.Event with a mutable hashtable, !IntTable.
There's a standalone version of the new data structure, complete with !QuickCheck tests and benchmarks, available on github. It's about 15x faster than !IntMap, and substantially simpler.
In practice, this translates to a small but measurable improvement in throughput (and presumably latency). I see a 3% to 10% bump in requests handled per second by the tiny acme-http http server when benchmarked using the weighttp load tester.
|CC||AndreasVoellmy, kazu-yamamoto, simonmar|