I didn't commit from my office, but the bench looks like : *
public* *class* CurrentTimeMillisVsNanoTime { *static* *int* *loops* = 1000000; /** * [EMAIL PROTECTED] args */ *public* *static* *void* main( String[] args ) { *long* time = System.*nanoTime*(); *long* t; *for* ( *int* i = 0; i < *loops*; i++ ) { t = System.*nanoTime*(); } System.*out*.println( "System.nanoTime took : " + (System.*nanoTime*() - time ) + "ns" ); time = System.*nanoTime*(); *for* ( *int* i = 0; i < *loops*; i++ ) { t = System.*currentTimeMillis*(); } System.*out*.println( "System.currentTimeMillis took : " + (System.*nanoTime *() - time ) + "ns" ); } } 2008/2/1, sebb <[EMAIL PROTECTED]>: > > And I could probably run it on OpenVMS > > ;-) > > On 01/02/2008, Siegfried Goeschl <[EMAIL PROTECTED]> wrote: > > Hi Nicolas, > > > > if I either find the test code (or you commit it) I can tell you on Mac > > OS X .... :-) > > > > Siegfried Goeschl > > > > nicolas de loof wrote: > > > on java < 5 backport-util-concurrent is required to provide > > > System.nanotime() > > > > > > I've no idea of the result of such a bench on other JVM / > > > architectures. I'll try it on some of my corporate servers (solaris / > > > linux ...) > > > > > > Having two timing modes would be a solution as you proposed. > > > > > > 2008/2/1, Siegfried Goeschl <[EMAIL PROTECTED] > > > <mailto:[EMAIL PROTECTED]>>: > > > > > > Hi Nicolas, > > > > > > a few thoughts > > > > > > +) I use dynamic proxies together with JAMon to measure the > execution > > > time of method invocations - ns would make a lot of sense here > > > +) the execution times also depend on you JVM since you are using > > > JRockit > > > +) and finally it depends how often you start/stop a monitor > > > +) retrotranslator will fail badly since System.nanotime() was > > > introduced with Java 1.5 > > > > > > Maybe the decision can be deferred until creating a monitor - the > user > > > decides whether to use ms or ns? > > > > > > Cheers, > > > > > > Siegfried Goeschl > > > > > > nicolas de loof wrote: > > > > Hello, > > > > > > > > For commons-monitoring my first intent was to use > > > System.nanotime() to > > > > compute code performances. A simple bench [1] demonstrates that > > > > System.currentTimeMillis is FAR quicker to return current time > > > (on my > > > > windows box [2]) : > > > > > > > > nanoseconds precision may be usefull for profilers, but is it > > > for monitoring > > > > purpose ? > > > > > > > > > > > > > > > > [1] 10000000 time (System.nanoTime() ) vs > > > (System.currentTimeMillis()) : > > > > > > > > D:\projets\apache\trunks-sandbox\monitoring\target>java -server > -cp > > > > .\test-classes > > > > org.apache.commons.monitoring.bench.CurrentTimeMillisVsNanoTime > > > > nanotime took : 4683052742ns > > > > currentTimeMillis took : 26907938ns > > > > > > > > [2] > > > > D:\projets\apache\trunks-sandbox\monitoring\target>java -version > > > > java version "1.6.0" > > > > Java(TM) SE Runtime Environment (build 1.6.0-b105) > > > > BEA JRockit(R) (build > > > R27.2.0-131-78843-1.6.0-20070320-1457-windows-ia32, > > > > compiled mode) > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > <mailto:[EMAIL PROTECTED]> > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > <mailto:[EMAIL PROTECTED]> > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >