Thanks Peter for your reply. In fact, after doing some experimentation, I'm able to answer most of my own questions, at least unless a Google engineer corrects my answers:
* What is an "update" exactly? Is it a call to "pm.makePersistent ()"? Is it a call to "tx.commit()"? Is it a call to "pm.flush()"? Is it an update of a single field in a single Java object? Is it an invocation of "doGet()/doPost()"? tim> If you're not using transactions, then an update seems to mean a call to "pm.makePersistent()", (or "pm.makePersistentAll()" on objects within an entity group.) If you are using transactions, the answer seems more complicated and I don't know. * Suppose you want to do multiple updates within the one entity group within a single Java function. At what point is the 100ms cost incurred? Which function call blocks for the 100ms? tim> If you're not using transactions, then it's "pm.makePersistent()" which blocks. If you are using transactions, then I *think* there's significant time elapsed in both "pm.makePersistent()" and "tx.commit ()". * Is it possible to create 900 child entities in an entity group in a single Java function call, by structuring this "creation of 900 objects" as a single "update"? tim> Yes, if I use "pm.makePersistentAll()" (duh!). I got my request running extremely quickly, (as quickly as I'd ever expect) by using "pm.makePersistentAll()". I passed in a collection: "ArrayList<Object>". I used an ArrayList<Object> in order that I can persist child objects if different types, and also even the head object, in a single call. * If I don't use transactions, does this "1-10 updates per second" limitation go away? tim> No. The critical difference is the use of "pm.makePersistentAll ()". (However, for the record: it seems that transactions can somewhat mitigate the mistake of using "pm.makePersistent()" when you should be using "pm.makePersistentAll()": for me, it made things run twice as quick). -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
