Difference between revisions of "CamHac/PostHackathonReport"
< CamHac
Jump to navigation
Jump to search
Sebastiaan (talk | contribs) |
JohanTibell (talk | contribs) |
||
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 primops for bit population count. These primops compile down to `POPCNT` instructions where available and fast fallbacks (implemented in C) otherwise.
- 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.