Bryan O’Sullivan’s website. Recent blog posts below.
Progress on GHC’s I/O manager
Over the past couple of weeks, I have been working with Johan Tibbell on an event library to use for replacing GHC’s existing I/O manager. The work has been progressing rather nicely: I now have both the epoll and kqueue back ends working, while Johan has been focusing on a fast priority queue data structure for managing timeouts. We’ve been working from a pair of git repositories: Johan’s is at http://github.com/tibbe/event Mine is at http://github.com/bos/event (Incidentally, I’m using the excellent hg-git plugin for Mercurial, which has allowed me to continue to avoid using git. It’s been working very well. Many thanks to Scott Chacon and Augie Fackler for their work on it!) ...
Making GHC’s I/O manager more scalable
Data.Text 0.7 gains I/O support
The performance of Data.Text
Wouldn’t it be nice…
…if the world of blogging about software had by now developed some kind of a tradition of critical analysis? Over at Inside Higher Ed, Scott McLemee writes a careful and thoughtful review of Cornel West’s new book. It performs the delicate feat of being at once both generous to its subject and devastating in its analysis: Legend has it that the blues guitarist Robert Johnson acquired his haunting style by selling his soul to the devil at a crossroads. West, as a “bluesman of the life of the mind,” has clearly also been to the crossroads. The devil gave him a team of publicists. I don’t think this was a good bargain on West’s part. It left him unable to recognize that self-respect is often the enemy of self-esteem. Although his prose style is impeccable, what I like even more about McLemee’s piece is the way in which he expresses hope that West might return to fulfilling his early promise. (I suspect that this expression of hope is mainly a form of rhetorical charity, but it’s stylish nonetheless.) This led me to wondering whether it’s even achievable to foster a similar style among people who write about code. ...
Dense? Dense, you say?
Criterion 0.2, an improved Haskell benchmarking library
I’m pleased to announce the availability of version 0.2 of my criterion library for Haskell performance evaluation. Compared to version 0.1, this version has some significant changes. The benchmarking API has been improved! If you’re benchmarking a pure function, you no longer need to feed it an Int to ensure that it won’t get thunked or let-floated. Instead, Use the B data type (see the examples/ directory) to specify an unsaturated function that you want to benchmark, along with its last argument. Many thanks to Daniel Peebles for suggesting this approach, which makes the use of criterion considerably more pleasant. Neil Brown added a -kde-same-axis command-line option to allow plotting the KDEs for all the benchmarks with the same X axis. I’d like to thank Neil for his helpful work on some other code cleanup issues, too. There are some more, and better quality, examples in the examples/ directory. Tim Docker contributed a patch that improves graph rendering. As the changes above suggest, several people have been actively contributing to the improvement of criterion, and I’m delighted by this. Please feel welcome to get involved; there are many improvements I’d like to make, but of course I have limited time to work on them. I’ll be happy to talk with you about other potentially useful changes.
Announcing a major revision of the Haskell text library
I’m pleased to announce the availability of version 0.5 of text, a library that provides fast Unicode text handling for Haskell. This version contains numerous changes compared to version 0.4, in three broad categories: I made improvements to the performance of some common functions by, in many cases, more than 10x. I have substantially refined the API. Many bugs fixed, almost all of them subtle, thanks to the ever-astounding QuickCheck library. ...
New criterion release works on Macs
And has prettier charts, too, thanks to a patch from Tim Docker. If you already have criterion installed: $ cabal update $ cabal install --reinstall criterion If you want to use criterion on a Mac: $ cabal update $ cabal install criterion -f-chart Alas, on OS X, you’ll lack the ability to directly generate pretty chart images, but criterion will still output CSV files for you. You can import these into gnuplot or your favourite spreadsheet with ease, and chart away from there.