ORMBattle.NETThe ORM tool shootout

  • Increase font size
  • Default font size
  • Decrease font size
Home Forum
Welcome, Guest
Please Login or Register.    Lost Password?

We have a new leader!
(1 viewing) (1) Guest
Test results discussions
Go to bottomPage: 1
TOPIC: We have a new leader!
#48
We have a new leader! 2 Years, 5 Months ago Karma: 0
Guys,

Today we've got a new leader It is BLToolkit. Few days ago its author (Igor Tkachev) has contacted us, and we provided him with full access to our source code repository & Google groups. Today I was able to run his performance tests, and actually was QUITE surprised - his results are almost ideal; BLToolkit is nearly as fast as plain SQL!

Of course I immediately studied the tests, and found nothing "criminal" there except the fact he uses special API on "CUD Multiple" tests. On the other hand, I'm not sure if we must reject this: its usage looks very "native" here. Let's listen the opinion of other participants.

BLToolkit API is likely the closest one to ADO.NET API in comparison to other tools we've seen (although may be I'm wrong - I viewed only its part shown in our test): any command it sends is explicit; there is a special API for batching multiple commands together and so on. Its LINQ query translation pipeline is definitely the fastest one among other competitors.

Compare its results to e.g. Subsonic - it provides API of similar level of abstraction, but its numbers are quite different

There are no LINQ tests for it yet, but Igor already works on them. As far as I can understand, finally they must be working.

So... Now you may find that I was right telling you What kind of ORM tool can win in this benchmark.

P.S. Why I'm so glad?
- Hopefully, this finally proves the fact we didn't design all the tests especially for DO4. On contrary, you may find these tests are likely the worst ones for complex ORM tool. I think we'll be able to get quite close to BLToolkit on most of tests (I wrote there is still a plenty of room for optimizations), but we have almost zero chances to e.g. get similar results on materialization. Hopefully this will allow us to return DO4 back to this web site.
- BLToolkit is designed by Russians as well That's a good reason to be proud of
- And finally, I hope other ORM vendors won't fear of being listed here. Yes, you can show average results here, and this is acceptable, if features you pay for (in particular, by performance) are good enough. No one will argue that the fastest car must be the lightest one. The same is true for ORM, and our test just proves this. Earlier it was hard to be a "heavy car" here. Now it's hard to be a "lightweight car" as well
alexyakunin
Admin
Posts: 25
graph
User Offline Click here to see the profile of this user
Last Edit: 2009/09/01 12:55 By alexyakunin.
The administrator has disabled public write access.
 
#49
Re:We have a new leader! 2 Years, 5 Months ago Karma: 0
Forgot to publish the main part - preliminary results:
Code:

Performance tests (1000 items) scorecard:
                                        EF       BLT        DO        LS        NH        OA        SS       SQL      Unit
CRUD Performance:               
  Fetch                               5143     15376      9270     10559      7190      6549      8536     22812      op/s
  Single Operation:             
    Create Instance                   4606      9522      9460      4665      3703     10019      2791     12104      op/s
    Update Instance                   4406     13103      9977      4745       845      9209      3984     18453      op/s
    Remove Instance                   5961     13885     10554      4611      1390     10640      4255     16503      op/s
    CUD Average                       4903     11840      9977      4673      1380      9921      3553     15197      op/s
  Multiple Operations:          
    Create Instance                   6561     21977     28482     12931     12553     15500      2709     22393      op/s
    Update Instance                   6449     64043     35028     26726     17031     15137      3976     69152      op/s
    Remove Instance                   9695     79648     43190     25835     18255     23462      4371     24184      op/s
    CUD Average                       7305     40721     34557     19549     15531     17320      3531     29860      op/s
