Difference between revisions of "CamHac/PostHackathonReport"

From HaskellWiki
Jump to navigation Jump to search
Line 10: Line 10:
   
 
Github: http://github.com/sebastiaanvisser/fclabels
 
Github: http://github.com/sebastiaanvisser/fclabels
  +
  +
== GHC and base library improvements ==
  +
  +
* [http://hackage.haskell.org/trac/ghc/ticket/5413 Add primops for bit population count]. These primops compile down to `POPCNT` instructions where available and fast fallbacks (implemented in C) otherwise.
  +
  +
* [http://hackage.haskell.org/trac/ghc/ticket/5414 Add unchecked left and right bit shifts]: The Data.Bits.shift method uses a branch to check if the shift amount is larger than the word size and returns 0 in these cases. This extra safety makes performance worse in bit twiddling code.

Revision as of 11:20, 14 August 2011

Post-Hackathon Report

This page is for listing what was done during the Hackathon. Please add a short description of what you worked on, with links to relevant blog posts, hackage packages, commits, etc.

fclabels 1.0 release

New release of the fclabels package. The new package has a lot of code and documentation cleanups, support for partial labels in the case of multi-constructor datatypes and is about 20x as fast for setting and modifying as the previous version. Thanks everyone for helping me out!

Hackage: http://hackage.haskell.org/package/fclabels-1.0.1

Github: http://github.com/sebastiaanvisser/fclabels

GHC and base library improvements

  • Add unchecked left and right bit shifts: The Data.Bits.shift method uses a branch to check if the shift amount is larger than the word size and returns 0 in these cases. This extra safety makes performance worse in bit twiddling code.