Performance Benchmark of Elastic Hashing and Open-Addressing Hash Tables
收藏资源简介:
# Benchmark Dataset: Hash-Table Performance and Hardware Counters ## Overview This dataset contains measurements from a benchmark of open-addressing hash-table schemes. The benchmark evaluates the performance of different hash-table configurations using CPU execution time and hardware performance counters. The benchmark varies the hash-table scheme, table capacity, and load factor. For each configuration, measurements were collected for insertion and lookup operations using both existing and missing keys. ## Experimental Design The following hash-table schemes were evaluated: * Linear probing* Quadratic probing* Double hashing* Elastic hashing* Robin Hood hashing* Cuckoo hashing* Hopscotch hashing Three parameters were varied: * **Hash-table scheme:** one of the seven schemes listed above* **Capacity:** powers of two from (2^7) through (2^{23})* **Load factor:** values between (0.50) and (0.85) For each combination of hash-table scheme, capacity, and load factor, four benchmark configurations were evaluated: 1. Insert a missing key2. Insert an existing key3. Search for a missing key4. Search for an existing key ## Measurements The benchmark records: * CPU execution time* Hardware performance counters All hardware performance counters available to the benchmark environment were collected. The individual measurements are stored directly in the JSON dataset rather than being reduced to summary statistics. ## Repetitions Each configuration was evaluated using **two independent trials**. Each trial consists of: * one initialized hash table,* 100 repetitions,* 10,000 benchmark iterations per repetition. For each repetition, a random list of keys is generated. The random seed used to generate the key list identifies the repetition and associates the key sequence with its corresponding randomized trial. The same hash-table instance is used throughout the repetitions of a trial. This preserves the configured table state while allowing the benchmark to evaluate different randomized key sequences. ## Data Organization The dataset consists of a single JSON file containing the benchmark measurements and associated metadata. The metadata identifies the hash-table configuration, benchmark operation, key type, capacity, load factor, and other relevant experimental information. The JSON file contains the corresponding CPU-time and hardware-counter measurements. ## Reproducibility The dataset contains the measurements collected during the benchmark runs and is intended to support the analysis presented in the associated bachelor's thesis. The benchmark configuration and execution metadata are included with the dataset to provide additional information about the environment in which the measurements were collected. The execution environment itself is not considered part of the experimental factors; the primary factors of interest are the hash-table scheme, capacity, and load factor. ## Intended Use This dataset can be used to: * reproduce the statistical analyses presented in the thesis,* compare the performance of the evaluated hash-table schemes,* investigate the effects of capacity and load factor,* analyze CPU execution time and hardware-counter measurements, and* perform independent statistical analyses of the benchmark results.



