Agreed. Thanks for the help.
Maxim. On Thu, Sep 16, 2010 at 4:38 PM, Ikai Lan (Google) <[email protected]<ikai.l%[email protected]> > wrote: > No, there's no control over this. It's a bit of an overoptimization right > now, wouldn't you say? I'd put it into production first before seeing how > much I'd need it. > > On Thu, Sep 16, 2010 at 9:36 AM, Maxim Veksler <[email protected]> wrote: > >> Thank you Ikai. >> >> It's perfectly clear the JVM's spin up / down (and to the sides at some >> strange corner cases :) >> >> Is it possible to share the amount of threads a typical JVM running on up >> appengine is configured to launch? >> That would help me plan better, because if I have a class that eats 0.5MB >> of heap (theoretically, I'm more like 1-5k) . Then if each JVM has a maximum >> of 2000 threads it's OK but if each JVM get's 20000 threads then this design >> won't do. >> >> Appreciate your comments. >> >> Thank you, >> Maxim. >> >> On Thu, Sep 16, 2010 at 4:07 PM, Ikai Lan (Google) < >> [email protected] <ikai.l%[email protected]>> wrote: >> >>> You can store data in ThreadLocal as a cache, but it will be extremely >>> volatile, especially if we spin up/spin down instances. It's fine to use >>> this to cache data that you can easily regenerate. Just be aware that if you >>> hit memory limits, we will cull and restart that instance. >>> >>> >>> On Thu, Sep 16, 2010 at 12:50 PM, Francois Masurel <[email protected]>wrote: >>> >>>> Each app instance runs in its own JVM. So it should be safe to cache >>>> data in ThreadLocal. >>>> >>>> On 16 sep, 09:08, Maxim Veksler <[email protected]> wrote: >>>> > I would like to cache a not thread safe object, I'm hoping to improve >>>> > performance by caching it instead of instantiating new instance per >>>> request. >>>> > >>>> > Thanks, >>>> > Maxim. >>>> > >>>> > On Thu, Sep 16, 2010 at 8:12 AM, Guillaume Laforge < >>>> [email protected]>wrote: >>>> > >>>> > >>>> > >>>> > > What kind of data or information do you want to share through >>>> thread-locals >>>> > > between threads/requests? >>>> > >>>> > > On Thu, Sep 16, 2010 at 08:04, Maxim Veksler <[email protected]> >>>> wrote: >>>> > >>>> > >> I didn't say multi threaded. >>>> > >>>> > >> ThreadLocal gives access to the cached object of the current >>>> thread. >>>> > >> I'm doing an assumption here that appengine/j is implemented with >>>> thread >>>> > >> per incoming request. >>>> > >>>> > >> What I would like to know is if these threads are recycled (in >>>> which case >>>> > >> ThreadLocal is a good approach) or not. >>>> > >>>> > >> Thanks, >>>> > >> Maxim. >>>> > >>>> > >> On Thu, Sep 16, 2010 at 6:17 AM, Didier Durand < >>>> [email protected]>wrote: >>>> > >>>> > >>> Hi Maxim, >>>> > >>>> > >>> Multi-threading is not the way to go under GAEJ, see >>>> > >>>http://code.google.com/appe< >>>> http://code.google.com/appengine/docs/java/runtime.html#The_Sandbox> >>>> > >>>> > >> *I didn't say multi threaded. * >>>> > >>>> > >> ngine/docs/java/runtime.html#The_Sandbox< >>>> http://code.google.com/appengine/docs/java/runtime.html#The_Sandbox> >>>> > >>>> > >>> The right way to go is Tasks: >>>> > >>>http://code.google.com/appengine/docs/java/taskqueue/overview.html >>>> > >>>> > >>> regards >>>> > >>>> > >>> didier >>>> > >>>> > >>> On Sep 15, 2:00 pm, Maxim Veksler <[email protected]> wrote: >>>> > >>> > Hello, >>>> > >>>> > >>> > I'm wondering (after some internal discussion we had) is using >>>> > >>> ThreadLocal >>>> > >>> > for applications running on the AppEngine is performance >>>> beneficial ? >>>> > >>>> > >>> > For this to work AppEngine should recycle threads, right? >>>> > >>>> > >>> > Another question is how many threads does the appengine allows >>>> per JVM >>>> > >>> ? >>>> > >>> > Such ThreadLocal based approach would (probably) be inefficient >>>> if the >>>> > >>> JVM >>>> > >>> > allowed 20000 threads. >>>> > >>>> > >>> > Help is appreciated. >>>> > >>> > Maxim. >>>> > >>>> > >>> -- >>>> > >>> 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]<google-appengine-java%[email protected]><google-appengine-java%2B >>>> [email protected]> >>>> > >>> . >>>> > >>> For more options, visit this group at >>>> > >>>http://groups.google.com/group/google-appengine-java?hl=en. >>>> > >>>> > >> -- >>>> > >> 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]<google-appengine-java%[email protected]><google-appengine-java%2B >>>> [email protected]> >>>> > >> . >>>> > >> For more options, visit this group at >>>> > >>http://groups.google.com/group/google-appengine-java?hl=en. >>>> > >>>> > > -- >>>> > > Guillaume Laforge >>>> > > Groovy Project Manager >>>> > > Head of Groovy Development at SpringSource >>>> > >http://www.springsource.com/g2one >>>> > >>>> > > -- >>>> > > 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]<google-appengine-java%[email protected]><google-appengine-java%2B >>>> [email protected]> >>>> > > . >>>> > > For more options, visit this group at >>>> > >http://groups.google.com/group/google-appengine-java?hl=en. >>>> >>>> -- >>>> 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]<google-appengine-java%[email protected]> >>>> . >>>> For more options, visit this group at >>>> http://groups.google.com/group/google-appengine-java?hl=en. >>>> >>>> >>> -- >>> 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]<google-appengine-java%[email protected]> >>> . >>> For more options, visit this group at >>> http://groups.google.com/group/google-appengine-java?hl=en. >>> >> >> -- >> 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]<google-appengine-java%[email protected]> >> . >> For more options, visit this group at >> http://groups.google.com/group/google-appengine-java?hl=en. >> > > -- > 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]<google-appengine-java%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/google-appengine-java?hl=en. > -- 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.
