USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Dicas

  Visual Basic    (Declarações/Variáveis)

Título da Dica:  Saiba qual a importância de se declarar suas variávies.
Postada em 22/8/2003 por Tekki            
Use o código abaixo para fazer os testes, veja que é o mesmo código porem num momento não estou usando um variáveis declaradas e não outro sim.

Dim dDeclarada1 As Double, dDeclarada2 As Double
Dim dTest As Double
'Teste sem váriaveis declaradas
vTempoGasto = Timer
Screen.MousePointer = vbHourglass
For vTest = 1 To 999999
    vVariant1 = Rnd() * 100
    vVariant2 = vVariant1 ^ vVariant2
    vVariant2 = Cos(Sin(vVariant1) * Log(vTest))
    vVariant2 = vVariant1 ^ vVariant2
    vVariant2 = Sin(Sin(vVariant1) * Log(vTest))
Next
vtime = Timer - vTempoGasto
MsgBox "Tempo " & Format(vtime, "###.0000")
Screen.MousePointer = vbDefault

vTempoGasto = Timer
'Teste com váriaveis declaradas
Screen.MousePointer = vbHourglass
For dTest = 1 To 999999
    dDeclarada1 = Rnd() * 100
    dDeclarada2 = dDeclarada1 ^ dDeclarada2
    dDeclarada2 = Cos(Sin(dDeclarada1) * Log(dTest))
    dDeclarada2 = dDeclarada1 ^ dDeclarada2
    dDeclarada2 = Sin(Sin(dDeclarada1) * Log(dTest))
Next
vtime = Timer - vTempoGasto
MsgBox "Tempo " & Format(vtime, "###.0000")
Screen.MousePointer = vbDefault

Observe os resultados :
Micro usado : P IV 1.6 Mhz com 128 de DDR
Tempo Gasto com variáveis não declaradas : 3,53
Tempo Gasto com variáveis  declaradas : 2,54

Micro usado : K6-2 500 Mhz com 64 de DIMM
Tempo Gasto com variáveis não declaradas : 11,488
Tempo Gasto com variáveis  declaradas : 8,133

Os testes foram feitos dentro do IDE do VB. Estas diferenças de tempo ocorrem porque quando o tipo é Variant o VB terá de converter a variável para receber de forma correta o valor inserido.

OBS:
Dim I, J as Integer
Neste caso só a variável J é integer a outra é do tipo Variant, faça o teste.

I = "A"
J = "A"

Na primeira variável o Visual Basic irá preparará a variável para receber o valor pois é do tipo Variant e isto faz com que seja gasto algum tempo. Na segunda variável terá o seguinte erro : "Type mismatch" pois por ser numérica não poderá receber uma String.
 


CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página