]> git.llucax.com Git - z.facultad/75.29/dale.git/commitdiff
Agregar scripts de generacion de graficos.
authorAlberto Bertogli <albertogli@telpin.com.ar>
Wed, 5 Oct 2005 16:04:10 +0000 (16:04 +0000)
committerAlberto Bertogli <albertogli@telpin.com.ar>
Wed, 5 Oct 2005 16:04:10 +0000 (16:04 +0000)
tests/4ops.sh [new file with mode: 0644]
tests/plot [new file with mode: 0644]
tests/pot.sh [new file with mode: 0644]

diff --git a/tests/4ops.sh b/tests/4ops.sh
new file mode 100644 (file)
index 0000000..8f6813d
--- /dev/null
@@ -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 (file)
index 0000000..3ef085f
--- /dev/null
@@ -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 (file)
index 0000000..01dc533
--- /dev/null
@@ -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;
+
+