# HI-Sky: Hash Index-Based Skyline Query Processing
## 4 Performance Evaluation
### Experimental Environment  
Datasets are important for the evaluation of skyline query methods. Therefore, to determine a fair performance, datasets were generated using the generator proposed by [PERSON] et al. [15]. To simulate various scenarios, we generated various distributions, such as anti-correlated (correlation: \(-0.5\)), independent, and correlated (correlation: \(0.5\)) datasets. Each dataset consists of four, eight, twelve, and sixteen dimensions. All datasets had 10 K (ten thousand), 100 K (one hundred thousand), 1 M (one million), and 10 M (ten million) data points to demonstrate the scalability of the proposed method. For experiments, we separated datasets into two types, one of which contains integer values whereas the other contains real values. Integer datasets used a range of [0, 1023] whereas real value datasets used a range of [0, 1] with up to 10 decimal places. Lastly, we also performed this experiment with a real dataset called the Gas Sensors for home activity monitoring [34]. This dataset has a size of 919 k and contains ten dimensions of real values. For real dataset experiments, we normalized the dataset to real values in the range of [0, 1].  
To evaluate our proposed method, we first experimented with the performance change of our method according to the np, and then we compared it with the state-of-the-art skyline query methods SFS [16; 17], BBS [6; 7], and Z-SKY [10; 11]. Traditionally, BBS is implemented using R-tree that constructs the overlapping structure. As the proposed method is a non-overlapping structure, we additionally performed experiments on quadtree-based BBS (BBS-Q). These experiments consisted of three factors of assessment as follows: indexing time, skyline computation time, and the number of dominance test calls. The indexing time refers to the total time taken to generate an index when data are entered sequentially. Skyline computation time shows the total time taken to request and complete the skyline query. The number of dominance test calls shows the dominance tests performed during the skyline query. HI-Sky, BBS-R, BBS-Q, and Z-SKY compute the skyline through indexing, whereas SFS does not use indexing. Therefore, indexing time was used only for HI-Sky, BBS-R, BBS-Q, and Z-SKY, whereas skyline computation time was measured by including preprocessing time. In other words, the SFS performs preprocessing to calculate entropy scores and sort the data according to the entropy score, and the HI-Sky performs preprocessing for data space pruning.  
All methods were implemented using VC++ 12.0, and the experiments were carried out on an Intel Core i7-6700 3.4 GHz processor with 64-bit Windows 10 and 16 GB of main memory. The original data and the index structure used in the experiments were all placed in the main memory to mitigate fluctuations in performance due to the influence of disk access speed. Finally, the maximum capacity of nodes for BBS-R, BBS-Q, Z-SKY, and HI-Sky was fixed at 64, and the np of HI-Sky was used as the maximum value obtained from Equation (1) when half of the maximum capacity was the minimum capacity.