Commit 310ba1ab authored by david's avatar david
Browse files

Correction Jawher

parent a96c4e67
......@@ -44,9 +44,9 @@ int main(int argc, char ** argv){
fprintf(stderr, "Standard deviation: %Lf\n", get_standard_deviation(time_analysis));
// Sauvegarde les données de l'expérience.
save_values(time_analysis, "../plots/dynamic_array_time_c.plot");
save_values(copy_analysis, "../plots/dynamic_array_copy_c.plot");
save_values(memory_analysis, "../plots/dynamic_array_memory_c.plot");
save_values(time_analysis, "../plots/dynamic_array_time_c_alpha_2.plot");
save_values(copy_analysis, "../plots/dynamic_array_copy_c_alpha_2.plot");
save_values(memory_analysis, "../plots/dynamic_array_memory_c_alpha_2.plot");
// Nettoyage de la mémoire avant la sortie du programme
arraylist_destroy(a);
......
......@@ -45,9 +45,9 @@ int main(int argc, char ** argv){
std::cerr<<"Standard deviation :"<<time_analysis.get_standard_deviation()<<std::endl;
// Sauvegarde les données de l'expérience.
time_analysis.save_values("../plots/dynamic_array_time_cpp.plot");
copy_analysis.save_values("../plots/dynamic_array_copy_cpp.plot");
memory_analysis.save_values("../plots/dynamic_array_memory_cpp.plot");
time_analysis.save_values("../plots/dynamic_array_time_cpp_alpha_2.plot");
copy_analysis.save_values("../plots/dynamic_array_copy_cpp_alpha_2.plot");
memory_analysis.save_values("../plots/dynamic_array_memory_cpp_alpha_2.plot");
return 0;
}
......
......@@ -90,8 +90,8 @@ public class ArrayList<T> {
Cette fonction augmente la capacité du tableau.
*/
private void enlarge_capacity(){
data = java.util.Arrays.copyOf(data, capacity*2);
capacity *= 2;
data = java.util.Arrays.copyOf(data, capacity);
}
/**
......
......@@ -39,8 +39,8 @@ public class Main {
System.err.println("Standard deviation :"+time_analysis.get_standard_deviation());
// Sauvegarde les données de l'expérience: temps et nombre de copies effectuées par opération.
time_analysis.save_values("../plots/dynamic_array_time_java.plot");
copy_analysis.save_values("../plots/dynamic_array_copy_java.plot");
memory_analysis.save_values("../plots/dynamic_array_memory_java.plot");
time_analysis.save_values("../plots/dynamic_array_time_java_alpha_2.plot");
copy_analysis.save_values("../plots/dynamic_array_copy_java_alpha_2.plot");
memory_analysis.save_values("../plots/dynamic_array_memory_java_alpha_2.plot");
}
}
# -- coding: utf-8 --
import math
# Classe utilisee pour faire des statistiques elementaires
......
# -- coding: utf-8 --
import time
import sys
......@@ -9,18 +10,19 @@ a = []
time_analysis = Analyzer();
# Analyse de la mémoire gaspillée à un instant t.
memory_analysis = Analyzer();
# Analyse de la mémoire gaspillée à un instant t.
# Analyse du nombre de copies effectuées à un instant t.
copy_analysis = Analyzer();
# Taille supposée de l'en-tête d'une list en Python
__list_header_size__ = 64
__list_header_size__ = 56
# Taille supposée d'une entrée dans une list en Python
__list_entry_size__ = 8
wasted_memory = sys.getsizeof(a)-__list_header_size__
for i in range(1000000):
for i in range(100):
previous_size = sys.getsizeof(a)
before = time.time()
a.append(i)
after = time.time()
......@@ -30,12 +32,12 @@ for i in range(1000000):
# Enregistrement du nombre de copie effectuées par l'opération
# S'il n'y avait pas d'espace gaspillé à l'étape précédente,
# alors une réallocation a eu lieu à cette étape.
if wasted_memory == 0:
if sys.getsizeof(a) > previous_size:
copy_analysis.append(i+1)
else:
copy_analysis.append(1)
# Enregistrement de l'espace mémoire gaspillé à un instant donné
wasted_memory = sys.getsizeof(a)-__list_header_size__ - __list_entry_size__*i
wasted_memory = sys.getsizeof(a)-__list_header_size__ - __list_entry_size__*(i+1)
memory_analysis.append(wasted_memory)
# Affichage de quelques statistiques sur l'experience.
......@@ -45,6 +47,6 @@ sys.stderr.write("Variance :" + str(time_analysis.get_variance())+"\n")
sys.stderr.write("Standard deviation :" + str(time_analysis.get_standard_deviation())+"\n")
# Sauvegarde les donnees de l'experience.
time_analysis.save_values("../plots/dynamic_array_time_python.plot")
memory_analysis.save_values("../plots/dynamic_array_memory_python.plot")
copy_analysis.save_values("../plots/dynamic_array_copy_python.plot")
time_analysis.save_values("../plots/dynamic_array_time_python_alpha_2.plot")
memory_analysis.save_values("../plots/dynamic_array_memory_python_alpha_2.plot")
copy_analysis.save_values("../plots/dynamic_array_copy_python_alpha_2.plot")
......@@ -35,7 +35,7 @@ Si n'êtes pas dans la branche tp1, tapez
Le nom de votre branche est constitué de vos numéros d'étudiants séparés par un `_`
`git checkout -b NUMERO1_NUMERO2`
`git checkout -b tp1_NUMERO1_NUMERO2`
### Ajoutez un fichier `AUTHORS.md` à votre branche
......@@ -48,7 +48,7 @@ Ajoutez ensuite ce fichier au projet
`git commit -am "Ajout du fichier AUTHORS.md"`
### Poussez votre branche sur gitlab
`git push`
`git push -u origin tp1_NUMERO1_NUMERO2`
### Vérifiez sur gitlab
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment