I belive System.currentTimeMillis() is more accurate than GetTickCount(). System.currentTimeMillis returns the time in milliseconds since 1970. and if i am right GetTickCount() returns the time in milliseconds since the last reboot or something like that.(Havent seen this documented)
Well.. above all of this.. u can clearly see.. how long it takes to run in the browser once you start increasing those loops. Matt/Sean/Jerry ... any of you guys around to comment on this.. Joe > I know that you can't use getTickCount() as an exact time but it should > be valid for comparison. > -----Original Message----- > From: Dick Applebaum [mailto:[EMAIL PROTECTED]] > Sent: Tuesday, September 17, 2002 11:38 AM > To: CF-Talk > Subject: Re: FW: Jsp Vs Cfm (CFMX) -- Test Code > > > I was running Developer version with Default web server on the same box > as my browser, mail, editor and apache web server (for Tomcat), MySQL, > PointBase, PostgresSQL, SyBase db servers --- so I have a lot of other > stuff going on on the same box. > > I saw jsp times from 28-136 ms, but most often it was in the 40-50 ms > range. > > > Dick > > On Tuesday, September 17, 2002, at 08:07 AM, Joe Eugene wrote: > > > Dick, > > CFMX Enterprise was showing the below results for me > > > > Jsp=20ms > > Cfm=3064ms > > > > consistently. Increasing the loops *Jsp* seemed to perform well.. > > Cfm started to die off. > > I happen to notice one abnormal behaviour as well for *.cfm > > loops=1000000 > > for(x=1;x lte loops;x=x+1) > > If you reference the variable like "x lte loops" ,CFMX takes a hefty > > 8903ms to run the code. I have no idea.. why this is happening. > > > > Anyways.. i think it comes down to the fact that the CFMX compiler > > needs to produce more optimized Serlvet/bytecode. > > I wonder how the CFMX compiler transforms *.cfm into servlet code? > > Does CFMX actually change CFM Code to *Strong type*(int, String, > > double > > etc)? > > if this is the case...we shouldnt see the huge performance > difference. > > Joe > > > > > > > >> -----Original Message----- > >> From: Dick Applebaum [mailto:[EMAIL PROTECTED]] > >> Sent: Tuesday, September 17, 2002 8:27 AM > >> To: CF-Talk > >> Subject: Re: FW: Jsp Vs Cfm (CFMX) -- Test Code > >> > >> > >> Joe > >> > >> I didn't try the code, at first, because I can't run jsp under CFMX > >> on > >> the Mac. > >> > >> After your email I tried the comparison using jsp under Tomcat > >> jwsdp-1_0-ea2. > >> > >> The results I got are significant. > >> > >> The cfm program consistently takes more than 40-80 times longer to run > >> than the jsp program (under Tomcat), for example: > >> > >> cfm: 4110 ms > >> jsp: 50 ms > >> > >> I fiddled with the program to make sure the actual loop was as similar > >> as possible and that nothing but the loop was within the timing -- no > >> significant affect. > >> > >> I tried longer loops with similar results. > >> > >> I changed the test to lt (<) instead of lte (<=), similar results. > >> > >> I changed the jsp increment x++ to match cfm's x=x+1 -- similar > >> results. > >> > >> On Mac OS X both Tomcat and CFMX/JRun use the same underlying (Mac OS > >> X) JVM (not the one installed with CFMX). > >> > >> The problem appears to be whatever CFMX uses to generate a Java > >> program, is doing it (at least this loop) very inefficiently. > >> > >> Anyone else have any ideas? > >> > >> Dick > >> > >> > >> > >>> In reply to my Original Post for anybody interested in the Test code > >>> Jsp code implemented in a Java class compiled with J2SE(JDK 1.4.1 RC) > >>> produced the > >>> same results as CFMX Jsp code. > >>> > >>> <!--- Jsp Code, cut and paste in a *.jsp file. This is for CFMX > >>> Enterprise ---> > >>> <% > >>> long loops=1000000,sTime=0,eTime=0,r=0; > >>> double i=0; > >>> out.println(loops +" Loops<br>"); > >>> sTime=System.currentTimeMillis(); > >>> out.println(+sTime+"ms Start Time<br>"); > >>> for(long x=1;x<=loops;x++){ > >>> r=r+x; > >>> } > >>> eTime=System.currentTimeMillis(); > >>> out.println(r+" Result<br>"); > >>> out.println(eTime+"ms End Time<br>"); > >>> out.println((eTime-sTime)+"ms Execution Time<br>"); > >>> i=(eTime-sTime)/1000; > >>> out.println(i+"seconds"); > >>> %> > >>> > >>> <!-- Cfm Code, "loops" var in the for statement took more than double > >>> the > >>> time to run, i am not sure why? --> > >>> <cfscript> > >>> loops=1000000;z=0; > >>> writeOutput(loops & " Loops<br>"); > >>> sTime=GetTickCount(); > >>> writeOutput(sTime & "ms Start Time<br>"); > >>> for(x=1;x lte 1000000;x=x+1)/*<=loops takes more than double the > >>> time*/ > >>> {z=z+x;} > >>> eTime=GetTickCount(); > >>> writeOutput(z & " Result<br>"); > >>> writeOutput(eTime & "ms End Time<br>"); > >>> writeOutput(eTime-sTime&"ms Execution Time<br>"); > >>> writeOutput((eTime-sTime)/1000&"seconds"); > >>> </cfscript> > >>> > >>> > >>> Joe Eugene > >>> Certified Advanced ColdFusion Developer > >>> > >> > >> > > > ______________________________________________________________________ Signup for the Fusion Authority news alert and keep up with the latest news in ColdFusion and related topics. http://www.fusionauthority.com/signup.cfm FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists