# Poco

# class HashStatistic

Library: Foundation
Package: Hashing
Header: Poco/HashStatistic.h

## Description

HashStatistic class bundles statistical information on the current state of a HashTable

## Member Summary

Member Functions: avgEntriesPerHash, avgEntriesPerHashExclZeroEntries, detailedEntriesPerHash, maxEntriesPerHash, maxPositionsOfTable, numberOfEntries, numberOfZeroPositions, toString

## Constructors

### HashStatistic

HashStatistic(
UInt32 tableSize,
UInt32 numEntries,
UInt32 numZeroEntries,
UInt32 maxEntry,
std::vector < UInt32 > details = std::vector < UInt32 > ()
);

Creates the HashStatistic.

## Destructor

### ~HashStatistic

virtual ~HashStatistic();

Destroys the HashStatistic.

## Member Functions

### avgEntriesPerHash

double avgEntriesPerHash() const;

Returns the average number of entries per position in the Hashtable, the higher this value the less efficient performs hashing. If a large value is returned and getNumberOfZeroPositions also returns a large value, this indicates an inefficient hashing function. If the number of zero entries is low, resizing the HashTable, should be enough to improve performance

### avgEntriesPerHashExclZeroEntries

double avgEntriesPerHashExclZeroEntries() const;

Same as getAvgEntriesPerHash but hash values that contain no entry are ignored, getAvgEntriesPerHashExclZeroEntries >= getAvgEntriesPerHash will always be true.

### detailedEntriesPerHash

const std::vector < UInt32 > detailedEntriesPerHash() const;

Will either be an empty vector or will contain for each possible hash value, the number of entries currently stored

### maxEntriesPerHash

UInt32 maxEntriesPerHash() const;

Returns the maximum number of entries per hash value found in the current table.

### maxPositionsOfTable

UInt32 maxPositionsOfTable() const;

Returns the maximum number of different hash values possible for the table

### numberOfEntries

UInt32 numberOfEntries() const;

Returns the total number of entries currently stored in the HashTable

### numberOfZeroPositions

UInt32 numberOfZeroPositions() const;

Returns the number of hash positions that contain no entry.

### toString

std::string toString() const;

Converts the whole data structure into a string.