Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2709 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  tri

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

tri

n°937911
esrevni
à contrario
Posté le 05-01-2005 à 15:01:01  profilanswer
 

Salut tout le monde,
 
On me demande de faire un test de rapidité de tri sur un tableau de dimension [10][1000].  
 
Quelle serait selon vous la meilleure manière de faire : tableau, Vector (euh non pas vector), arrayList, RecordSet (les données viendront d'un base), que sais-je encore ?
 
A noter que le tri devra pouvoir se faire aussi bien sur un ordre alphabétique que sur des montants ou des dates.
 
Merci
 
esrevni

mood
Publicité
Posté le 05-01-2005 à 15:01:01  profilanswer
 

n°937915
sircam
I Like Trains
Posté le 05-01-2005 à 15:05:00  profilanswer
 

Essaye chacune de ces méthodes et dis-nous quoi ? [:djswad]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°937996
esrevni
à contrario
Posté le 05-01-2005 à 15:45:55  profilanswer
 

disons qu'avant de commencer à développer, j'aurais aimé un conseil d'une personne ayant déjà eu à faire ce genre de manip.
 
tu vois quoi !

n°938010
sircam
I Like Trains
Posté le 05-01-2005 à 15:53:01  profilanswer
 

Je vois. [:djswad]
 
De toute façon, tu ne parles pas d'écrire ou d'optimiser une méthode particulière de tri. J'en déduis que tu vas utiliser une méthode donnée qq soit la structure de données. Par ex. un sort de collection tel que fourni en Java.
 
Dans ce cas, vu la petitesse de ton tableau, je ne pense pas qu'il faille t'exiter des masses sur les perfs.
 
Opte pour le plus simple pour commencer, genre Collections.sort() [:djswad].
 
EDIT : Ce n'est qu'une première suggestion, consultation gratuite, à affiner si besoin.


Message édité par sircam le 05-01-2005 à 15:53:53

---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°938015
esrevni
à contrario
Posté le 05-01-2005 à 15:56:24  profilanswer
 

oki merci, j'vais regarder ça :)

n°938059
benou
Posté le 05-01-2005 à 16:16:20  profilanswer
 

un trie en utilisant un tableau sera généralement plus rapide qu'avec une collection.
 
y a aussi un java.util.Arrays.sort() je crois ...


---------------
ma vie, mon oeuvre - HomePlayer
n°938082
sircam
I Like Trains
Posté le 05-01-2005 à 16:23:10  profilanswer
 

Faut voir quel type de collection. Si elle est array based, ça devrait être kif-kif (?)
 
Et faudrait encore que l'impact soit significatif, ce qui n'est pas évident pour une "petite" quantité de données.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°938135
benou
Posté le 05-01-2005 à 16:44:10  profilanswer
 

sircam a écrit :

Faut voir quel type de collection. Si elle est array based, ça devrait être kif-kif (?)


ben t'as les appels de méthode en moins [:spamafote]
ca va pas chercher loin, mais si c'est les perfs qu'on cherche ...


---------------
ma vie, mon oeuvre - HomePlayer
n°940385
esrevni
à contrario
Posté le 07-01-2005 à 15:59:48  profilanswer
 

Effectivement, les perfs sur mon pôvre poste de programmeur sont excellentes (l'affichage dans la console doit prendre plus de temps que le tri en lui-même).  
 
Maintenant commment savoir comment le serveur de prod va réagir quand on lui demandera 100 requêtes par seconde ?
 
euh, c'est pas vraiment une question, j'vais me demmerder tout seul pour la suite.
 
Merci à tous pour le coup de main ;)

n°940424
nraynaud
lol
Posté le 07-01-2005 à 16:28:01  profilanswer
 

benou a écrit :

ben t'as les appels de méthode en moins [:spamafote]
ca va pas chercher loin, mais si c'est les perfs qu'on cherche ...


les appels de méthodes, ça se voit pas en java. La JVM inline tout ce qu'elle veut.

mood
Publicité
Posté le 07-01-2005 à 16:28:01  profilanswer
 

n°940592
benou
Posté le 07-01-2005 à 19:06:08  profilanswer
 

nraynaud a écrit :

les appels de méthodes, ça se voit pas en java. La JVM inline tout ce qu'elle veut.


ca me surprend ... je me rappel avoir lu des docs pas si anciennes (comprendre post jdk1.4) de mecs de sun qui parlait des perfs. Ils disaient que la méthode de tri la plus efficiace, quand t'avais une collection longue à trier c'était d'en extraire un tableau, de trier le tableau et d'en refaire une collection.
 
je suis loin d'être pour ce genre d'optimisation à la con, mais ca veut quand même dire que l'appel de méthode a un coût...
 
me demande pas d'url, je me souviens plus où j'ai lu ca ... mais ca se vérifie assez facilement si tu veut faire le test ...


---------------
ma vie, mon oeuvre - HomePlayer
n°940853
nraynaud
lol
Posté le 08-01-2005 à 01:17:42  profilanswer
 

benou> le penche plutôt pour la localité spaciale. ou alors une liste trop courte pour amortir le coût de profiling+optimisation+compilation

n°949031
Giz
Posté le 08-01-2005 à 12:19:40  profilanswer
 

En parlant de tri, j'ai été surpris comme Java (Arrays.sort()) tri carrément plus vite un tableau d'int que C (methode qsort ou meme gqsort de la glib) qui a pourtant le meme tri d'implementer (quicksort)
 
Un autre truc, pourquoi Java a implementer le merge sort pour trier des Object ? j'ai vu un link qui disait parce que c t un tri stable : chaque element egaux ne sont pas deplacé je crois...c'est a dire...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  tri

 

Sujets relatifs
Plus de sujets relatifs à : tri


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)