[Haskell-cafe] Announce: bytestring

Don Stewart dons at galois.com
Sun Apr 20 18:09:33 EDT 2008

Hey all,

I'm pleased to announce a new major release of bytestring, the efficient
string library for Haskell, suitable for high-performance scenarios.

This release is primarily an (incremental) performance improvement
release, though with some notable significant improvements, along with
long term test coverage and quality control changes.


    * a long term performance bug with Ord instances, involving very
      small strings, and Data.Map has been squashed.

    * everything's a little faster -- shootout problems showed a 1-5%
      speedup just by switching to the new library.

Thanks goes to the Hac4 Haskell Hackathon organisers, in Gothenburg,
Sweden, where the majority of this work to create this release took place.

Key changes:

  * Data.Map short key performance greatly improved:
        - 'words Map'  running time:
                6.310s bytestring
                1.071s bytestring 

  * Uses cheaper unsafeDupablePerformIO for allocation. 
        - tail recursive tight loops (fixes obscure stack overflow)

  * Generally faster:
        - Shootout sum-file: 1.218s to 1.190s
        - Shooout fasta:     9.210s to 8.811s
  * 4-5x faster small substring search (breakSubstring/findSubstring/isInfixOf).

  * Extensive QuickCheck coverage reporting and improvements:
        - http://code.haskell.org/~dons/tests/bytestring/hpc_index.html

Get the code:


Note that if you upgrade to the new bytestring release, older packages
built against previous releases will still require the old bytestring
package. For best results, rebuild any bytestring-depending packages
against the new library only.


More information about the Haskell-Cafe mailing list