An open API service indexing awesome lists of open source software.

https://github.com/srijanshetty/va-file

Implementation of an n dimensional va (vector approximation) file in C++
https://github.com/srijanshetty/va-file

Last synced: about 2 months ago
JSON representation

Implementation of an n dimensional va (vector approximation) file in C++

Awesome Lists containing this project

README

        

# VAFile

## Results
- The computed time is in microseconds.

### VAFile

**Uniform Distribution**

QUERY | MAX | MIN | AVG | STD
------ | ------ | ----- | --------- | --------
1 | 115882 | 98666 | 103254 | 248.6
2 | 134572 | 100186 | 105565 | 448.3
3 | 304390 | 168004 | 280348 | 328.9

**Exp Distribution**

QUERY | MAX | MIN | AVG | STD
------ | ------ | ----- | --------- | --------
1 | 155766 | 95727 | 108512 | 3272.5
2 | 155044 | 97024 | 106746 | 467.8
3 | 395127 | 233080 | 297905 | 5135.1

### Linear Array

** Uniform Distribution**

QUERY | MAX | MIN | AVG | STD
------ | ------ | ----- | --------- | --------
1 | 12411 | 9089 | 9728.65 | 3.565
2 | 11248 | 9159 | 9722.29 | 16.629
3 | 11708 | 9293 | 10168.5 | 9.25

**Exp Distribution**

QUERY | MAX | MIN | AVG | STD
------ | ------ | ----- | --------- | --------
1 | 11245 | 9050 | 9710.3 | 20.43
2 | 10658 | 9109 | 9714.59 | 17.041
3 | 15306 | 9419 | 10373 | 23.2

## Observations

**Linear Array vs VA-file**
- The experiments match our intuition that linear array outperforms a VA File as there is no unnecessary overhead of disk access in the case of linear array. (This observation is without the pre-loading of the file to memory)

**Optimizations**
- Pre-loading the file to memory saves quite a lot of time and the performance is comparable to linear array in such a case.

**Effect of Distribution**
- The average case performance remains the same while the standard deviations increase by an order of magnitude.

## INSTALL

- Tree parameters are defined in *[config.h]*(config.h).

- To build a new tree one can run:

$ ./configure.sh
$ make

- The configuration for computing time/output is:

// #define OUTPUT
#define TIME

- To run either LinearArray or VAFile, the configuration is:

// #define LINEAR
#define VA