Je pense que T4 et T5 sont équivalents. Par contre T5 a l'avantage de ne pas créer d'autres tableaux, en ne travaillant que sur la version d'origine. Il faudrait faire le test avec 100 000 000 éléments.
Je pense que T4 et T5 sont équivalents. Par contre T5 a l'avantage de ne pas créer d'autres tableaux, en ne travaillant que sur la version d'origine. Il faudrait faire le test avec 100 000 000 éléments.
Thierry Leriche-Dessirier
Consultant Java JEE Web Agile freelance
Rédacteur pour Developpez
Professeur de Génie Logiciel à l'ESIEA
Site : http://www.icauda.com / Linked'in : http://www.linkedin.com/in/thierryler / Twitter : @ThierryLeriche
Je viens de tester T5 avec random list de 1000000 d'éléments mais avec la contrainte des nombres aléatoires compris entre 0 et 1000 (exclu), ce qui est le cas semble-t-il de tes fichiers de tests et j'obtiens un temps similaires à T5 testé sur le fichier de 1000000 d'éléments : 61 à 73 ms.
Avec 100 000 000 d'éléments, entre 0 et 1000, 4120 à 4221 ms (EDIT : dans les 12 à 13 s, si je ne borne pas mes aléatoires). Je verrai plus tard pour refaire la batterie complète sur 100 000 000 d'éléments.
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Voici le code de mon générateur de fichier. J'avais mis un MAX à 999 en effet.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106 public class Generator { private static final Logger logger = LoggerFactory.getLogger(Generator.class); public static final String NEW_LINE = System.getProperty("line.separator"); public static final int MAX = 999; public static int[] readFromFile(final String fileName) { logger.debug("readFromFile"); logger.debug("fileName: {}", fileName); final File file = new File(fileName); if (!file.exists()) { logger.error("Le fichier n'existe pas"); } final List<Integer> list = new LinkedList<>(); try (final FileReader fr = new FileReader(file);// final BufferedReader br = new BufferedReader(fr);) { for (String line = br.readLine(); line != null; line = br.readLine()) { if (line.isEmpty()) { continue; } if (line.startsWith("#")) { continue; } list.add(Integer.valueOf(line)); } } catch (Exception e) { logger.error(e.getMessage(), e); } final int[] tab = new int[list.size()]; int i = 0; for (final int elt : list) { tab[i++] = elt; } return tab; } public static void generateFile(final String fileName, final int nb) { logger.debug("generateFile"); logger.debug("fileName: {}", fileName); logger.debug("nb: {}", nb); final File file = new File(fileName); try (final FileWriter fw = new FileWriter(file); // final BufferedWriter bw = new BufferedWriter(fw);) { final Random random = new Random(); for (int i = 0; i < nb; i++) { final Integer rand = random.nextInt(MAX); bw.write(rand.toString()); bw.write(NEW_LINE); } } catch (Exception e) { logger.error(e.getMessage(), e); } } public static void main(String[] args) { logger.debug("Generator"); final int[] tailles = { 10, 100, 1_000, 10_000, 100_000, 1_000_000 }; logger.debug("Generation des fichiers."); for (final int nb : tailles) { final String fileName = "src/test/resources/rand_" + nb + ".txt"; generateFile(fileName, nb); } final int[] tab100 = readFromFile("src/test/resources/rand_" + 100 + ".txt"); logger.debug("Lecture des fichiers."); for (final int nb : tailles) { final String fileName = "src/test/resources/rand_" + nb + ".txt"; final int[] tab = readFromFile(fileName); System.out.println(fileName); int i = 0; for (final int elt : tab) { System.out.print(elt); System.out.print("-"); i++; if (i % 100 == 0) { System.out.println(); i = 0; } } } } }
Thierry Leriche-Dessirier
Consultant Java JEE Web Agile freelance
Rédacteur pour Developpez
Professeur de Génie Logiciel à l'ESIEA
Site : http://www.icauda.com / Linked'in : http://www.linkedin.com/in/thierryler / Twitter : @ThierryLeriche
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager