We think no, no and no.
Getting some scores in LINQ tests means you must be an expert in .NET, databases and even compilers.It is simply can't be achieved right on the first attempt. Man-year(s) must pass till you get LINQ passing most of these tests.
To get high score on CUD tests, you must solve tons of problems. I can enumerate just some of them: full query parameterization, producton of queries with cacheable plans only, cache SQL for these queries or be able to build it fast with new parameters (there batches!), batches themselves, IN optimization... And all usual problems - topological sorting, version checks, etc... I hardly believe someone can just "tune up" all this stuff.
To get high score on materialization test, you must profile it for relatively long time, clearly knowing what can and must be optimized. Here is all about RAM consumption, count of allocations and dictionary lookups. You must know all about .NET application performance to achieve good results here.
Ok, just one example: DataObjects.Net uses our own IntDictionary(Of T). It is a dictionary resolving Int32 keys to T. Up to 4 times faster than regular dictionary (no GetHashCode(), fast equals, special hash table structure). Internally DataObjects.Net uses Int32 TypeIds, and IntDictionary helps to resolve them faster. Brings us additional 5-8% on materialization test.
Related articles:
Kind regards,
Alex Yakunin





