If you get bored, you could try creating a python version of your app
that just times how long it takes to fetch(128) of the entities.

Maybe the Java stuff isn't as optimized as the Python.. It seems odd
that python defaults to 20 results at a time while Java just grabs the
full result set.  There may be something else going on under the hood.


On 12/1/09, Eric Rannaud <eric.rann...@gmail.com> wrote:
> On Tue, Dec 1, 2009 at 6:49 PM, Stephen <sdea...@gmail.com> wrote:
>>> I should say that a query with 1 result takes about 30ms. 128*30 =
>>> 3840 ms. That's pretty close to what I'm seeing for 128, indicating a
>>> linear scaling in the number of entities. Which would be really bad,
>>> and unexpected.
>>>
>>> It's really hard to guess what's going on internally, without any
>>> visibility of the architecture.
>>
>>
>> This is a recent change. It used to be that you were charged whatever
>> api_cpu it took to run your query, as measured on the machines. Now
>> there seems to be an algorithm that generates the cost based on your
>> entities and query type, so it will be the same from query to query.
>>
>> This is good because now your costs do not suddenly go up 30% because
>> Google's infrastructure is having a bad day. The incentives used to be
>> all wrong.  The change is bad because Google didn't announce it. Are
>> the api_cpu costs exactly the same as before?  If not, it is an
>> unannounced price in/decrease.
>>
>>
>>> Has anybody looked (publicly) at datastore performance depending on
>>> query size, locality, etc? If not, I might try to gather some
>>> extensive data, and write it up.
>>
>>
>> It would be nice to work out what the algorithm for api_cpu is...
>
> Note: I am *not* using api_cpu time (not available in the Java
> runtime, as far I know). I am using system wall-clock time.
> I am doing the Java equivalent of two gettimeofday() and computes the
> difference.
>
> So the way api_cpu and co are computed is an entirely different question.
>
> --
>
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To post to this group, send email to google-appeng...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>
>
>

-- 
Sent from my mobile device

--

You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.


Reply via email to