[Haskell-cafe] Three Google Summer of Code project proposals

Johan Tibell johan.tibell at gmail.com
Mon Mar 21 06:22:55 CET 2011


I'd like to advertise three Google Summer of Code projects that I
recently added to the list [1] of proposed projects:

*** Build multiple Cabal packages in parallel ***

Many developers have multi-core machines but Cabal runs the build
process in a single thread, only making use of one core. If the build
process could be parallelized build times could be cut by perhaps a
factor of 2-8, depending on the number of cores and opportunity of
parallel execution available.

*** Simpler support for isolated/sandboxed Cabal builds ***

cabal-dev and capri allow developers to build packages in their own
sandboxes, using a separate package database for each. This allows for
isolated builds and prevents breakages due e.g. package upgrades.
Merging cabal-dev into Cabal allows us to share lots of code and makes
the feature more accessible to developers.

*** Convert the text package to use UTF-8 internally ***

When the text package was created, early benchmarks showed that using
UTF-16 as the internal representation for Unicode code points was the
fastest. The package still uses UTF-16 internally.

The benchmarks might not have given a complete picture of the
performance implications of using different internal encodings: all
benchmarks were run on input data that used the same encoding as used
internally, but most real world data uses UTF-8. If the benchmarks
would also have taken the cost of decoding and encoding from and to
UTF-8 the results might have been different. The goal of this project
is to revisit the choice of internal encoding.

I encourage any interested students to have a look at the three
proposals (and the other proposals on the list), discuss them on this
list, and sign up for GSoC (after March 28).

1. http://hackage.haskell.org/trac/summer-of-code/report/1


More information about the Haskell-Cafe mailing list