Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

.Net ORM/Business Object Framework Performance

Currently I am working with a custom business object layer (adopting the facade pattern) in which the object's properties are loaded from stored procedures as well as provide a place for business logic. This has been working well in the attempt to move our code base to a more tiered and standardized application model but feel that this approach is more of an evolutionary step rather than a permanent one.

I am currently looking into moving to a more formal framework so that certain architecture decisions won't have to be my own. In the past I have worked with CSLA and Linq to SQL and while I like a lot of the design decisions in CLSA I find it a bit bloated for my tastes and that Linq to SQL might not have the performance I want. I have been interested in the popularity of NHibernate and the push of Linq to Entity however performance is a key issue since there are instances where a large number of records need to be fetched at a time (> 15k) (please do not debate the reason for this) and am curious as far as performance what looks like the best choice for adopting a formal .Net Object Framwork?

NOTE: This will be used primarily in Winform and WPF applications.

Duplicate: https://stackoverflow.com/questions/146087/best-performing-orm-for-net

like image 382
jwarzech Avatar asked Dec 29 '22 12:12

jwarzech


2 Answers

http://ormbattle.net - the performance test there seems almost exactly what you want to see.

You must look at materialization test (performance of fetching large number of items is exactly what it shows); moreover, you can compare ORM performance with performance of nearly ideal SQL on plain ADO.NET doing the same.

like image 129
Alex Yakunin Avatar answered Jan 01 '23 00:01

Alex Yakunin


With any ORM you're going to get a boost out of the box via a Level 1 in proc cache. Especially with loads, if it's already there it won't take a trip to Pluto(the DB). Most ORMs have the opportunity to inject a L2 out proc cache. The nice thing about these is that they just plug into the ORM. Checkout NCache for NHibernate.

like image 20
Adam Fyles Avatar answered Jan 01 '23 00:01

Adam Fyles