On Thu, 9 Jan 2003, Stephan Michels wrote: > > > On Thu, 9 Jan 2003, Giacomo Pati wrote: > > > On Thu, 9 Jan 2003, Stephan Michels wrote: > > > > > > > > > > > > > > On 9 Jan 2003 [EMAIL PROTECTED] wrote: > > > > > > > giacomo 2003/01/09 06:35:25 > > > > > > > > Modified: src/scratchpad/src/org/apache/cocoon/components/source/impl > > > > SlideSource.java > > > > Log: > > > > make some method package protected instead of privat to increase performance >by avoiding 'access emulated by a synthetic accessor method' (objected by eclipse) > > > > > > > > > > > > > Hmm, do really think that using package protected modifiers instead of > > > private modifiers make the implementation faster. For some time I read > > > an article, which says the private modifier make the fastest access > > > possible. > > > > You can prove that by yourself using the following code: > > > > public class A > > { > > private int a; > > > > public A() > > { > > AA aa = new AA(); > > } > > > > private int foo( AA a ) > > { > > AA b = a; > > return 0; > > } > > > > public class AA > > { > > public AA() > > { > > int b = a; > > } > > public void b() > > { > > foo( this ); > > } > > } > > } > > > > Compile this and produce an assembly listing (javap -c A). > > > > Now, remove the private modifier from the 'int a' as well as from method > > foo to make it package protected. > > > > If you compare these assably listing you'll see what java does with it. > > > > Access to the private variable 'a' as well as to the private method > > 'foo' from within the inner class is indirected by use of > > a synthetic accessor method. > > Okay, now I see what you mean, because of the inner class > SlideSourceOutputStream the accessor methods will be produced. And > now Eclipse thinks that if I change all used member variables to > package private all run faster. > > If you insert > > private int bar() > { > return a+3; > } > > you will see that bar doesn't need a synthetic accessor method.
Of course not, it's in the same instance. > So have a bit more Performance, with a package private member variables. > > First rule of performance tuning: Don't do it. cit. Bitter Java(I think) or better 'don't access private outer class methods/variables from inner classes'. Ok, does any other here have an oppinion on this? Giacomo --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]