|
Page : 1 2 Page Précédente | |
Auteur | Sujet : HashMap.hash() ils ont pété un plomb ou quoi? |
Publicité | Posté le 21-02-2003 à 16:13:30 |
BifaceMcLeOD The HighGlandeur | Normalement, si tu écris bien ton code, tu devrais pouvoir faire en sorte que la fonction standard de hachage ne soit pas appelée. Tu redéfinis le hachage comment ? |
Taz bisounours-codeur | ben je fais le truc comme il faut en redéfinissant hashCode pour ma class de donénes, mais bon, je vois pas comment passer outre ça
|
benou | facile de t'en sortir :
|
Taz bisounours-codeur | d'ailleurs a y regarder de plus pres, l'implémentation est désastreuse (pas sur le fond sur la forme). les mecs qui ont fait ça devaient pas etre tres sensibles à la réutilisabilité ou payer à la ligne, par ce que plus je lis les sources de l'API, plus je flippe: c'est pas rare de trouver dans un module 4/5 fonctions de 15 lignes ou plus qui dont le code est exactement le meme sauf le return final qui differe. n'importe quoi! |
Taz bisounours-codeur | exemple en image
|
benou | là je demande à voir : l'implémentation de ces classes là a du être tunnée à mort !!! |
Taz bisounours-codeur |
à ton aise. t'en veux d'autres?
Message édité par Taz le 21-02-2003 à 17:13:35 |
BifaceMcLeOD The HighGlandeur | Je suis d'accord avec Taz. L'implémentation de plein de classes de base du JDK seraient clairement à revoir. Souvent, il y n'y aurait pas grand chose à changer, mais on y trouve régulièrement des petites horreurs sans aucune justification (du type efficacité). Simplement, personne ne s'en est plaint, alors personne chez Sun ne les a modifiées. |
R3g fonctionnaire certifié ITIL |
|
Publicité | Posté le 21-02-2003 à 17:53:56 |
Taz bisounours-codeur | ce sont des opérations bit à bit
|
R3g fonctionnaire certifié ITIL | A oui le complement, j'y pensais plus. Sinon pour les décalages de bit je connaissais, mais alors quelle est la différence entre >> et >>> ? |
BifaceMcLeOD The HighGlandeur | Remise à zéro des bits qui apparaissent lors du décalage dans un cas, et décalage circulaire dans l'autre cas, si ma mémoire est bonne. |
R3g fonctionnaire certifié ITIL | Ah ok d'accord. Merci beaucoup |
Taz bisounours-codeur | presque
|
BifaceMcLeOD The HighGlandeur | C'est effectivement plus logique que ce que j'ai dit. |
benou |
|
Taz bisounours-codeur | ben pour la stack, l'encapsulation est pulvérisée . on dit que java est sure, quand je vois comment c'est facile de bousiller une pile |
benou | c'est un choix bordel ! t'as le droit de pas le partager (comme je le fais) mais juger la "sécurité" de java en fonction de ça c'est carément ridicule ! Message édité par benou le 21-02-2003 à 18:22:21 |
BifaceMcLeOD The HighGlandeur | Autre commentaire concernant Stack : elle est synchronisée (puisque Vector l'est), et son équivalent non synchronisé n'existe pas dans le JDK.
Message édité par BifaceMcLeOD le 21-02-2003 à 18:23:13 |
benou | et ben j'ai donné la manip pour que ca fonctionne comme il veut !
|
BifaceMcLeOD The HighGlandeur |
|
benou | si vous voulez des infos sur les méandre de l'implémentation et l'optimisation de cette classe, lisez ca : http://www.javaspecialists.co.za/archive/Issue054.html |
Taz bisounours-codeur | le principale reproche, c'est que je n'ai vu le hashage supplémentaire mentionné nulle part dans la doc. |
benou |
|
Taz bisounours-codeur |
ça me fais froid dans le dos. justifier l'emploi de de taille 2**n parce que c'est "plus rapide" de faire un mask qu'un modulo et ainsi introduire des problèmes de collisions et donc devoir rehasher pour pallier à cet effet secondaire, c'est de la science fiction |
benou | je pense qu'ils ont du bencher cette classe et l'optimiser pour le meilleur résultat moyen, en se disant qu'en cas d'extrème importance des perfs, les développeurs ne serait pas à ca près de redévelopper l'algo de répartition.
|
dsls |
|
Taz bisounours-codeur | le problème: l'utilisateur pas tres averti avec une fonction de hashage moyenne, de toutes façons, ne fera pas un usage tres aggresif, alors les perfs entre un % et un &, c'est surréaliste de considérer ça: certes çette optimsiation est effective, mais n'aura aucun impact sur son applciation. apres, y a le programmeur qui travaille sa fonction de hashage, veut une utilisation mémoire serrée et a besoin de performance: cette optimisation le dessert. apres si on part du principe qu'on est pété de RAM, qu'on aime bien offuscé son code avec des trucs binaires, qu'on a qu'une vague idée de ce qu'est une fonction de hash et qu'on veut un truc qui tourne à fond pour faire celui qui à la plus grosse.
|
benou | ouais, je crois que c'est ce qu'il te reste à faire...
|
Taz bisounours-codeur | je vais faire ma sauce maison mais je jetterai un oeil, merci |
nraynaud lol |
|
benou | c'est crade ! ca peut juste être pratique dans certains cas ... |
Taz bisounours-codeur |
ben ça n'a rien à voir avec une pile un vecteur. si on veut un vecteur, on utilise un vecteur et si on veut une pile, on utilise une pile. pourquoi permettre des opérations non-permises? c'est une régression. Utiliser l'héritage à la place de la compisition (ou d'un adaptateur dans le cas d'une pile),c 'est exposé inutilement des détails de l'implémentation. On peut alors corrompre les données de la pile puisque l'acces directe est permis. En plus l'héritage propage tous les problèmes de la super classe alors que la composition permet de les masquer. Message édité par Taz le 22-02-2003 à 01:10:40 |
Taz bisounours-codeur |
si tu veux utiliser un vecteur comme une pile, tu economiseras ton clacier puisque push est plus long a taper que add. Apres si vous etes pas d'accord sur ce qu'est une pile et que l'encapsulation vous semble etre une barriere injustifiée... j'y peux rien |
verdoux And I'm still waiting | C'est expliqué ici:
Message édité par verdoux le 22-02-2003 à 02:02:26 |
darklord You're welcome |
--------------- Just because you feel good does not make you right |
verdoux And I'm still waiting |
darklord You're welcome |
nraynaud lol |
|
Publicité | Posté le |
Page : 1 2 Page Précédente |
Sujets relatifs | |
---|---|
[crypto] En quoi ça consiste exactement la technique du hash ? | Passer des HASH TABLE de scripts CGI en scripts CGI |
[Perl] itérer sur les valeurs d'un tableau de hash de hash... | [C] pété de rire et vieux gcc |
ahhh, je pete un plomb !!!!! :-( | Applet et HashMap : pb |
je pète un plombs avec l'installation de postgreSQL sous winxp | ComboBoxModel + HashMap |
[java] design... hashmap à 2 clés !? | |
Plus de sujets relatifs à : HashMap.hash() ils ont pété un plomb ou quoi? |