﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Ayende @ Rahien</title><link>http://ayende.com</link><description>Ayende @ Rahien</description><copyright>Copyright (C) Ayende Rahien  2004 - 2021 (c) 2026</copyright><ttl>60</ttl><item><title>Alex Yakunin commented on How to lose respect and annoy people</title><description>Btw, 
[ormbattle.net/.../48-we-have-a-new-leader.html](http://ormbattle.net/index.php/forum/6-results/48-we-have-a-new-leader.html)</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment56</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment56</guid><pubDate>Tue, 01 Sep 2009 16:57:54 GMT</pubDate></item><item><title>Alex Yakunin commented on How to lose respect and annoy people</title><description>Right. But e.g. PostgreSQL behaves nearly the same. And we didn't run similar performance tests with Oracle yet.
  
  
Oren, I don't want to push you to do anything - that's just FYI.
  
  
Btw, we've published an updated test suite &amp; its results today. LINQ tests results are now categorized + there is new paging test.
</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment55</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment55</guid><pubDate>Tue, 01 Sep 2009 09:20:58 GMT</pubDate></item><item><title>Ayende Rahien commented on How to lose respect and annoy people</title><description>Alex,
  
NHibernate works on more DBs than just SQL 2005, you are aware of that, right?
</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment54</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment54</guid><pubDate>Tue, 01 Sep 2009 09:04:03 GMT</pubDate></item><item><title>Alex Yakunin commented on How to lose respect and annoy people</title><description>&gt; I mean who cares about those things.
  
  
That's simply a different question. We really don't answer it. On the other hand, this kind of information is much easier to find.
  
  
Oren, that's for you: 
[technet.microsoft.com/en-us/library/cc966425.aspx](http://technet.microsoft.com/en-us/library/cc966425.aspx)  
  
Quote: "Comparison of Recompilations in SQL Server 2000 and SQL Server 2005
  
  
When a batch is recompiled in SQL Server 2000, all of the statements in the batch are recompiled, not just the one that triggered the recompilation. SQL Server 2005 improves upon this behavior by compiling only the statement that caused the recompilation, not the entire batch. This "statement-level recompilation" feature will improve SQL Server 2005's recompilation behavior when compared to that of SQL Server 2000. In particular, SQL Server 2005 spends less CPU time and memory during batch recompilations, and obtains fewer compile locks.
  
  
One benefit of statement-level recompilations should be obvious: it is no longer necessary to break a long stored procedure into multiple short stored procedures just to reduce recompilation penalty of the long stored procedure."
</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment53</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment53</guid><pubDate>Mon, 31 Aug 2009 16:29:42 GMT</pubDate></item><item><title>Chris commented on How to lose respect and annoy people</title><description>Hey at least DO and NH are not Entity Framework :)
</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment52</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment52</guid><pubDate>Sun, 30 Aug 2009 19:17:54 GMT</pubDate></item><item><title>Bunter commented on How to lose respect and annoy people</title><description>&gt;&gt; Everyone who's crying about anything else (scalability, poco, unit of work, bla bla bla) is _cheating_ here.
  
&gt;At least, it seems very close to true.
  
  
Yeah, right. Only l00t lamrz care about those things. Name the site ORMBattle.net and do only performance tests. The size of the userbase, open source-ness, flexibility, testability, third party support... I mean who cares about those things.
</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment51</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment51</guid><pubDate>Thu, 27 Aug 2009 13:01:37 GMT</pubDate></item><item><title>Peter commented on How to lose respect and annoy people</title><description>@Bob: Exactly!! EntitySpace's attitude to this whole thing is the right one imo.
</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment50</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment50</guid><pubDate>Thu, 27 Aug 2009 04:05:54 GMT</pubDate></item><item><title>Alex Yakunin commented on How to lose respect and annoy people</title><description>&gt; It's not about buy/not buy - it's about speed, speed and speed.
  
&gt; Everyone who's crying about anything else (scalability, poco, unit of work, bla bla bla) is _cheating_ here.
  
  
At least, it seems very close to true.
</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment49</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment49</guid><pubDate>Mon, 24 Aug 2009 14:00:54 GMT</pubDate></item><item><title>Alex Yakunin commented on How to lose respect and annoy people</title><description>Nice tactics, Oren. Ok, let's say this another way:
  
  
@ Dave: see "FAQs" section @ ORMBattle.NET:
  
- "Why you run a single operation for multiple times during the measurement?"
  
- "In fact, you're testing bulk insert \ update \ remove operations in "CUD Multiple" tests. Why you prevent usage of executable DML queries there?"
  
- "Is it possible to use a specialized API instead of common in tests?"
</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment48</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment48</guid><pubDate>Mon, 24 Aug 2009 13:58:25 GMT</pubDate></item><item><title>Ayende Rahien commented on How to lose respect and annoy people</title><description>@Alex,
  
Removed comment that contained only links
</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment47</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment47</guid><pubDate>Mon, 24 Aug 2009 13:33:02 GMT</pubDate></item><item><title>Alex Yakunin commented on How to lose respect and annoy people</title><description>@ Oren: about "Multi query + CUD batching" vs "generalized batching" - I hope we cleared everything up by e-mail. I can copy my answers here, but don't want to spend the time on this any more.
  
  
Let readers make their own decisions &amp; conclusions.
</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment46</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment46</guid><pubDate>Mon, 24 Aug 2009 13:29:25 GMT</pubDate></item><item><title>Dave Mertens commented on How to lose respect and annoy people</title><description>The tests at ormbattle are wrong because they benchmark something you will never use in that way. Deleting 10.000 rows? Why on earth would I first retrieve 10.000 records from the database only to delete them as a next step? Executing a 'delete from TableX' directly on the database will outperform every ORM. 
  
  
Our applications often have to work in legacy environments. So I need a ORM framework that doesn't require changes to the legacy code to use them. Most ORM framework require you to either inherit from a base class (like ActiveRecord) or to mark your class and properties with attributes (like Linq to SQL). The only 'downside' of NHibernate in this approach has is to every class (in the hbm.xml) have to marked 'lazy="false"' to methods and properties doesn't have to be virtual. I also have used Linq To SQL with XML mapping files (XmlMappingSource) on the same projects. Both are still in use and serve different needs.  
  
  
  
  
</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment45</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment45</guid><pubDate>Mon, 24 Aug 2009 07:04:55 GMT</pubDate></item><item><title>Benetton commented on How to lose respect and annoy people</title><description>IMHO:
  
It's just so ridiculous to read some guys posting stupid things like "I'd never buy this Alex's ORM". What's the point? 
  
It's not about buy/not buy - it's about speed, speed and speed. 
  
Everyone who's crying about anything else (scalability, poco, unit of work,   bla bla bla) is _cheating_ here.
  
Oren - if your gorgeous NHhibernate is a hammer (as your picture assumes), then I would never use it. Softdev is no house-building - and I don't need any stupid hammers in my toolset.
  
  
P.S. Looks like the only cause of  all these massive insults here is Oren's inflamed ego.
</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment44</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment44</guid><pubDate>Mon, 24 Aug 2009 03:45:47 GMT</pubDate></item><item><title>Mike Griffin commented on How to lose respect and annoy people</title><description>There are some bizarre comments on this thread. Like stored proc's "OWN " ORM's? How bizarre, we support stored proc's or dynamic SQL, you indicate which you want via the connection, no code changes what so ever. Stored procs and ORM's are not mutually exclusive. Also, battle ORM is not marked as DANGEROUS by google or firefox 3.x, just checked, anyway, have a good day everyone ...
</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment43</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment43</guid><pubDate>Sun, 23 Aug 2009 12:48:16 GMT</pubDate></item><item><title>cowgaR commented on How to lose respect and annoy people</title><description>the site code.ormbattle.net is marked as DANGEROUS by Firefox 3.x &amp; Google (red warning Firefox page)...
  
  
google is saying it is installing trojans... get this right :D
  
  
@Alex: do you support POCO? I have no problem using your framework if you support it, or at least can show me an easy way to test my entities (I understand there is some dependency going on with all those attributes). Or is there apple &amp; oranges comparison going on?
</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment42</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment42</guid><pubDate>Sun, 23 Aug 2009 11:16:24 GMT</pubDate></item><item><title>Ayende Rahien commented on How to lose respect and annoy people</title><description>Alex,
  
Doing batching at the TDS level is far more efficient. It also protect you from issues with max number of parameters per call.
  
There are other disadvantages to doing things this way as well, you create higher load of the query plan cache on the DB server and incur higher parsing costs.
  
  
NHibernate had support for this for reads for almost 4 years now. It is called Multi Query and we extended the support in 2.1 for full Futures implementation.
  
This is a conscious decision that the user must take, because of the issues with the query plan cache that I mentioned.
  
For writes, batching at the lower level that we do is more efficient.
  
Although, if you really wanted, it would be pretty easy to write another Batcher to support this.
</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment41</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment41</guid><pubDate>Sun, 23 Aug 2009 09:33:37 GMT</pubDate></item><item><title>Alex Yakunin commented on How to lose respect and annoy people</title><description>Oren, check this out: 
[blog.dataobjects.net/.../generalized-batching.html](http://blog.dataobjects.net/2009/08/generalized-batching.html)</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment40</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment40</guid><pubDate>Sun, 23 Aug 2009 09:19:20 GMT</pubDate></item><item><title>Jeff commented on How to lose respect and annoy people</title><description>This Alex guy has proved himself a marketing idiot for his product. Even if it was faster, better whatever, I would use another vendor because of his attitude on your blog and others. There are plenty of alternatives...
</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment39</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment39</guid><pubDate>Sat, 22 Aug 2009 22:05:06 GMT</pubDate></item><item><title>Jonatan commented on How to lose respect and annoy people</title><description>Alex: No he doesn't have to accept your bet. You may want him to but I don't think he has any kind of obligation to do it. There is no point in continuing this. Everything Oren responds to in any way you have used as a way to continue this debate. I propose that he just stops responding to your'e comments. 
</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment38</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment38</guid><pubDate>Sat, 22 Aug 2009 18:31:47 GMT</pubDate></item><item><title>Mike Griffin commented on How to lose respect and annoy people</title><description>Alex, I posted on that thread and gave your suggestions for the single tests, I think those would be very useful and consistant across all ORM solutions. I think if you like those tests we can probably participate, however, we still object to having transactions being used when doing mulitple fetches and reads (and thereby using the same connection allowing for special optimizations to take place, folks don't normally wrap their queries in transaction, and then to do 100 queries within the same transaction, not very useful or real world. We're making progress though, look at my single tests suggestions at the bottom of this post on your forums
  
  
[ormbattle.net/.../...like-to-in-orm-battlenet.html](http://ormbattle.net/index.php/forum/11-everything-else/3-entityspaces-would-like-to-in-orm-battlenet.html#27)  
  
I believe the tests can be useful, adopt those single tests, dump the transactions around reads, and it will be hard for folks to complaign ...
</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment37</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment37</guid><pubDate>Sat, 22 Aug 2009 18:19:01 GMT</pubDate></item><item><title>Alex Yakunin commented on How to lose respect and annoy people</title><description>Nice point ;) But I think Oren must accept proposed bet first. If so, I won't comment this any more here.
</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment36</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment36</guid><pubDate>Sat, 22 Aug 2009 18:07:18 GMT</pubDate></item><item><title>Jonatan commented on How to lose respect and annoy people</title><description>Oren: There is no "winning" this. Leave it be. They can claim that they are so much better then NHibernate. Let them. I think you have said what was needed to say. The tests have nothing to do with real world performance and they are not relevant when comparing ORMs. The tests are useless. Move on and don't give them any more publicity. 
</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment35</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment35</guid><pubDate>Sat, 22 Aug 2009 18:02:04 GMT</pubDate></item><item><title>Alex Yakunin commented on How to lose respect and annoy people</title><description>@ Mark: Check out the rules: 
[http://ormbattle.net/index.php/rules.html](http://ormbattle.net/index.php/rules.html)  
  
I'm thinking how to make this much more independent. Voting based on participant voices is one of possible ways. If you know a better one, just list it.
  
  
Yes, we launched this site, and this can't be neither hidden nor ignored. But it is in our forces to make it much better. We'll discuss any proposals.
  
  
As I've said, I believe such a resource must exist.
</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment34</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment34</guid><pubDate>Sat, 22 Aug 2009 16:44:15 GMT</pubDate></item><item><title>Alex Yakunin commented on How to lose respect and annoy people</title><description>@ Mike: To provide full info here, my answer to your blog post is: 
[ormbattle.net/.../...like-to-in-orm-battlenet.html](http://ormbattle.net/index.php/forum/11-everything-else/3-entityspaces-would-like-to-in-orm-battlenet.html#27)</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment33</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment33</guid><pubDate>Sat, 22 Aug 2009 16:40:47 GMT</pubDate></item><item><title>Mark commented on How to lose respect and annoy people</title><description>Regardless of the perceived personal slights, I have fundamental misgivings about the approach of ORMBattle.NET.  
  
  
Yes, you can find out that the site is run by folk who write an ORM product, but to anyone who comes to the site, it initially gives the impression that it is an independent comparison site.  Regardless of intent, you can never be 100% independent.  Would you trust a paper funded by a company that has a vested interest in the results?  I certainly would not.
  
  
I'm not saying that the results are definitely skewed or intentionally biased, but I can't trust them whatsoever due to the conflict of interest.  It looks bad.
</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment32</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment32</guid><pubDate>Sat, 22 Aug 2009 13:49:45 GMT</pubDate></item><item><title>Mike Griffin of EntitySpaces commented on How to lose respect and annoy people</title><description>We also commented on the ORMBattle.NET tests, here are the changes we would like to see before we participate, I think they are reasonable, eliminate any special tweaks, and show what folks who are evaluating ORM's really want to know.
  
  
[www.entityspaces.net/.../ORMBattleNET.aspx](http://www.entityspaces.net/blog/2009/08/22/ORMBattleNET.aspx)</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment31</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment31</guid><pubDate>Sat, 22 Aug 2009 12:40:10 GMT</pubDate></item><item><title>Alex Yakunin commented on How to lose respect and annoy people</title><description>@ Richard: thanks. Btw, imagine, how I feel myself talking with Oren. I'm curious, was the same happening with others.
</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment30</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment30</guid><pubDate>Sat, 22 Aug 2009 07:13:21 GMT</pubDate></item><item><title>Alex Yakunin commented on How to lose respect and annoy people</title><description>Latest test results are already committed to repository (/Output.txt).
</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment29</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment29</guid><pubDate>Sat, 22 Aug 2009 06:51:32 GMT</pubDate></item><item><title>Alex Yakunin commented on How to lose respect and annoy people</title><description>P.S. Anyone who want to run the test on his own PC, get access to test source @ Google Code, etc. - 
[http://ormbattle.net/index.php/contributors.html](http://ormbattle.net/index.php/contributors.html)</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment28</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment28</guid><pubDate>Sat, 22 Aug 2009 06:50:43 GMT</pubDate></item><item><title>Alex Yakunin commented on How to lose respect and annoy people</title><description>And, Oren, I clearly understand this Nth case for you when someone else tried to compare his own product with NH. So I partially  understand why you don't even look into the tests. You believe IT'S ALL THE SAME CASE. 
  
  
But it's different, and not just this one, but each time you get such a case. Although your mind tend to think you can apply some "statistics" you have here. You compete with all the world now. And you must accept the fact that someone might win you one day.
</description><link>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment27</link><guid>http://ayende.com/4136/how-to-lose-respect-and-annoy-people#comment27</guid><pubDate>Sat, 22 Aug 2009 06:48:56 GMT</pubDate></item></channel></rss>