Research and Recommend a hashing library for Parrot
completed by: Atanas Stefanov
Task Description: Parrot frequently needs to compute a hash or checksum of it's internal data types for comparison and for other reasons. Currently, Parrot does all these calculations itself, though the algorithms used are not always the best, and the implementations throughout the codebase are not always in sync with one other. This creates performance and maintenance problems.
We would like to consider using a third-party (open source) hashing library or follow an existing hashing algorithm instead of our current approach. We need a student to research existing hashing and checksumming library implementations and:
- Create a list of options with information about each, including notes about strengths, weaknesses, licensing, and other programs which use them
- Make a recommendation to the community about which library makes the most sense to use with Parrot
- Send both those two documents to the parrot-dev mailing list for review by the community.
Benefits: Parrot will gain several benefits from the use of a proper, high-quality hashing library. These include benefits to maintainability, performance, and consistency of results.
Requirements: Ability to search for existing projects. Basic understanding of what "hashing" is