Data Access Performance:        
  Query:                        
    LINQ Query                         458      9094      1556      1294      1149      4147       352       n/a queries/s
    Compiled LINQ Query               6080       n/a      7653       n/a       n/a      4261       n/a       n/a queries/s
    Native Query                      9739     17161      9390     10549      5399      6486      7242     19573 queries/s
  Paging (LINQ only):           
    Get Small Page   (10 items)       4517      6742      5595      1096       893      3287       321       n/a   pages/s
    Get Average Page (20 items)       3724      6352      4590      1185       702      2875       296       n/a   pages/s
    Get Large Page   (50 items)       2461      5074      3202      1053       544      2104       261       n/a   pages/s
    Get Huge Page    (100 items)      1576      3871      2144       902       352      1459       206       n/a   pages/s
  Materialization:              
    LINQ Materialize                259369    482067    275247    364564     39288    191699     46877       n/a objects/s
    Native Materialize              480145    752049    355897    499675     51680    236579     54840    968898 objects/s

alexyakunin
Admin
Posts: 25
graph
User Offline Click here to see the profile of this user
The administrator has disabled public write access.
 
#50
Re:We have a new leader! 2 Years, 5 Months ago Karma: 0
Btw, guys...

Think what Igor did: he simply made a test. No talks, no argues, no discussions, no any crying. We talked about ORMBattle.NET with him at RSDN.ru forums, and there were no any complains.

I think he has perfectly shown the best way to prove that product is mature & fast.

Compare this to what Oren, Frans & Rob were doing. Someones prefer to speak; others - to act.
alexyakunin
Admin
Posts: 25
graph
User Offline Click here to see the profile of this user
The administrator has disabled public write access.
 
#55
Re:We have a new leader! 1 Year, 11 Months ago Karma: 0
Compare this to what you have been saying? I read comments you left in massive discussion wtih Oren/Frans on Ayende's blog and you keep saying you will remove any reference to NHibernate as they don't want you using their product name to market your own product. I'm not commenting on or caring about accuracy or real-world relevance etc. I simply see you saying, half a year ago now, you will remove NHibernate references as requested.

What happened to honesty?
ferretallica
Fresh Boarder
Posts: 1
graphgraph
User Offline Click here to see the profile of this user
The administrator has disabled public write access.
 
#56
Re:We have a new leader! 1 Year, 10 Months ago Karma: 0
First of all, I don't remember anyone who was officially asking me to remove NHibernate references. If so, I'd like to see the link.

Furthermore, we're not going to remove any tests of open source products here. This is explicitly stated in rules, and I consider this is more then honest.

I removed LLBLGen, as it was requested, because it is a commercial product. But the same won't work with NH.

Finally, I recommend you to read e.g. these posts:
- ormbattle.net/index.php/blog/93-great-qu...m-todays-e-mail.html
- Honest comparison made by lead NH developer: ormbattle.net/index.php/blog/105-a-hones...-and-nhibernate.html
alexyakunin
Admin
Posts: 25
graph
User Offline Click here to see the profile of this user
Last Edit: 2010/03/16 15:43 By alexyakunin.
The administrator has disabled public write access.
 
#57
Re:We have a new leader! 1 Year, 10 Months ago Karma: 0
Btw, I followed NHibernate-development group discussion related to ORMBattle.NET test suite to at least track the the opinion of authors and the community.

I fully agree that generally any test (if it isn't completely wrong / inverse), must be available. If it is wrong, it will be either criticized or updated. Our test is really designed to show maximal performance difference you may expect, and this is explicitly stated everywhere. And I don't think this is bad.

Moreover, NH team always have a very good option: fix slow materialization pipeline in NH. Having just this done, NH results would look _much_ better. But I feel they aren't going to do this - at least, because this could expose a loyalty to benchmark, which was previously criticized by key people there. As far as I can judge, Oren isn't recognized as a person that easily changes his opinion in discussions (btw, is there any important acknowledgement made by him stating that he was wrong?).

P.S. I'm sorry for such a late reply.
alexyakunin
Admin
Posts: 25
graph
User Offline Click here to see the profile of this user
Last Edit: 2010/03/16 16:17 By alexyakunin.
The administrator has disabled public write access.
 
Go to topPage: 1

Polls

Which test must we add next?
 

Subscribe to our blog