BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Talks.cam//talks.cam.ac.uk//
X-WR-CALNAME:Talks.cam
BEGIN:VEVENT
SUMMARY:Hashing - Dietmar Kuhl\, Bloomberg
DTSTART:20181008T120500Z
DTEND:20181008T131500Z
UID:TALK110503@talks.cam.ac.uk
CONTACT:Jan Samols
DESCRIPTION:Hashing values is an important technique for efficient associa
 tive containers. It has multiple independent dimensions of considerations.
  None of these considerations is generally well understood. \n\nThis talk 
 scratches the surface of the following areas:\n\n• Using hash functions 
 for associative containers.\n• Hashing byte sequences into hash values a
 nd assessing the quality of hash functions.\n• Extracting byte sequences
  from values and hashing the resulting byte sequences.\n• Things to cons
 ider for a default hashing function.\n\nThe creation of containers and has
 hing functions is typically done by specialists. The primary intention of 
 discussing them is to give an idea why applications should stay away from 
 custom implementations.\n\nOn the other hand provision of hash values for 
 user-defined types is rather common-place to support their use as keys of 
 associative containers. Thus\, this talk will have an emphasis on the impo
 rtant aspects for providing hash values for user-defined types:\n\n• The
  relation between equality and hash values.\n• Taking care of sequences 
 to avoid collisions for empty sequences.\n• Interaction of hash values b
 etween different types ("transparency").\n\nThe code examples use C++. How
 ever\, the various considerations are language independent and their under
 standing will be useful when using other programming languages\, too.\n\nD
 ietmar Kuhl's - Profile:\n\nDietmar is a Senior Developer in the financial
  industry working at Bloomberg LP\, one of the moderators of comp.lang.c++
 .moderated\, and frequent attendee of the C++ committee meetings and the A
 CCU conferences (typically also presenting at ACCU).\n\n\n
LOCATION:FW26\, Computer Laboratory
END:VEVENT
END:VCALENDAR
