Reimplement Control.Concurrent.Chan
Changes PlannedPublic

Authored by dfeuer on Jun 27 2018, 1:02 AM.



Instead of using two MVars delimiting a whole stream of MVars, we
can use one MVar and one IORef indexing into a "pure" stream of previous puts into
another MVar. Better? Dunno.

dfeuer created this revision.Jun 27 2018, 1:02 AM
simonmar requested changes to this revision.Jun 27 2018, 3:45 AM

Better? Dunno.

Requesting changes to this bit :)

This revision now requires changes to proceed.Jun 27 2018, 3:45 AM
dfeuer updated this revision to Diff 17111.Jun 27 2018, 10:05 PM
  • Put back one MVar
dfeuer edited the summary of this revision. (Show Details)Jun 27 2018, 10:15 PM
dfeuer updated this revision to Diff 17112.Jun 27 2018, 10:26 PM
  • Put back one MVar
dfeuer planned changes to this revision.Jun 28 2018, 11:48 PM

I'm getting very inconsistent benchmark results. This does much better and much worse than the current implementation depending on the situation, and I don't yet understand why.