ICDE2019 experiments

Signed-off-by: Lucas Fernandes de Oliveira's avatarLucas Fernandes de Oliveira <lfoliveira@inf.ufpr.br>
parent ba277989
Pipeline #17991 failed with stages
in 32 seconds

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

# [![BlenDB Logo](https://gitlab.c3sl.ufpr.br/c3sl/blendb/raw/master/artwork/logo-wide.png)](https://gitlab.c3sl.ufpr.br/c3sl/blendb)
[![Build Status](https://gitlab.c3sl.ufpr.br/c3sl/blendb/badges/master/build.svg)](https://gitlab.c3sl.ufpr.br/c3sl/blendb/commits/master)
[![Coverage Report](https://gitlab.c3sl.ufpr.br/c3sl/blendb/badges/master/coverage.svg)](https://gitlab.c3sl.ufpr.br/c3sl/blendb/builds)
<p align="center">
<b><a href="#getting-started">Getting Started</a></b>
|
<b><a href="#api-reference">API Reference</a></b>
|
<b><a href="#contributing">Contributing</a></b>
|
<b><a href="#license">License</a></b>
|
<b><a href="#built-with">Built With</a></b>
</p>
## WARNING
This branch has been frozen in the version used to perform the experiments to
ICDE2019 Conference. This version of the source code is EXACTLY the same used
in the experiments. To the most recent version, check out the develop branch.
To the last stable version, check out the master branch.
<br/>
## Experiment method
## Getting Started
All experiment data, analysis and extraction tools are contained in the
**experiments** diretory. The remaining files are the original source code
of BlenDB, use in the experiments.
### Installing
The test tool can be used to test the performance of any function in
BlenDB source code.
```
git clone https://gitlab.c3sl.ufpr.br/c3sl/blendb.git
npm install
```
The results of the experiments are the performance of the functions:
### Running
Engine.query()
Adapter.getDataFromView()
```
npm start
```
To better understand BlenDB check out the other branches.
## API Reference
## Schema Files
Check the documentation [here](https://gitlab.c3sl.ufpr.br/c3sl/blendb/raw/master/doc/api-v1-reference.html).
## Contributing
Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting merge requests to us.
## License
This project is licensed under the GPLv3 License -- see the [LICENSE](LICENSE) file for details
## Built With
| [![express](https://gitlab.c3sl.ufpr.br/c3sl/blendb/raw/master/artwork/built-with/express.png)](https://expressjs.com) | [![TypeScript](https://gitlab.c3sl.ufpr.br/c3sl/blendb/raw/master/artwork/built-with/typescript.png)](https://www.typescriptlang.org/) | [![RAML](https://gitlab.c3sl.ufpr.br/c3sl/blendb/raw/master/artwork/built-with/raml.png)](http://raml.org/) |
|:---:|:---:|:---:|
|express|TypeScript|RAML|
The schema file were very large and removed from the branch, however
they can be easyly generated using the script **genGraph.sh** and
**testGen.sh**
#!/usr/bin/env Rscript
opt <- commandArgs(TRUE)
if( length(opt) == 0 ) {
stop("Passe o nome do arquivo com uma coluna de valores.")
}
ConfidenceInterval <- function(conf, avg, sde, size) {
error <- qnorm(conf) * sde / sqrt(size)
left <- avg - error
right <- avg + error
return( list("left" = left, "right" = right) )
}
vals <- read.table(opt, header=FALSE, sep=" ")[,2]
un_vals <- unlist(vals)
avg <- mean(un_vals)
median <- median(un_vals)
sde <- sd(un_vals)
vari <- var(un_vals)
cv <- sde / avg
mi <- min(un_vals)
ma <- max(un_vals)
message(paste("Media =", round(avg, 2)))
message(paste("Mediana =", round(median, 2)))
message(paste("Variancia =", round(vari, 2)))
message(paste("Desvio Padrao =", round(sde, 2)))
message(paste("Coef. Variacao =", round(cv, 2)))
message(paste("Min =", mi))
message(paste("Max =", ma))
lr <- ConfidenceInterval(0.95, avg, sde, length(un_vals))
# message("Intervalo de confianca")
message(paste("Esq, Dir. =", round(lr$left, 4), ",", round(lr$right, 4)))
#! /bin/bash
dirList="2018-09-27"
outputLinearView="results/linearView.csv"
outputLinearSQL="results/linearSQL.csv"
files=""
for dir in $dirList; do
files="$files $(find $dir | grep '.test')"
done
for file in $files; do
cat $file | grep 'LayoutView' | grep 'ms)' | cut -d';' -f2 > tmp.tmp
header=$(cat tmp.tmp | cut -d' ' -f1 | cut -d'=' -f2| tr '\n' ';' | sed -e 's/;$//')
line=$(cat tmp.tmp | cut -d' ' -f2 | sed -e 's/m\|s\|(\|)//g' | tr '\n' ';' | sed -e 's/;$//')
touch $outputLinearView
fileHeader=$(head -n1 $outputLinearView)
if [[ $header == $fileHeader ]]; then
echo "$line" >> $outputLinearView
else
if [[ $(wc -l $outputLinearView) -eq 0 ]]; then
echo "$header" > $outputLinearView
echo "$line" >> $outputLinearView
fi
fi
rm tmp.tmp
done
Media = 696.9
Mediana = 693.5
Variancia = 2106.52
Desvio Padrao = 45.9
Coef. Variacao = 0.07
Min = 615
Max = 826
Esq, Dir. = 680.0191 , 713.7809
1024 736
1024 679
1024 826
1024 700
1024 679
1024 686
1024 661
1024 735
1024 687
1024 730
1024 635
1024 615
1024 667
1024 711
1024 722
1024 732
1024 714
1024 709
1024 659
1024 655
Media = 909.7
Mediana = 911
Variancia = 1848.96
Desvio Padrao = 43
Coef. Variacao = 0.05
Min = 833
Max = 987
Esq, Dir. = 893.8848 , 925.5152
1024 987
1024 863
1024 900
1024 856
1024 949
1024 885
1024 936
1024 921
1024 833
1024 875
1024 859
1024 973
1024 942
1024 868
1024 914
1024 925
1024 975
1024 908
1024 908
1024 917
Media = 1650.85
Mediana = 1620.5
Variancia = 10177.08
Desvio Padrao = 100.88
Coef. Variacao = 0.06
Min = 1514
Max = 1855