On Fri, Mar 6, 2009 at 11:15 AM, Doug Williams <do...@igudo.com> wrote:

>
> Nick,
> Are you using a caching layer? Initialization of the cache will of
> course be slow since every user will need to be looked up with a
> users/show call, but the cache should eventually pay off after the
> most active users have been entered.


Yes, I'm putting them into a database... it is especially slow because I
decided to capture the status data in addition to the user name, so there's
a fair bit of overhead.  I'm going to code up a light version that just
grabs names and see how much faster it is.  I'm fairly sure it's nothing
people would want to wait for in real time... so as you say, building up the
cache is the key.

The speed of my current code is also limited by the database, which is
CPU-bound.  I'm using an old server that will benefit from a lot more
memory, which I'm going to go and purchase this afternoon!  I haven't
offered any hard numbers because of these constraints... and I may be
bandwidth-limited some of the time.

I'll post some numbers at some point.  I'm wondering how many unique screen
names I'm getting, on average, per API call (it's less than 100 because
there will be multiple statuses for some people) and what the average
latency is.  Those are things I can't control, so they ultimately will
create the upper boundary.

By the way, I'm not just looking at this as a problem.  It's also an
opportunity and I may have a source for the resources to address it.

Nick

Reply via email to