Difference between revisions of "CamHac/PostHackathonReport"
< CamHac
Jump to navigation
Jump to search
JohanTibell (talk | contribs) |
JohanTibell (talk | contribs) |
||
Line 16: | Line 16: | ||
* [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. |
* [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. |
||
+ | |||
+ | * Discussed unpacking of enums in GHC (not yet implemented). |
Revision as of 11:21, 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.
- Discussed unpacking of enums in GHC (not yet implemented).