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.

Reply via email to