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

virtual ~HashStatistic();

Destroys the HashStatistic.

Member Functions

avgEntriesPerHash inline

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 inline

double avgEntriesPerHashExclZeroEntries() const;

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

detailedEntriesPerHash inline

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 inline

UInt32 maxEntriesPerHash() const;

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

maxPositionsOfTable inline

UInt32 maxPositionsOfTable() const;

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

numberOfEntries inline

UInt32 numberOfEntries() const;

Returns the total number of entries currently stored in the HashTable

numberOfZeroPositions inline

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.