26.01.2011, 21:58
Olб,
Apenas queria saber se esse simples teste de velocidade de execuзгo de loops(macro`s) й valido, se ele estб correto.
Resultados:
Apenas queria saber se esse simples teste de velocidade de execuзгo de loops(macro`s) й valido, se ele estб correto.
pawn Код:
#include <a_samp>
#define maxloop (1000000)
#define Loop(%0,%1) \
for(new %0 = 0; %0 != %1; ++%0)
#define Reloop(%0,%1) \
for(new %0 = %1; %0 != -1; --%0)
new NTest1 = 4;
new TestTimer1;
new NTest2 = 4;
new TestTimer2;
public OnFilterScriptInit()
{
TestTimer1 = SetTimer("Timer",2000,true);
TestTimer2 = SetTimer("Timer2",2000,true);
return 1;
}
forward Timer();
public Timer()
{
new gc = GetTickCount();
new a[11];
Loop(x,maxloop)
{
Loop(z,11)
{
a[z] = (x*z);
}
if(a[0] == a[0] && x == x)
{
a[0]=(x*x);
a[1]=((x+x)/5)+(a[5]*a[6]);
}
}
printf("Resultado Loop: %d ,Repetido: %d mil vezes",(GetTickCount() - gc),maxloop);
NTest1--;
if(NTest1 == 0) KillTimer(TestTimer1);
return 1;
}
forward Timer2();
public Timer2()
{
new gc = GetTickCount();
new a[11];
Reloop(x,maxloop)
{
Reloop(z,10)
{
a[z] = (x*z);
}
if(a[0] == a[0] && x == x)
{
a[0]=(x*x);
a[1]=((x+x)/5)+(a[5]*a[6]);
}
}
printf("Resultado Reloop: %d ,Repetido: %d mil vezes",(GetTickCount() - gc),maxloop);
NTest2--;
if(NTest2 == 0) KillTimer(TestTimer2);
return 1;
}
pawn Код:
[20:59:16] Resultado Loop, Tempo: 1480 ,Repetido: 1000000 mil vezes
[20:59:19] Resultado Loop, Tempo: 1508 ,Repetido: 1000000 mil vezes
[20:59:22] Resultado Loop, Tempo: 1483 ,Repetido: 1000000 mil vezes
[20:59:25] Resultado Loop, Tempo: 1481 ,Repetido: 1000000 mil vezes
[20:59:28] Resultado Reloop, Tempo: 1323 ,Repetido: 1000000 mil vezes
[20:59:31] Resultado Reloop, Tempo: 1280 ,Repetido: 1000000 mil vezes
[20:59:34] Resultado Reloop, Tempo: 1304 ,Repetido: 1000000 mil vezes
[20:59:37] Resultado Reloop, Tempo: 1316 ,Repetido: 1000000 mil vezes