Hi Ceki, The problem manifests itself under windows xp. Windows 7 is much better.
Peter Am 21.12.2011 um 09:47 schrieb ceki: > Hi Peter, > > FYI, running the little application you provided under JDK 1.6.0_23-b05 and > Windows 7, I get 4.8 seconds with java and 1.1 seconds under javaw. > > I am unable to reproduce the performance problem. > > -- > Ceki > http://twitter.com/#!/ceki > > On 21.12.2011 09:19, Peter Kullmann wrote: >> Hi Ceki >> >> I have tried using System.out.println() instead of logger.debug(). It is >> fast (less than a second). >> >> Best regards, >> Peter >> >> Am 20.12.2011 um 18:50 schrieb ceki: >> >>> Hi Peter, >>> >>> If I understand correctly, you have shown that invoking System.out.println >>> is slow with javaw. Do you know why? >>> If the reason was known, for example it was due to exceptions being thrown, >>> ConsoleAppender could address that problem. >>> >>> Is it possible to check whether an app is running under javaw and not java? >>> ConsoleAppender could disable itself under javaw. >>> >>> -- >>> Ceki >>> http://twitter.com/#!/ceki >>> >>> On 20.12.2011 18:34, Peter Kullmann wrote: >>>> Hi, >>>> >>>> we had a problem with the performance of our application and it boiled >>>> down to very bad performance of the console appender when there is no >>>> console (in particular on windows xp). >>>> >>>> You can see the whole context of the issue here: >>>> http://www.eclipse.org/forums/index.php/m/768740/#msg_768740 >>>> >>>> Here's the conclusion and the code for my experiments: >>>> >>>> >>>> package testlogback; >>>> >>>> import java.io.FileWriter; >>>> import java.io.IOException; >>>> >>>> import org.slf4j.Logger; >>>> import org.slf4j.LoggerFactory; >>>> >>>> public class Main { >>>> public static void main(String[] args) throws IOException { >>>> Logger logger = LoggerFactory >>>> .getLogger("chapters.introduction.HelloWorld1"); >>>> long start = System.currentTimeMillis(); >>>> for (int i = 0; i< 10000; i++) { >>>> logger.debug("Hello world."); >>>> } >>>> long end = System.currentTimeMillis(); >>>> >>>> FileWriter fileWriter = new FileWriter("logbacktest.out"); >>>> fileWriter.write("Time: " + (end - start) + "\n"); >>>> fileWriter.close(); >>>> System.out.println("Time: " + (end - start)); >>>> } >>>> } >>>> >>>> >>>> On my windows box it prints out "Time: 140" when started as "java -jar >>>> testlogback.jar". If I start "javaw -jar testlogback.jar" it uses 100% CPU >>>> for about 20 seconds (for effectively doing nothing). This is the case for >>>> Sun ire 6 and 7 on windows xp. >>>> >>>> On windows 7 the situation is better: javaw uses only about 7 seconds >>>> (which is still too much, I guess). >>>> >>>> Best regards, >>>> Peter >>>> > > > > _______________________________________________ > Logback-user mailing list > [email protected] > http://mailman.qos.ch/mailman/listinfo/logback-user > _______________________________________________ Logback-user mailing list [email protected] http://mailman.qos.ch/mailman/listinfo/logback-user
