Skip to content
Snippets Groups Projects
Commit 310ba1ab authored by david's avatar david
Browse files

Correction Jawher

parent a96c4e67
No related branches found
No related tags found
No related merge requests found
Pipeline #705 failed
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment