As part of an application I am doing we need to retrieve a users facebook news feed (preferably about 150 posts).
var client = new FacebookClient(accessToken);
result = client.Get(connection);
This above is taking roughly 2 seconds
However when I increase the query to be 150 posts
var client = new FacebookClient(accessToken);
result = client.Get(connection, new { fields = "name,from,story,message,picture,comments", limit = count });
This is now taking 6-8 seconds. This is not a nested query so am I right in thinking FQL would give me no performace increase? Is this sort of response time about the best I can hope for?
Doing multiple queries is probably better. You can fire off each request asynchronously to the server and progressively load the data. So, the first call loads posts in ~2 seconds, and then after ~4 seconds you will get the second batch of data from Facebook. Repeat until you get the desired number of posts.
This will mean the user will get to see the data quicker, while your app processes smaller chunks of data.
Take care in coding the loop and account for failure. I.e. if a call fails retry the call or fail gracefully.