haxl v2.0.0.0 Release Notes
Release Date: 2018-03-22 // about 6 years ago-
Completely rewritten internals to support arbitrarily overlapping I/O and computation. Haxl no longer runs batches of I/O in "rounds", waiting for all the I/O to complete before resuming the computation. In Haxl 2, we can spawn I/O that returns results in the background and computation fragments are resumed when the values they depend on are available. See
tests/FullyAsyncTest.hs
for an example.A new
PerformFetch
constructor supports the new concurrency features:BackgroundFetch
. The data source is expected to callputResult
in the background on eachBlockedFetch
when its result is ready.There is a generic
DataSource
implementation inHaxl.DataSource.ConcurrentIO
for performing each I/O operation in a separate thread.Lots of cleanup and refactoring of the APIs.
License changed from BSD+PATENTS to plain BSD3.