XXP

octobre 2011

lun. mar. mer. jeu. ven. sam. dim.
          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            

« Silverlight pour Linux - Moonlight - en version 2 | Accueil | Visual Studio 2010 et .Net 4 disponibles en version "candidate" »

07 janvier 2010

TrackBack

URL TrackBack de cette note:
http://www.typepad.com/services/trackback/6a00d8341c871f53ef012876b12dfd970c

Voici les sites qui parlent de Emit Mapper copie plus vite qu'Automapper :

Commentaires

Romain Verdier

C'est rigolo, j'ai réalisé un "Emit mapper" il y a plus d'un an pour mon client. Je suis curieux de voir comment il se situe au niveau des performances (à l'époque je n'avais rien trouvé de mieux). D'un autre côté la comparaison dont tu parles m'étonne un peu : il me semblait que depuis un moment, AutoMapper utilisait également SRE (ou des expressions compilées).

Denis

C'est vrai que les chiffres sont étonnants. Il n'est pas impossible que le benchmark publié par Vladimir Romanko ait une forte composante marketing. D'où la tournure de précaution "les premiers tests le présentent..."...

Et tu as raison, Automapper utilise Emit depuis le mois d'aout (cf. par exemple http://code.google.com/p/automapperhome/source/browse/trunk/src/AutoMapper/Internal/DelegateFactory.cs).

Bien vu et merci -- je modifie le post pour l'indiquer.

Vincent B.

c'est drole je viens juste de mettre en place AutoMapper sur un de nos projets.
La perf est importante effectivement, mes les fonctionnaltés aussi.
J'ai du mal avec la documentation de Emit Mapper, je trouve le site de AutoMapper bien plus clair.
Mais bon je suis pas fufute moi.
Bonne année !

Vladimir Romanko

Sorry, I don't speek french. Folks, you can themself run benchmarks which are part of the EmitMapper source code pack and you will be able to inspect if benchmark tests were written fairly (actually they are :) as well as you will be able to see huge perfomance difference between AutoMapper and EmitMapper. The reason for that perfomance gap is that AutoMapper was originally developed on the Reflection library and afterwards migrated to Emit. In contrary the EmitMapper was originally designed for Emit library and it has lot of optimization trics: for example it performs type conversion for value-types without boxing-unboxing; it converts nested members without recursion (one-pass algorithm) and so on.

If you have any troubles or questions about EmitMapper please post them there: http://emitmapper.codeplex.com/Thread/List.aspx

Denis

Thank you for your comment Vladimir. Your explanation about this very impressive performance gap makes sense, and it's good to know that the benchmark tests are fair.

Nice challenge, bravo -- and keep up the good work !

Juflo

Salut Denis.
J'ai découvert il y a quelques mois AutoMapper, très satisfait du projet, notamment API et doc. Je ne connais pas EmitMapper. Il semble donc très performant, mais , d'après la doc, l'API me semble plus pauvre.
Par exemple, moi qui veut des objets convertis immutables, j'utilise le constructeur adéquat via AutoMapper, mais je vois pas comment faire avec EmitMapper.

Vladimir Romanko

Merci Denis!

Juflo, jetez un coup d'oeil là: http://emitmapper.codeplex.com/wikipage?title=Customization%20using%20default%20configurator&ANCHOR#Custom_constructors
... si j'ai bien compris votre question

Vérifiez votre commentaire

Aperçu de votre commentaire

Ceci est un essai. Votre commentaire n'a pas encore été déposé.

En cours...
Votre commentaire n'a pas été déposé. Type d'erreur:
Votre commentaire a été enregistré. Poster un autre commentaire

Le code de confirmation que vous avez saisi ne correspond pas. Merci de recommencer.

Pour poster votre commentaire l'étape finale consiste à saisir exactement les lettres et chiffres que vous voyez sur l'image ci-dessous. Ceci permet de lutter contre les spams automatisés.

Difficile à lire? Voir un autre code.

En cours...

Poster un commentaire