Hmmmm.  I just whipped up a test app that uses a mock
AsyncDatastoreService to provide a set of 10,000 Entity objects to
Objectify, thus purely measuring the overhead of Objectify.  It
consistently transforms 10,000 entities into POJOs (just long id,
String value) in 100ms on both my laptop and on the production
servers.

I'm not quite sure what's going on here, but it's not an issue with reflection.

Jeff

On Tue, Jun 7, 2011 at 8:51 PM, Yasuo Higa <higaya...@gmail.com> wrote:
> I added an objectify sample into the performance samples:
> http://slim3demo.appspot.com/performance/
>
> One result:
> The number of entities: 10000
> low-level API:get: 1276 millis
> Slim3: 1327 millis
> Objectify: 3028 millis
> JDO: 3222 millis
>
> I have not profiled yet.
> But I know java runtime reflections are very very slow on production server,
> so slim3 creates the mapping logic between a model and an entity
> as the source code when compiling.
>
> Yasuo Higa
>
> On Wed, Jun 8, 2011 at 10:18 AM, Ikai Lan (Google) <ika...@google.com> wrote:
>> I doubt the low-level API is significantly faster than JDO (have not
>> profiled, so can't tell you for sure). JDO just dispatches to low-level and
>> does serialization/deserialization. That should really be a very small part
>> of the entire operation.
>> Reasons to use the low-level API include:
>>  - it maps best to how the datastore works (schemaless)
>>  - you always get new features the fastest (async datastore API)
>> That being said, the Slim3 and Objectify projects move pretty quickly and
>> add features almost as quickly as we do. They're one level removed from the
>> schemaless nature of the datastore, but this fits better with the 95% use
>> case.
>>
>> Ikai Lan
>> Developer Programs Engineer, Google App Engine
>> Blog: http://googleappengine.blogspot.com
>> Twitter: http://twitter.com/app_engine
>> Reddit: http://www.reddit.com/r/appengine
>>
>>
>> On Wed, Jun 8, 2011 at 8:07 AM, Dennis Peterson <dennisbpeter...@gmail.com>
>> wrote:
>>>
>>> That makes more sense, thanks.
>>> I also found this online benchmark of JDO and LL, which has similar
>>> results:
>>> http://gaejava.appspot.com/
>>>
>>> On Tue, Jun 7, 2011 at 8:03 PM, Anders <blabl...@gmail.com> wrote:
>>>>
>>>> Yeah, that's what I suspected. Lazy loading. With the modification Slim3
>>>> is almost as fast as the native API. Strange that JDO is so slow. I thought
>>>> most of the time was for accessing the datastore, not for running the Java
>>>> bytecode.
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google Groups
>>>> "Google App Engine" group.
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msg/google-appengine/-/dHRvXzBkWVNkUndK.
>>>> To post to this group, send email to google-appengine@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.
>>>
>>> --
>>> 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-appengine@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.
>>
>> --
>> 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-appengine@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.
>>
>
> --
> 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-appengine@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.
>
>

-- 
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-appengine@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