Mapster .png)
Mapster is een alternatief dat wellicht minder bekend is, maar significant gebruiksgemak biedt. Het is niet noodzakelijk een profiel aan te maken; de objecten kunnen direct worden gemapt. Hoewel automatische configuratie aanwezig is, biedt Mapster tevens mogelijkheden voor handmatige configuratie.
In deze benchmark gebruik ik Mapster’s reflection-technologie. Deze techniek vereist geen configuratie, wat een duidelijk onderscheid biedt met andere methoden.
Mapperly 
Mapperly maakt uitsluitend gebruik van codegeneratie. Men dient te specificeren welke objecten gemapt dienen te worden, waarna Mapperly de vereiste code genereert. Dit betekent dat een ‘partial class’ met methode-definities aangemaakt dient te worden, die vervolgens door de codegeneratie wordt ingevuld.
Eigen implementatie
Een alternatieve aanpak bestaat uit het zelf implementeren van de mapping. Dit kan bijvoorbeeld worden bereikt door het inzetten van implicit operators. Met deze benadering behoudt je volledige controle over het gehele mappingproces. Voor de benchmark die ik uitvoer, maak ik gebruik van een variant op deze methode. Echter, ik vermijd het gebruik van implicit operators om potentiële beïnvloeding van de bovengenoemde libraries te voorkomen. In plaats daarvan implementeer ik een afzonderlijke methode die verantwoordelijk is voor de uitvoering van de mapping. Deze code zal gebruik maken van de beste preformance optimalisaties die ik kan bedenken, om zo snel mogelijk te kunnen mappen.
Handig om te vermelden is dat het gebruiken van een methode minder snel is dan het gebruiken van implicit operators, lees meer hierover in mijn andere blog