From b1f022eafb05c6e27918b71369642f4426f9df30 Mon Sep 17 00:00:00 2001 From: Alberto Bertogli Date: Wed, 5 Oct 2005 16:04:10 +0000 Subject: [PATCH] Agregar scripts de generacion de graficos. --- tests/4ops.sh | 48 +++++++++++++++++++++ tests/plot | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++ tests/pot.sh | 33 ++++++++++++++ 3 files changed, 198 insertions(+) create mode 100644 tests/4ops.sh create mode 100644 tests/plot create mode 100644 tests/pot.sh diff --git a/tests/4ops.sh b/tests/4ops.sh new file mode 100644 index 0000000..8f6813d --- /dev/null +++ b/tests/4ops.sh @@ -0,0 +1,48 @@ +#!/bin/bash + +SAMPLES=3 +MAXD=1001 +STEP=50 + +#SAMPLES=2 +#MAXD=201 +#STEP=100 + +mkdir files + +for op in '+' '-' '*' 'k'; do + + # generar los archivos + for i in `seq 1 $SAMPLES`; do + for j in `seq 1 $STEP $MAXD`; do + echo $i $j; + ./generador.py $j "$op" $j > "files/op_$op-$j-$i"; + done; + done; + + # correrlos + for i in `seq 1 $SAMPLES`; do + for j in `seq 1 $STEP $MAXD`; do + echo $i $j; + { time ../src/tdatp1 \ + "files/op_$op-$j-$i" "files/op_$op-$j-$i.out" + } 2> "files/op_$op-$j-$i.time"; + done; + done; + + # armar las tablas + for i in `seq 1 $SAMPLES`; do + for j in `seq 1 $STEP $MAXD`; do + echo $i $j; + FILE="files/op_$op-$j-$i.time" + RT=`cat $FILE | grep real | cut -d ' ' -f 2` + # asumimos que nunca hay minutos, solo segundos + RT=`echo $RT | cut -d 'm' -f 2 | cut -d 's' -f 1` + echo "$j $RT" >> "files/op_$op.times" + done; + done; + +done + +mv files files-4op + diff --git a/tests/plot b/tests/plot new file mode 100644 index 0000000..3ef085f --- /dev/null +++ b/tests/plot @@ -0,0 +1,117 @@ + +# Este es un archivo para el gnuplot, que grafica todos los datos obtenidos +# previamente con los scripts correspondientes. + + +set terminal postscript + +set xtics +set mxtics 2 +set ytics +set mytics 2 +set grid xtics ytics mxtics mytics + +# +# Operaciones basicas +# + +# Solitarios + +set key off + + +set autoscale +set title "Multiplicacion normal" +set output "graficos/mult_naif.ps" +set xlabel "Cantidad de digitos en ambos operandos" +set ylabel "Tiempo (segundos)" +set xrange[0:1010] +plot 'files-4op/op_*.times' + +set autoscale +set title "Multiplicacion Karatsuba-Ofman" +set output "graficos/mult_ko.ps" +set xlabel "Cantidad de digitos en ambos operandos" +set ylabel "Tiempo (segundos)" +set xrange[0:1010] +plot 'files-4op/op_k.times' + +set autoscale +set title "Suma" +set output "graficos/suma.ps" +set xlabel "Cantidad de digitos en ambos operandos" +set ylabel "Tiempo (segundos)" +set xrange[0:1010] +plot 'files-4op/op_+.times' + +set autoscale +set title "Resta" +set output "graficos/resta.ps" +set xlabel "Cantidad de digitos en ambos operandos" +set ylabel "Tiempo (segundos)" +set xrange[0:1010] +plot 'files-4op/op_-.times' + + +# Combinados + +set key on +set key bottom + +set autoscale +set title "Suma y resta" +set output "graficos/suma_resta.ps" +set xlabel "Cantidad de digitos en ambos operandos" +set ylabel "Tiempo (segundos)" +set xrange[0:1010] +plot 'files-4op/op_+.times' title "Suma", 'files-4op/op_-.times' title "Resta" + +set autoscale +set title "Multiplicacion Karatsuba-Ofman y comun" +set output "graficos/multis.ps" +set xlabel "Cantidad de digitos en ambos operandos" +set ylabel "Tiempo (segundos)" +set xrange[0:1010] +plot 'files-4op/op_*.times' title "Comun", 'files-4op/op_k.times' title "K-O" + + +# +# Potencias +# + +# Solitarios + +set key off + + +set autoscale +set title "Exponenciacion (normal) del numero 1234567890" +set output "graficos/pot-n.ps" +set xlabel "Exponente" +set ylabel "Tiempo (segundos)" +set xrange[0:2010] +plot 'files-^/times' + +set autoscale +set title "Exponenciacion (K-O) del numero 1234567890" +set output "graficos/pot-k.ps" +set xlabel "Exponente" +set ylabel "Tiempo (segundos)" +set xrange[0:2010] +plot 'files-q/times' + + +# Combinados + +set key on +set key bottom + +set autoscale +set title "Exponenciacion del numero 1234567890" +set output "graficos/pot-comb.ps" +set xlabel "Exponente" +set ylabel "Tiempo (segundos)" +set xrange[0:2010] +plot 'files-q/times' title "Karatsuba-Ofman", 'files-^/times' title "Normal" + + diff --git a/tests/pot.sh b/tests/pot.sh new file mode 100644 index 0000000..01dc533 --- /dev/null +++ b/tests/pot.sh @@ -0,0 +1,33 @@ +#!/bin/bash + + +for op in "^" "q"; do + mkdir "files-$op" + + SEQ=`seq 20 20 2001` + + # genero los archivos + #./consecutivos.py 1234567890 "$op" 10 20 1000 "files-$op/" + for i in $SEQ; do + echo "1234567890 $op $i" > "files-$op/$i" + done + + # los corro + for i in $SEQ; do + echo "$i"; + F="files-$op/$i" + { time ../src/tdatp1 "$F" "$F.out";} 2> "$F.time"; + done + + # armo las tablas + for i in $SEQ; do + echo "$i"; + F="files-$op/$i.time" + RT=`cat $F | grep real | cut -d ' ' -f 2` + RT=`echo $RT | cut -d 'm' -f 2 | cut -d 's' -f 1` + echo "$i $RT" >> "files-$op/times" + done; + +done; + + -- 2.43.0