SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have an issue (I think) with my SharePoint 2010 ADO.NET Data Services.

I understand that using Data Services is an extra layer and as such might inhibit performance a little, but I was not expecting what I found.

I am running SharePoint 2010 in a VMWare machine on an SSD drive (Windows 2008 R2).

Currently, requesting mt lists of lists takes 0.5 seconds consistently, even though it's only a collection of 20 list names:


Using the Server Object Model, this takes 0.05 seconds. ADO.NET seems to be 10x slower Obviously the overhead might be flat and at higher volumes plateau at a 0.4 second overhead regardless. But it's still slow in my opinion.

I have done a lot of tests of serializing XML, custom WCF services etc. and nothing seems to indicate that such a small results set should take so long to load.

Any suggestions would be incredibly welcome!!

Or is this the performance I should expect??

What do other people get?

Many thanks

share|improve this question
up vote 1 down vote accepted

My experience has been that the Client OM (at least for JavaScript) is a bit faster than the List Data service, but the performance differences for most queries has been very close. Certainly not the kind of difference you are seeing, but I never specifically measured the $metadata operation.

Normal List Data queries against a list are just mapped to the underlying Linq provider and executed using native SharePoint CAML. In this regard, the List Data service is a relatively thin layer over native SharePoint functionality.

When you invoke the root ListData.svc to return the lists on the site, you are invoking the $metadata operation of OData, and the List Data Service has to create and format the AtomPub feed for that operation custom. There is no native SharePoint equivalent. I suspect that is what is taking the extra time.

share|improve this answer
Thanks for the feedback. I get this half second delay on any request, it's a bit baffling. – Josh Comley Jun 16 '11 at 9:34

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.