News, examples, tips, ideas and plans.
Thoughts around ORM, .NET and SQL databases.

Tuesday, September 08, 2009

Thoughts about EntitySet performance (continuing the previous post)

Facts:
- We can materialize ~ 2-3K queries per second, when each of them is fetching 50 entities. Our ORMBattle.NET tests show this. Of course, this result was measured on our moderate test PC.
- 90-95% of EntitySet content load time is spent on such a query. Everything else there happen quite fast: mainly, we put Keys of fetched Entities to internal dictionary. Since their hash code is already computed and cached at this moment, this happens quite fast.

Conclusions:
- We can load about 2000...3000 EntitySets per second.
- Thus Fabio's test must pass on DO in several seconds on our test PC. It will take a bit longer to materialize entities there in comparison to ORMBattle.NET tests, because they're a bit more complex than Simplest instances we used there. But since we must load just ~ 2500 EntitySets, this must require less than 10 seconds. NHibernate completes it in 24 seconds, but on different PC.

Far going conclusion: likely, we can win NHibernate on this test even without upcoming preloading ;)

We will try to find a time to implement this test for DO4 further. I'm really curious if this is true.

No comments:

Post a Comment