Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance of SELECT mapping #274

Closed
Uriil opened this issue Apr 17, 2015 · 4 comments
Closed

Performance of SELECT mapping #274

Uriil opened this issue Apr 17, 2015 · 4 comments

Comments

@Uriil
Copy link

Uriil commented Apr 17, 2015

I've run test cases on my machine(mid level laptop) and EF result was much better than on readme page. I understand why my results in most cases a slower, but why EF performing much better is strange. Maybe we can update info page? Full output in my case

Running 500 iterations that load up a post entity
hand coded took 66ms
DataTable via IDataReader.GetValues took 75ms
Dynamic Mapper Query (buffered) took 78ms
Mapper Query (buffered) took 79ms
OrmLite QueryById took 79ms
PetaPoco (Fast) took 80ms
Dynamic Massive ORM Query took 89ms
PetaPoco (Normal) took 89ms
Mapper Query (non-buffered) took 100ms
Dapper.Cotrib took 100ms
Dynamic Mapper Query (non-buffered) took 102ms
BLToolkit took 105ms
Susanoo Dynamic Mapping Static took 119ms
Simple.Data took 120ms
Susanoo Mapping Static took 124ms
Linq 2 SQL Compiled took 127ms
Susanoo Mapping Cache Retrieval took 129ms
Susanoo Dynamic Mapping Cache Retrieval took 129ms
Entity framework SqlQuery took 132ms
SubSonic Coding Horror took 154ms
NHibernate SQL took 166ms
NHibernate Session.Get took 168ms
NHibernate HQL took 177ms
NHibernate Criteria took 223ms
Linq 2 SQL ExecuteQuery took 263ms
Entity framework took 288ms
Entity framework No Tracking took 311ms
NHibernate LINQ took 700ms
Linq 2 SQL took 768ms
SubSonic ActiveRecord.SingleOrDefault took 4451ms

@mgravell
Copy link
Member

EF have worked on performance over the years. Those numbers are in need of
an update.
On 17 Apr 2015 22:01, "Nikita Gusev" [email protected] wrote:

I've run test cases on my machine(mid level laptop) and EF result was much
better than on readme page. I understand why my results in most cases a
slower, but why EF performing much better is strange. Maybe we can update
info page? Full output in my case

Running 500 iterations that load up a post entity
hand coded took 66ms
DataTable via IDataReader.GetValues took 75ms
Dynamic Mapper Query (buffered) took 78ms
Mapper Query (buffered) took 79ms
OrmLite QueryById took 79ms
PetaPoco (Fast) took 80ms
Dynamic Massive ORM Query took 89ms
PetaPoco (Normal) took 89ms
Mapper Query (non-buffered) took 100ms
Dapper.Cotrib took 100ms
Dynamic Mapper Query (non-buffered) took 102ms
BLToolkit took 105ms
Susanoo Dynamic Mapping Static took 119ms
Simple.Data took 120ms
Susanoo Mapping Static took 124ms
Linq 2 SQL Compiled took 127ms
Susanoo Mapping Cache Retrieval took 129ms
Susanoo Dynamic Mapping Cache Retrieval took 129ms
Entity framework SqlQuery took 132ms
SubSonic Coding Horror took 154ms
NHibernate SQL took 166ms
NHibernate Session.Get took 168ms
NHibernate HQL took 177ms
NHibernate Criteria took 223ms
Linq 2 SQL ExecuteQuery took 263ms
Entity framework took 288ms
Entity framework No Tracking took 311ms
NHibernate LINQ took 700ms
Linq 2 SQL took 768ms
SubSonic ActiveRecord.SingleOrDefault took 4451ms


Reply to this email directly or view it on GitHub
#274.

@FransBouma
Copy link

EF has been updated a bit, it's still very slow. See https://github.com/FransBouma/RawDataAccessBencher

@NickCraver
Copy link
Member

We've got the perf benchmarks running under the new setup, but at the same time we're waiting on EF releases and some of the libraries have received no love in quite some time.

We'll have to drop the really old comparisons from the benchmarks, since they don't even run on the same platform. I'll could try and add some back that are net40 compatible, but there's a lack of apples to apples happening there.

@NickCraver
Copy link
Member

A much better benchmark table for Dapper's README is now in...and the suite is much easier to maintain and update. Closing this out since we're now up to date :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants