Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
No results found
Show changes
Showing
with 487 additions and 0 deletions
File added
package p4a;
import java.util.Random;
public class MainLinkedListStdGet {
public static void main(String[] args) {
Random rnd = new Random();
LinkedListStd<Integer> linkedListStd = new LinkedListStd<Integer>();
int nbOperation = Integer.parseInt(args[0]);
for (int i = 0; i < nbOperation; i++) {
linkedListStd.ajout(0, i);
}
for (int i = 0; i < nbOperation; i++) {
linkedListStd.acces(rnd.nextInt(nbOperation));
}
}
}
File added
package p4a;
public class MainTableauPersoAdd {
public static void main(String[] args) {
int nbOperation = Integer.parseInt(args[0]);
TableauPerso tabStd = new TableauPerso(nbOperation);
for (int i = 0; i < nbOperation; i++) {
tabStd.ajout(0, i);
}
}
}
File added
package p4a;
public class MainTableauStdAdd {
public static void main(String[] args) {
int nbOperation = Integer.parseInt(args[0]);
TableauStd tabStd = new TableauStd(nbOperation);
for (int i = 0; i < nbOperation; i++) {
tabStd.ajout(0, i);
}
}
}
File added
package p4a;
import java.util.Random;
public class MainTableauStdGet {
public static void main(String[] args) {
Random rnd = new Random();
int nbOperation = Integer.parseInt(args[0]);
TableauStd tabStd = new TableauStd(nbOperation);
for (int i = 0; i < nbOperation; i++) {
tabStd.ajout(0, i);
}
for (int i = 0; i < nbOperation; i++) {
tabStd.acces(rnd.nextInt(nbOperation));
}
}
}
File added
package p4a;
public interface Structure {
public void ajout(Object element, int position);
public void suppression(int position);
public Object acces(int position);
}
File added
package p4a;
public class TableauPerso implements Structure{
private Object[] tableau;
private int nbElements;
public TableauPerso(int taille) {
if (taille < 0) {
throw new IllegalArgumentException("TableauPerso : taille negative " + taille);
}
this.tableau = new Object[taille];
nbElements = 0;
}
@Override
public void ajout(Object element, int position) {
if (position < 0 || position > nbElements) {
throw new IndexOutOfBoundsException("ajout : mauvais index " + position);
}
if (nbElements >= tableau.length) {
throw new IllegalStateException("ajout : tableau plein");
}
for (int i = nbElements; i > position; i--) {
tableau[i] = tableau[i - 1];
}
tableau[position] = element;
nbElements++;
}
@Override
public void suppression(int position) {
if (position < 0 || position >= nbElements) {
throw new IndexOutOfBoundsException("suppression : position incorrecte " + position);
}
for (int i = position + 1; i < nbElements; i++) {
tableau[i - 1] = tableau[i];
}
nbElements--;
}
@Override
public Object acces(int position) {
if (position > tableau.length || position < 0) {
throw new IllegalArgumentException("acces : position incorecte");
}
return tableau[position];
}
}
File added
package p4a;
public class TableauStd implements Structure {
private Object[] tableau;
public TableauStd(int taille) {
if (taille < 0) {
throw new IllegalArgumentException("TableauStd : taille negative " + taille);
}
this.tableau = new Object[taille];
}
@Override
public void ajout(Object element, int position) {
if (position > tableau.length) {
throw new UnsupportedOperationException("ajout : operation non supportee (taille depassee)");
}
else tableau[position] = element;
}
@Override
public void suppression(int position) {
throw new UnsupportedOperationException("suppression : operation non supportee");
}
@Override
public Object acces(int position) {
if (position > tableau.length || position < 0) {
throw new IllegalArgumentException("acces : position incorecte");
}
return tableau[position];
}
}
NbOperations,Version,CPU,Mem
100000,ArrayListStd,0.91,57108
100000,ArrayListStd,0.92,55820
100000,ArrayListStd,0.93,49876
100000,LinkedListStd,0.09,54392
100000,LinkedListStd,0.10,58128
100000,LinkedListStd,0.09,51884
100000,TableauStd,0.09,54912
100000,TableauStd,0.08,51800
100000,TableauStd,0.06,54408
125000,ArrayListStd,1.46,56624
125000,ArrayListStd,1.46,52944
125000,ArrayListStd,1.46,51648
125000,LinkedListStd,0.09,54288
125000,LinkedListStd,0.08,59224
125000,LinkedListStd,0.07,59332
125000,TableauStd,0.07,54460
125000,TableauStd,0.09,55764
125000,TableauStd,0.08,57932
150000,ArrayListStd,2.11,50224
150000,ArrayListStd,2.12,54908
150000,ArrayListStd,2.12,56948
150000,LinkedListStd,0.08,52072
150000,LinkedListStd,0.10,55716
150000,LinkedListStd,0.09,54236
150000,TableauStd,0.08,53528
150000,TableauStd,0.08,51816
150000,TableauStd,0.10,53452
175000,ArrayListStd,2.90,49916
175000,ArrayListStd,2.88,50140
175000,ArrayListStd,2.90,52136
175000,LinkedListStd,0.10,55940
175000,LinkedListStd,0.10,56400
175000,LinkedListStd,0.10,58184
175000,TableauStd,0.08,51252
175000,TableauStd,0.07,51736
175000,TableauStd,0.08,55900
200000,ArrayListStd,3.78,54852
200000,ArrayListStd,3.80,51924
200000,ArrayListStd,3.79,49696
200000,LinkedListStd,0.10,58176
200000,LinkedListStd,0.11,59136
200000,LinkedListStd,0.10,56108
200000,TableauStd,0.07,51492
200000,TableauStd,0.06,58952
200000,TableauStd,0.08,51460
225000,ArrayListStd,4.78,52188
225000,ArrayListStd,4.81,49824
225000,ArrayListStd,4.86,54564
225000,LinkedListStd,0.12,56824
225000,LinkedListStd,0.12,56280
225000,LinkedListStd,0.11,60244
225000,TableauStd,0.09,53536
225000,TableauStd,0.08,58924
225000,TableauStd,0.08,59044
250000,ArrayListStd,5.89,55992
250000,ArrayListStd,5.91,53988
250000,ArrayListStd,5.92,59084
250000,LinkedListStd,0.10,56292
250000,LinkedListStd,0.11,61284
250000,LinkedListStd,0.09,60560
250000,TableauStd,0.09,51772
250000,TableauStd,0.09,52048
250000,TableauStd,0.10,57988
275000,ArrayListStd,7.22,59104
275000,ArrayListStd,7.15,53912
275000,ArrayListStd,7.19,53868
275000,LinkedListStd,0.11,56400
275000,LinkedListStd,0.09,57916
275000,LinkedListStd,0.11,60212
275000,TableauStd,0.08,53836
275000,TableauStd,0.09,56948
275000,TableauStd,0.08,51920
300000,ArrayListStd,8.54,59052
300000,ArrayListStd,8.55,55952
300000,ArrayListStd,8.59,56108
300000,LinkedListStd,0.10,58008
300000,LinkedListStd,0.10,60300
300000,LinkedListStd,0.10,57920
300000,TableauStd,0.08,52528
300000,TableauStd,0.09,58884
300000,TableauStd,0.08,54716
#!/bin/bash
#Compare l'operation d'ajout en tete de liste sur les ArrayList / LinkedList / Tableaux standards
TESTS=3
STRUCT=3
NBOPERATIONS="100000 125000 150000 175000 200000 225000 250000 275000 300000"
echo "NbOperations,Version,CPU,Mem"
for nb in $NBOPERATIONS
do
for i in `seq $STRUCT`
do
for j in `seq $TESTS`
do
if [ $i = 1 ]
then
res=`(/usr/bin/time -f "%U,%M" java p4a.MainArrayListStdAddDebut $nb > /dev/null) 2>&1`
echo "$nb,ArrayListStd,$res"
elif [ $i = 2 ]
then
res=`(/usr/bin/time -f "%U,%M" java p4a.MainLinkedListStdAddDebut $nb > /dev/null) 2>&1`
echo "$nb,LinkedListStd,$res"
else
res=`(/usr/bin/time -f "%U,%M" java p4a.MainTableauStdAdd $nb > /dev/null) 2>&1`
echo "$nb,TableauStd,$res"
fi
done
done
done
\ No newline at end of file
NbOperations,Version,CPU,Mem
100000,ArrayListStd,0.09,51664
100000,ArrayListStd,0.09,53800
100000,ArrayListStd,0.08,51516
100000,LinkedListStd,0.08,53736
100000,LinkedListStd,0.09,53968
100000,LinkedListStd,0.08,55872
100000,TableauStd,0.08,58904
100000,TableauStd,0.08,53520
100000,TableauStd,0.08,51528
125000,ArrayListStd,0.09,49744
125000,ArrayListStd,0.09,51820
125000,ArrayListStd,0.08,51836
125000,LinkedListStd,0.10,53560
125000,LinkedListStd,0.10,52184
125000,LinkedListStd,0.09,51872
125000,TableauStd,0.07,58760
125000,TableauStd,0.09,51476
125000,TableauStd,0.06,58912
150000,ArrayListStd,0.09,55968
150000,ArrayListStd,0.09,53888
150000,ArrayListStd,0.08,51548
150000,LinkedListStd,0.09,55688
150000,LinkedListStd,0.10,52100
150000,LinkedListStd,0.10,57908
150000,TableauStd,0.07,53760
150000,TableauStd,0.08,53616
150000,TableauStd,0.07,53660
175000,ArrayListStd,0.09,51736
175000,ArrayListStd,0.08,49824
175000,ArrayListStd,0.09,54628
175000,LinkedListStd,0.09,57104
175000,LinkedListStd,0.10,56128
175000,LinkedListStd,0.09,56044
175000,TableauStd,0.07,52788
175000,TableauStd,0.07,51516
175000,TableauStd,0.08,57376
200000,ArrayListStd,0.09,51948
200000,ArrayListStd,0.10,51688
200000,ArrayListStd,0.08,49700
200000,LinkedListStd,0.10,53968
200000,LinkedListStd,0.09,56012
200000,LinkedListStd,0.09,57944
200000,TableauStd,0.07,57532
200000,TableauStd,0.09,53788
200000,TableauStd,0.07,49720
225000,ArrayListStd,0.10,54196
225000,ArrayListStd,0.08,56844
225000,ArrayListStd,0.09,54864
225000,LinkedListStd,0.09,61076
225000,LinkedListStd,0.09,58000
225000,LinkedListStd,0.10,58892
225000,TableauStd,0.09,53724
225000,TableauStd,0.08,53656
225000,TableauStd,0.10,49600
250000,ArrayListStd,0.09,57248
250000,ArrayListStd,0.09,53960
250000,ArrayListStd,0.09,51932
250000,LinkedListStd,0.09,63216
250000,LinkedListStd,0.11,59220
250000,LinkedListStd,0.09,58040
250000,TableauStd,0.09,58944
250000,TableauStd,0.11,53544
250000,TableauStd,0.09,56824
275000,ArrayListStd,0.09,53824
275000,ArrayListStd,0.09,56900
275000,ArrayListStd,0.09,57132
275000,LinkedListStd,0.10,63244
275000,LinkedListStd,0.10,58188
275000,LinkedListStd,0.10,58272
275000,TableauStd,0.09,49784
275000,TableauStd,0.09,51316
275000,TableauStd,0.09,51508
300000,ArrayListStd,0.08,55912
300000,ArrayListStd,0.11,57128
300000,ArrayListStd,0.09,53964
300000,LinkedListStd,0.09,59596
300000,LinkedListStd,0.09,55816
300000,LinkedListStd,0.10,63244
300000,TableauStd,0.10,49928
300000,TableauStd,0.08,53600
300000,TableauStd,0.10,58968
#!/bin/bash
#Compare l'operation d'ajout en fin de liste sur les ArrayList / LinkedList / Tableaux standards
TESTS=3
STRUCT=3
NBOPERATIONS="100000 125000 150000 175000 200000 225000 250000 275000 300000"
echo "NbOperations,Version,CPU,Mem"
for nb in $NBOPERATIONS
do
for i in `seq $STRUCT`
do
for j in `seq $TESTS`
do
if [ $i = 1 ]
then
res=`(/usr/bin/time -f "%U,%M" java p4a.MainArrayListStdAddFin $nb > /dev/null) 2>&1`
echo "$nb,ArrayListStd,$res"
elif [ $i = 2 ]
then
res=`(/usr/bin/time -f "%U,%M" java p4a.MainLinkedListStdAddFin $nb > /dev/null) 2>&1`
echo "$nb,LinkedListStd,$res"
else
res=`(/usr/bin/time -f "%U,%M" java p4a.MainTableauStdAdd $nb > /dev/null) 2>&1`
echo "$nb,TableauStd,$res"
fi
done
done
done
\ No newline at end of file
NbOperations,Version,CPU,Mem
100000,ArrayListStd,0.12,56068
100000,ArrayListStd,0.10,52240
100000,ArrayListStd,0.09,54204
100000,LinkedListStd,4.74,55488
100000,LinkedListStd,4.70,54688
100000,LinkedListStd,4.94,57620
100000,TableauStd,0.09,53772
100000,TableauStd,0.09,56852
100000,TableauStd,0.09,51808
125000,ArrayListStd,0.11,50292
125000,ArrayListStd,0.10,50484
125000,ArrayListStd,0.11,50308
125000,LinkedListStd,7.64,54148
125000,LinkedListStd,7.34,54096
125000,LinkedListStd,7.51,56424
125000,TableauStd,0.09,55024
125000,TableauStd,0.08,57868
125000,TableauStd,0.08,53936
150000,ArrayListStd,0.11,53692
150000,ArrayListStd,0.11,55412
150000,ArrayListStd,0.13,55516
150000,LinkedListStd,10.69,58084
150000,LinkedListStd,10.72,52332
150000,LinkedListStd,10.78,60348
150000,TableauStd,0.09,52060
150000,TableauStd,0.08,54056
150000,TableauStd,0.08,55020
175000,ArrayListStd,0.09,53716
175000,ArrayListStd,0.14,50040
175000,ArrayListStd,0.13,52112
175000,LinkedListStd,14.51,58932
175000,LinkedListStd,14.57,59212
175000,LinkedListStd,14.56,58976
175000,TableauStd,0.10,56016
175000,TableauStd,0.09,53912
175000,TableauStd,0.09,57884
200000,ArrayListStd,0.12,55584
200000,ArrayListStd,0.11,56284
200000,ArrayListStd,0.11,50124
200000,LinkedListStd,18.30,57288
200000,LinkedListStd,18.34,54536
200000,LinkedListStd,18.20,59028
200000,TableauStd,0.09,52028
200000,TableauStd,0.09,57244
200000,TableauStd,0.09,54008
225000,ArrayListStd,0.11,52876
225000,ArrayListStd,0.14,54164
225000,ArrayListStd,0.12,52068
225000,LinkedListStd,24.21,58432
225000,LinkedListStd,23.34,60312
225000,LinkedListStd,24.12,55840
225000,TableauStd,0.09,53820
225000,TableauStd,0.10,53640
225000,TableauStd,0.10,51732
250000,ArrayListStd,0.12,54292
250000,ArrayListStd,0.11,52232
250000,ArrayListStd,0.10,57188
250000,LinkedListStd,29.91,56488
250000,LinkedListStd,29.78,56324
250000,LinkedListStd,29.59,64284
250000,TableauStd,0.11,57196
250000,TableauStd,0.12,55020
250000,TableauStd,0.11,54200
275000,ArrayListStd,0.14,54520
275000,ArrayListStd,0.14,54568
275000,ArrayListStd,0.13,53824
275000,LinkedListStd,35.86,58480
275000,LinkedListStd,35.86,58620
275000,LinkedListStd,35.94,58300
275000,TableauStd,0.10,54528
275000,TableauStd,0.11,53972
275000,TableauStd,0.11,56948
300000,ArrayListStd,0.13,57200
300000,ArrayListStd,0.13,61268
300000,ArrayListStd,0.12,52220
300000,LinkedListStd,42.29,58992
300000,LinkedListStd,42.12,57088
300000,LinkedListStd,42.33,64224
300000,TableauStd,0.09,53736
300000,TableauStd,0.11,53924
300000,TableauStd,0.09,51888
#!/bin/bash
#Compare l'operation d'acces de valeur aleatoire sur les ArrayList / LinkedList / Tableaux standards
TESTS=3
STRUCT=3
NBOPERATIONS="100000 125000 150000 175000 200000 225000 250000 275000 300000"
echo "NbOperations,Version,CPU,Mem"
for nb in $NBOPERATIONS
do
for i in `seq $STRUCT`
do
for j in `seq $TESTS`
do
if [ $i = 1 ]
then
res=`(/usr/bin/time -f "%U,%M" java p4a.MainArrayListStdGet $nb > /dev/null) 2>&1`
echo "$nb,ArrayListStd,$res"
elif [ $i = 2 ]
then
res=`(/usr/bin/time -f "%U,%M" java p4a.MainLinkedListStdGet $nb > /dev/null) 2>&1`
echo "$nb,LinkedListStd,$res"
else
res=`(/usr/bin/time -f "%U,%M" java p4a.MainTableauStdGet $nb > /dev/null) 2>&1`
echo "$nb,TableauStd,$res"
fi
done
done
done
\ No newline at end of file