Re: Google Guice Peformance: CPU and Memory

2008-11-26 Thread Bob Lee
We still need to fix the problem w/ the thread local in Injector by using an Object[] instead of a Context[]. On Nov 26, 2008 9:31 PM, "Stuart McCulloch" <[EMAIL PROTECTED]> wrote: 2008/11/27 Gili Tzabari <[EMAIL PROTECTED]> > > > Stuart McCulloch wrote: > > so it's not a matter of what's ke

Re: Google Guice Peformance: CPU and Memory

2008-11-26 Thread Stuart McCulloch
2008/11/27 Gili Tzabari <[EMAIL PROTECTED]> > > Stuart McCulloch wrote: > > so it's not a matter of what's keeping the Finalizer alive - you need to > > find out what's > > keeping the Guice classloader alive, as this is keeping the Finalizer > > alive indirectly > > By "Guice classloader"

Re: Google Guice Peformance: CPU and Memory

2008-11-26 Thread Gili Tzabari
Stuart McCulloch wrote: > so it's not a matter of what's keeping the Finalizer alive - you need to > find out what's > keeping the Guice classloader alive, as this is keeping the Finalizer > alive indirectly By "Guice classloader" you mean the CL used to invoke Guice.createInjector?

Re: Google Guice Peformance: CPU and Memory

2008-11-26 Thread Stuart McCulloch
2008/11/27 Gili Tzabari <[EMAIL PROTECTED]> >Looks like a definite ClassLoader problem... > > 1) I'm running under Glassfish v3 prelude 28c which I believe is the > latest version. > > 2) I verified that warp-servlet is clearing its references. > > 3) The heap dump lists the same class nam

Re: Google Guice Peformance: CPU and Memory

2008-11-26 Thread Gili Tzabari
Looks like a definite ClassLoader problem... 1) I'm running under Glassfish v3 prelude 28c which I believe is the latest version. 2) I verified that warp-servlet is clearing its references. 3) The heap dump lists the same class name multiple times. It took me a while to figure out th

Re: Google Guice Peformance: CPU and Memory

2008-11-26 Thread Stuart McCulloch
2008/11/27 Gili Tzabari <[EMAIL PROTECTED]> > > Stuart McCulloch wrote: > > can you be a bit more clearer about the link from the Finalizer thread > > to the Tomcat classes? are you loading Guice as a separate bundle > > or elsewhere in the hierarchy, like inside a Tomcat classloader? > >

Re: Google Guice Peformance: CPU and Memory

2008-11-26 Thread Gili Tzabari
Stuart McCulloch wrote: > can you be a bit more clearer about the link from the Finalizer thread > to the Tomcat classes? are you loading Guice as a separate bundle > or elsewhere in the hierarchy, like inside a Tomcat classloader? Not as far as I know. I am just using Guice as a library

Re: Google Guice Peformance: CPU and Memory

2008-11-26 Thread Gili
Finalizer leaking memory is one thing, but what I find even more suspicious is that warp-servlet is not reseting rootInjector to null on shutdown. This doesn't make sense in light of what I see in the source-code. The only way I will be able to track this down is if I have the source- code and ma

Re: Google Guice Peformance: CPU and Memory

2008-11-26 Thread Stuart McCulloch
2008/11/27 Gili <[EMAIL PROTECTED]> > > Stuart, > > I just tried your build against Glassfish v2ur2 and I am seeing the > following memory leak: > > com.google.inject.internal.base.internal.Finalizer (thread) -> classes > (Tomcat) -> elementData[149] -> rootInjector (warp-servlet) -> value - > > j

Re: Google Guice Peformance: CPU and Memory

2008-11-26 Thread Gili
Stuart, I just tried your build against Glassfish v2ur2 and I am seeing the following memory leak: com.google.inject.internal.base.internal.Finalizer (thread) -> classes (Tomcat) -> elementData[149] -> rootInjector (warp-servlet) -> value - > jitBindings (Guice) -> table[33] -> next -> value ->

Re: Google Guice Peformance: CPU and Memory

2008-11-26 Thread Brian Pontarelli
On Nov 26, 2008, at 9:44 AM, Gili Tzabari wrote: > > Brian Pontarelli wrote: >> On Nov 25, 2008, at 2:06 PM, Dhanji R. Prasanna wrote: >>> On Tue, Nov 25, 2008 at 12:33 PM, Gili Tzabari >>> <[EMAIL PROTECTED]> wrote: Amazon.com might disagree with you on this point ;) >>> Somehow I dou

Re: Google Guice Peformance: CPU and Memory

2008-11-26 Thread Stuart McCulloch
http://peaberry.googlecode.com/svn/branches/spike/lib/build/google-guice-snapshot-20081126.jar and the various patches I applied (sans binary jars) can be found here: http://peaberry.googlecode.com/svn/branches/spike/lib/build/google-guice-patch-227.txt http://peaberry.googlecode.com/svn/b

Re: Google Guice Peformance: CPU and Memory

2008-11-26 Thread Gili Tzabari
Brian Pontarelli wrote: > On Nov 25, 2008, at 2:06 PM, Dhanji R. Prasanna wrote: >> On Tue, Nov 25, 2008 at 12:33 PM, Gili Tzabari >> <[EMAIL PROTECTED]> wrote: >>> Amazon.com might disagree with you on this point ;) >> Somehow I doubt amazon.com is backed by one server process. At least,

Re: Google Guice Peformance: CPU and Memory

2008-11-26 Thread Brian Pontarelli
On Nov 25, 2008, at 2:06 PM, Dhanji R. Prasanna wrote: > > On Tue, Nov 25, 2008 at 12:33 PM, Gili Tzabari > <[EMAIL PROTECTED]> wrote: >> >> Dhanji R. Prasanna wrote: >>> Also I recommend just bringing down the appserver every time. This >>> idea that webapps can be redeployed while the server

Re: Google Guice Peformance: CPU and Memory

2008-11-26 Thread o_swas
OK, thank you for all the replies! So it sounds like Spring isn't necessarily the problem with releasing memory upon web app deploy Guice might have the same problems, too. Can anybody comment on runtime performance of Spring vs. Guice? Will Guice scale any better (or worse) than Spring? How

Re: Proxies without ASM/CGLIB

2008-11-26 Thread Stuart McCulloch
2008/11/26 Johan Haleby <[EMAIL PROTECTED]> > I didn't mean that they used aspectj for proxying but rather suggesting > that aspectj could be used *instead* of proxying to achieve the same > results. exactly - I think the wires got crossed somewhere between your replies to the other thread and t

Re: Proxies without ASM/CGLIB

2008-11-26 Thread Johan Haleby
I didn't mean that they used aspectj for proxying but rather suggesting that aspectj could be used *instead* of proxying to achieve the same results. We discussed earlier that e.g. guice-warp couldn't support final or private methods for starting transacation because it used CGLib, but using a dele

Re: Proxies without ASM/CGLIB

2008-11-26 Thread Stuart McCulloch
2008/11/26 Johan Haleby <[EMAIL PROTECTED]> > > Perhaps I'm mistaken but mabey aspectj would be able to help you here? > AJDT works in the Eclipse environment and thus should work in OSGi as > well actually if you're using OSGi, I'd suggest looking at Equinox Aspects: http://www.eclipse.org/