diff --git a/P4A/src/LinkedListCPU.png b/P4A/src/LinkedListCPU.png new file mode 100644 index 0000000000000000000000000000000000000000..649daf2bd4d836de7fe0749a91947d59ae6a6cac Binary files /dev/null and b/P4A/src/LinkedListCPU.png differ diff --git a/P4A/src/comparaison_CPU_ajout_LinkedList_ArrayList_Standard.png b/P4A/src/comparaison_CPU_ajout_LinkedList_ArrayList_Standard.png new file mode 100644 index 0000000000000000000000000000000000000000..314026996e2600ac21663ce63ffbea4da808a655 Binary files /dev/null and b/P4A/src/comparaison_CPU_ajout_LinkedList_ArrayList_Standard.png differ diff --git a/P4A/src/p4a/MainArrayListStd.java b/P4A/src/p4a/MainArrayListStd.java index 790041b4e4f3b369915e6c75fc5f9e72fe36f864..b41d86d2dad2735087fb2f2daca8d0774aa14050 100644 --- a/P4A/src/p4a/MainArrayListStd.java +++ b/P4A/src/p4a/MainArrayListStd.java @@ -4,8 +4,9 @@ public class MainArrayListStd { public static void main(String[] args) { ArrayListStd<Integer> arrayListStd = new ArrayListStd<Integer>(); + int taille = Integer.parseInt(args[0]); - for (int i = 0; i < 100000; i++) { + for (int i = 0; i < taille; i++) { arrayListStd.ajout(i, 0); } diff --git a/P4A/src/p4a/MainLinkedListPerso.java b/P4A/src/p4a/MainLinkedListPerso.java new file mode 100755 index 0000000000000000000000000000000000000000..53b6aedb7910c09ae6a8cac7648390ceb9fba6a7 --- /dev/null +++ b/P4A/src/p4a/MainLinkedListPerso.java @@ -0,0 +1,16 @@ +package p4a; + +public class MainLinkedListPerso { + + public static void main(String[] args) { + + LinkedListPerso<Integer> linkedListStd = new LinkedListPerso<Integer>(); + int taille = Integer.parseInt(args[0]); + + for (int i = 0; i < taille; i++) { + linkedListStd.ajout(i, 0); + } + + + } +} diff --git a/P4A/src/p4a/MainLinkedListStd.java b/P4A/src/p4a/MainLinkedListStd.java new file mode 100755 index 0000000000000000000000000000000000000000..df45a6f551268b51cdc848bacf76c91810547858 --- /dev/null +++ b/P4A/src/p4a/MainLinkedListStd.java @@ -0,0 +1,15 @@ +package p4a; + +public class MainLinkedListStd { + + public static void main(String[] args) { + LinkedListStd<Integer> linkedListStd = new LinkedListStd<Integer>(); + int taille = Integer.parseInt(args[0]); + + for (int i = 0; i < taille; i++) { + linkedListStd.ajout(i, 0); + } + + } + +} diff --git a/P4A/src/perfLinkedArrayList.csv b/P4A/src/perfLinkedArrayList.csv new file mode 100644 index 0000000000000000000000000000000000000000..6f15301c3b58d97c46f5e9bb5e7ec02d12a5d206 --- /dev/null +++ b/P4A/src/perfLinkedArrayList.csv @@ -0,0 +1,7 @@ +Taille,Version,CPU,Mem +100000,ArrayListStd,0.93,53940 +100000,LinkedListStd,0.09,58976 +200000,ArrayListStd,3.76,61608 +200000,LinkedListStd,0.10,58392 +500000,ArrayListStd,23.81,66520 +500000,LinkedListStd,0.10,75740 diff --git a/P4A/src/perfLinkedArrayList.sh b/P4A/src/perfLinkedArrayList.sh new file mode 100755 index 0000000000000000000000000000000000000000..12145988ed7390a603acfad36d04cac38c9e74cc --- /dev/null +++ b/P4A/src/perfLinkedArrayList.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +NTEST=2 +TAILLES="100000 200000 500000" +echo "Taille,Version,CPU,Mem" + +for taille in $TAILLES +do + for i in `seq $NTEST` + do + if [ $i = 1 ] + then + res=`(/usr/bin/time -f "%U,%M" java p4a.MainArrayListStd $taille > /dev/null) 2>&1` + echo "$taille,ArrayListStd,$res" + else + res=`(/usr/bin/time -f "%U,%M" java p4a.MainLinkedListStd $taille > /dev/null) 2>&1` + echo "$taille,LinkedListStd,$res" + fi + done +done \ No newline at end of file diff --git a/P4A/src/perfLinkedList.csv b/P4A/src/perfLinkedList.csv new file mode 100644 index 0000000000000000000000000000000000000000..7c6dceb535f50eb5c586280664b3171211c4a914 --- /dev/null +++ b/P4A/src/perfLinkedList.csv @@ -0,0 +1,9 @@ +Taille,Version,CPU,Mem +1000000,Standard,0.11,90904 +1000000,Perso,0.10,90812 +2000000,Standard,0.12,135160 +2000000,Perso,0.10,130076 +5000000,Standard,60.82,367332 +5000000,Perso,104.47,363560 +10000000,Standard,124.54,559092 +10000000,Perso,206.43,561180 diff --git a/P4A/src/perfLinkedList.sh b/P4A/src/perfLinkedList.sh new file mode 100755 index 0000000000000000000000000000000000000000..617e47da60109fae2e6ea14cd02c1e1a7394b991 --- /dev/null +++ b/P4A/src/perfLinkedList.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +NTEST=2 +TAILLES="1000000 2000000 5000000 10000000" +echo "Taille,Version,CPU,Mem" + +for taille in $TAILLES +do + for i in `seq $NTEST` + do + if [ $i = 1 ] + then + res=`(/usr/bin/time -f "%U,%M" java p4a.MainLinkedListStd $taille > /dev/null) 2>&1` + echo "$taille,Standard,$res" + else + res=`(/usr/bin/time -f "%U,%M" java p4a.MainLinkedListPerso $taille > /dev/null) 2>&1` + echo "$taille,Perso,$res" + fi + done +done \ No newline at end of file diff --git a/commandes b/commandes new file mode 100755 index 0000000000000000000000000000000000000000..3bff47c1aa0bc89a3bdf3b068bb4fdc541f73993 --- /dev/null +++ b/commandes @@ -0,0 +1,19 @@ +Compilation : +(dossier avec sources) +javac ./*.java +cd .. +java nomDossier.nomClasseMain + +R +perf <- read.csv("perf.csv") +library(ggplot2) + + +Comparaison LinkedList perso / standard : +CPU : ggplot(perf, aes(x=Taille,y=CPU, color=as.character(Version))) + geom_point() + geom_smooth(aes(group=Version)) + scale_color_discrete(name="Version") + ggtitle("Consommation CPU en fonction de la taille") + +Mem : ggplot(perf, aes(x=Taille,y=Mem, color=as.character(Test))) + geom_point() + geom_smooth(aes(group=Test)) + scale_color_discrete(name="Test") + +Comparaison LinkedListStd / ArrayListStd : + +ggplot(perf, aes(x=Taille,y=CPU, color=as.character(Version))) + geom_point() + geom_smooth(aes(group=Version)) + scale_color_discrete(name="Version") + ggtitle("Consommation CPU en fonction de la taille")