sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201436 15 sept. 2009 à 19:16
le problème c'est pour savoir, il faut avoir le temps de tester. Hors sur ce coups, je suis arrivé trop tard car il n'y avait plus de source !
Alors que peut-être que tu es un génie est que ton boulot ne mérite pas la critique. Mais avoue que prendre la mouche et "supprimer" ta source te décrébilise.
SOURCE DESACTIVE.
cs_Yxion
Messages postés219Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 7 septembre 2009 15 sept. 2009 à 15:48
Suceptible peut-être, mais j'aimerais qu'on ne détruise pas avant de savoir.
cs_Yxion
Messages postés219Date d'inscriptionjeudi 6 juillet 2006StatutMembreDernière intervention 7 septembre 2009 15 sept. 2009 à 15:46
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 !
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201436 15 sept. 2009 à 15:36
suceptibilité quand tu nous tiens !
lakichemole
Messages postés253Date d'inscriptionvendredi 13 juin 2003StatutMembreDernière intervention18 mai 2009 15 sept. 2009 à 09:14
Salut, je suis assez de l'avis de Bidou, cette source me laisse assez perplexe quant à son utilité?
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 15 sept. 2009 à 08:29
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)
15 sept. 2009 à 19:16
Alors que peut-être que tu es un génie est que ton boulot ne mérite pas la critique. Mais avoue que prendre la mouche et "supprimer" ta source te décrébilise.
SOURCE DESACTIVE.
15 sept. 2009 à 15:48
15 sept. 2009 à 15:46
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 !
15 sept. 2009 à 15:36
15 sept. 2009 à 09:14
15 sept. 2009 à 08:29
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)