#61: Investigate using an external hash library
---------------------+------------------------------------------------------
 Reporter:  coke     |       Owner:  cotto
     Type:  RFC      |      Status:  new  
 Priority:  minor    |   Milestone:       
Component:  library  |     Version:       
 Severity:  low      |    Keywords:  hash 
     Lang:           |       Patch:       
 Platform:  all      |  
---------------------+------------------------------------------------------
Changes (by whiteknight):

  * keywords:  gci => hash
  * owner:  whiteknight => cotto
  * priority:  normal => minor
  * platform:  => all


Comment:

 From GCI student Atanas:

  - LIBHASHISH - http://libhashish.sourceforge.net/
  - CMPH - http://cmph.sourceforge.net/
  - Mhash - http://mhash.sourceforge.net/
  - LSHKIT - http://lshkit.sourceforge.net/

 > I checked some hashing libraries and I chose the following:
 >
 > LIBHASHISH
 >
 > - Build-in key support for char arrays (strings) and uint_{8,16,32}
 types and support for own (possible complex) key data types
 > - Support rbtree's as collision strategy instead of bucked lists (avoid
 worst case O(n) scenario)
 > - Dynamic or manual adjustable table size (reordering if proportion
 entries/table_size is unfavorable)
 > - Build as an static or dynamic library (.a and .so)
 > - Iterator support (equivalent to ruby's hash.each() method)
 > - Thread clean - fine-grained lock mechanisms (mutex locks, reader
 writer locks, ...)
 > - Bloom filter implementation
 > - Many built-in hash algorithms (from trivial algorithms till
 cryptographic ones)
 > - Architecture clean - runs on 32bit machines as well as 64bit machines
 > - As lightweight as possible - no bloated code
 > - Makefile test target plus benchmark applications for comparing the
 different hashing algorithm
 > - Dual licensed under the GNU General Public and BSD License
 >
 > Website is http://libhashish.sourceforge.net/. I think this is the best
 hashing library for your project.

 So there's that input. I'm going to reassign this RFC to cotto while we
 figure out if we want to move to a new hashing library and, if so, which
 one.

-- 
Ticket URL: <https://trac.parrot.org/parrot/ticket/61#comment:4>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets

Reply via email to