[Haskell-cafe] [ANN](and feedback request) unagi-chan: Fast and scalable concurrent queues for x86, with a Chan-like API
audunskaugen at gmail.com
Fri Jul 11 07:32:30 UTC 2014
I get lots of import errors trying to build:
> tests/Main.hs:19:8: Could not find module `IndexedMVar'
Changing that import line to 'import Utilities':
> tests/Main.hs:18:8: Could not find module `Atomics'
Changing to 'import Data.Atomics':
> tests/Main.hs:15:8: Could not find module `UnagiUnboxed'
and so on.
På Thu, 10 Jul 2014 20:39:00 +0200, skrev Brandon Simmons
<brandon.m.simmons at gmail.com>:
> I'm happy to finally release unagi-chan, an implementation of
> high-performance concurrent FIFO queues that have an API very similar
> to Control.Concurrent.Chan. You can see benchmarks and documentation
> If you have a moment (especially if you're on a non-x86 architecture)
> please take 10 minutes and run the tests with:
> $ cabal configure --enable-tests
> $ cabal build
> $ time ./dist/build/test/test
> Thanks to Ryan Newton for helping answer some low-level questions
> about his atomic-primops package which provides the CAS and
> fetch-and-add implementations that are the core of unagi-chan.
> REQUEST FOR FEEDBACK: would anyone be interested in any functionality
> like the following:
> - concurrent builder for Text, something like:
> new :: IO (InTextChan , Lazy.Text)
> write :: String -> InTextChan -> IO ()
> - something similar for ByteString (is there a class for types
> convertable to ByteString?)
> - concurrent Text and/or ByteString readers, something like:
> reader :: Text -> IO TextReader
> takeText :: Int -> TextReader -> IO Text
> That's very sketchy, but I ask because I'm very close to that already
> with Unagi.Unboxed, and should be able to implement something like any
> of the above without too much trouble if it would be useful.
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
More information about the Haskell-Cafe