Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Is VFP 8 Faster
Message
General information
Forum:
Visual FoxPro
Category:
Other
Title:
Miscellaneous
Thread ID:
00756726
Message ID:
00757005
Views:
13
Nice!, thats why i see some of our very complex forms load much faster with VFP8. I planned to take a break and try with the session class but i gave up after 15 minutes, it took only 5.797 sec. in VFP8.


>Your code creates then releases a single object 5000 times. The object creation/destruction optimizations in VFP8 are better demonstrated with creation of multiple objects, then destruction of them. Here is an update of your code, to create 5000 objects, then release them. I took out the Session class, it is very slow in VFP7, but you can add it back in if you are planning on taking a LONG break when running under VFP7. <g>
>
>
>CLEAR ALL
>CLOSE DATABASES ALL
>#define nItCount 5000
>Local x,i,a
>Local array laClasses(1)
>If File("VFPTest.dbf")
>	USE VFPTest
>Else
>	Create Table VFPTest(ClassName C(20), Time7 N(12,4), Time8 N(12,4) )
>EndIf
>x="line,container,commandbutton,custom,textBox,Spinner,Shape,label,editbox"
>x=Strtran(x, ",", chr(13) )
>ALines(laClasses, x)
>
>For i = 1 to Alen(laClasses,1)
>RELEASE oArr
>LOCAL oArr[nItCount]
>	n=Seconds()
>	For a = 1 to nItCount
>		oArr[a]= CreateObject(laClasses(i))
>	EndFor
>	For a = 1 to nItCount
>		oArr[a] = NULL
>	EndFor
>	? laClasses(i) + " Class: " + Transform(Seconds() -n)
>	Locate For ClassName = laClasses(i)
>	If Found()
>		If Val(_Vfp.Version) = 8
>			Update VFPTest Set Time8 = Evaluate("Seconds() -n") Where ClassName = laClasses(i)
>		Else
>			Update VFPTest Set Time7 = Evaluate("Seconds() -n") Where ClassName = laClasses(i)
>		EndIf
>	Else
>		If Val(_Vfp.Version) = 8
>			Insert Into VFPTest (ClassName, Time7, Time8 ) Values ;
>				( LaClasses(i), 0, Seconds() - n)
>		Else
>			Insert Into VFPTest (ClassName, Time7, Time8 ) Values ;
>				( LaClasses(i), Seconds() - n, 0)
>		Endif		
>	Endif		
>
>
>EndFor
>
>BROWSE NOWAIT
>
>
>
>>I heard the VFP 8 object creation was much faster then VFP7, which objects ? i run this in VFP7(SP1) and then in VFP8(RTM) and VFP7 is a bit faster. Can anyone confirm?
>>
>>
>>Local x,i,a
>>Local array laClasses(1)
>>If File("VFPTest.dbf")
>>	USE VFPTest
>>Else
>>	Create Table VFPTest(ClassName C(20), Time7 N(12,4), Time8 N(12,4) )
>>EndIf
>>Local ox as
>>x="Session,line,container,commandbutton,custom,textBox,Spinner,Shape"
>>x=Strtran(x, ",", chr(13) )
>>ALines(laClasses, x)
>>
>>For i = 1 to Alen(laClasses,1)
>>
>>	n=Seconds()
>>	For a = 1 to 10000
>>		ox = CreateObject(laClasses(i))
>>		ox = NULL
>>	EndFor
>>	? laClasses(i) + " Class: " + Transform(Seconds() -n)
>>	Locate For ClassName = laClasses(i)
>>	If Found()
>>		If Val(_Vfp.Version) = 8
>>			Update VFPTest Set Time8 = Evaluate("Seconds() -n") Where ClassName = laClasses(i)
>>		Else
>>			Update VFPTest Set Time7 = Evaluate("Seconds() -n") Where ClassName = laClasses(i)
>>		EndIf
>>	Else
>>		If Val(_Vfp.Version) = 8
>>			Insert Into VFPTest (ClassName, Time7, Time8 ) Values ;
>>				( LaClasses(i), 0, Seconds() - n)
>>		Else
>>			Insert Into VFPTest (ClassName, Time7, Time8 ) Values ;
>>				( LaClasses(i), Seconds() - n, 0)
>>		Endif		
>>	Endif		
>>
>>
>>EndFor
>>
>>Browse
>>
Previous
Reply
Map
View

Click here to load this message in the networking platform