SOURCE SUPPRIMÉE

Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
- - Dernière réponse : sebmafate
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
- 15 sept. 2009 à 19:16
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/50564-source-supprimee

Afficher la suite 
cs_Bidou
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
37 -
Hello,
J'ai un peu de peine à comprendre l'utilité de cette classe...



*Si je fais

Dictionary c = new Dictionary();
Customer cust new Customer(i) { Name "...", Age = 40 };
c.Add(cust.ID, cust);

J'obients la même chose non?

* As-tu fais des tests sur les performences?? Moi oui (rapidement). Ta solution est entre 10 et 30x plus lente que le dictionnaire de .NET !

* Mon petit doigt me dit, en plus, que tu as essayé de largement t'inspirer du dictionnaire .NET (reflector?). Pourtant, le résultat n'est pas du tout convaicant (voir au-dessus).

Ou alors j'ai pas compris le code (aussi possible car regardé rapidement)
lakichemole
Messages postés
253
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
18 mai 2009
-
Salut, je suis assez de l'avis de Bidou, cette source me laisse assez perplexe quant à son utilité?
sebmafate
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
30 -
suceptibilité quand tu nous tiens !
cs_Yxion
Messages postés
219
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
7 septembre 2009
-
1 . Oui les tests de perfs sont tout ce qu'il y a de correct. Evidemment, lors que l'on compare en Debug mon code avec le code optimisé du dictionary dans le gac, on voit une grosse différence. En release, sur 1 millions d'ajouts, on a 1.7832 sec pour le Dictionary contre 1.9482 sec pour celui ci.
La différence ? l'appel de délégué.
La différence ? un seul stockage en mémoire de la clef ? Es ce que ca vaux ça ?

L'utilité de cette affaire la ? Ben éviter de dupliquer la clef en mémoire lors qu'on l'a déjà dans l'objet. Comme j'avais dis, moi je m'en sert, mais c'est sur que j'avais jamais utilisé une classe générique avec un délégué. J'utilise a la base une version différente du dico (sans le delegué) pour tous les objets genre dictionnaire de commande SQL, dictionnaire de Binding...

C'est sur quand MS sort des choses comme DicMs ms new DicMs(new { Name "Tata", Nombre = 3 }); on le félicite pour la belle écriture, mais les écarts de perfs sont bien plus important que des milli-secondes sur des millions d'enregistrements.

Copier dans réflector, mon dieux, je copie les idée de l'incroyable dictionnaire MS. Je ne crois pas que Ms soit l'inventeur du Dictionary. Oui, j'ai regardé et appris à faire un dico avec reflector (parce que j'aime savoir comment ca marche), j'ai aimé leur facon de faire (si je change les nom de variables pour des trucs moins coérents que les leurs on le verra pas, comme ca je passerais pour un génie), et non, mon dico n'est pas moins performant parce que j'ai fait une mauvais copie (Bien sur si on compare du RELEASE VS du RELEASE).

Après avoir lu ça, supprimez ma source SVP !
cs_Yxion
Messages postés
219
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
7 septembre 2009
-
Suceptible peut-être, mais j'aimerais qu'on ne détruise pas avant de savoir.