[Off] Faзa seu desafio, qual codigo й melhor e mais otimizado?
#1

Bom й simples, a intenзгo й postar seus cуdigos de testes, testar a lуgica e capacidade das suas mentes.

Podem discutir,(Sem brigas), й permitido dar sua opiniгo mas saiba compreender as dos outros membros.

Ah, vou comeзar com uma func hardcore d+.
pawn Код:
main()
{
    for(new i; i < 50; i++)
        print("Olб mundo!");
}
Reply
#2

pawn Код:
for(new x = 0; x ^ 50; ++x)
        print("Olб mundo!");
Ficou um pouquinho mais rapido
Reply
#3

Owna tudo:

pawn Код:
main()
{
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");

}
Reply
#4

Quote:
Originally Posted by Kuddy
Посмотреть сообщение
Owna tudo:

pawn Код:
main()
{
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");

}
SQN


pawn Код:
new
        kuddy,
        dan,
        syn
    ;
   
   
    new b = GetTickCount();
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
   
    kuddy = GetTickCount() - b;
   
    b = GetTickCount();
    for(new x = 0; x ^ 50; ++x)
    {
        printf("Olб mundo");
    }
    dan = GetTickCount() - b;
   
    b = GetTickCount();
    static _c;
    for(_c = -1; (++_c != 50); )
    {
        printf("Olб mundo");
    }
    syn = GetTickCount() - b;
   
    printf("\n\nBenchmarks:\nKud: %d\nDan: %d\nSyn: %d", kuddy, dan, syn);

O Cуdigo do Kuddy ficou estбvel, sempre na mйdia 30~40, o do Dan ficou rбpido e instбvel, porйm lento comparado ao meu. logo o meu ficou estбvel, executando mais rapidamente...
Reply
#5

pawn Код:
//
#define @BRU "\n" "Olб mundo!"
print( ! @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU);
print( ! @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU);
5 bjs.

O ъnico jeito melhor que este й:


Quote:

print("Ola mundo\nOlaMundo");

mas eu quis evitar a fadiga.

O meu й mais rбpido e estбvel e ocupa 4 vezes a menos de RAM, fim de histуria.


pawn Код:
new
        kuddy,
        dan,
        syn,
        bru
    ;


    new b = GetTickCount();
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");
    print("Olб mundo!");

    kuddy = GetTickCount() - b;

    b = GetTickCount();
    for(new x = 0; x ^ 50; ++x)
    {
        printf("Olб mundo!");
    }
    dan = GetTickCount() - b;

    b = GetTickCount();
    static _c;
    for(_c = -1; (++_c != 50); )
    {
        printf("Olб mundo!");
    }
    syn = GetTickCount() - b;

    b = GetTickCount();
    #define @BRU "\n" "Olб mundo!"
    print( !@BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU);
    print(  !@BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU @BRU);
   
    bru = GetTickCount() - b;


    printf("\n\nBenchmarks:\nKud: %d\nDan: %d\nSyn: %d\nBru: %d", kuddy, dan, syn, bru);
Код:
Kud: 93
Dan: 118
Syn: 100
Bru: 48
Duas vezes mais rбpido, em algumas vezes


Код:
Kud: 108
Dan: 93
Syn: 103
Bru: 61

Mas isso que eu e Kuddy fizemos й apelaзгo, nгo й o verdadeiro objetivo.


Entгo vamos fazer mais certinho


Essa й a maneira mais rбpida:


pawn Код:
{ // abrir escopo para declarar static dentro do loop

    static x;
    x = 0;
    do {
        print(!"Ola mundo!");
    }
    while(  ++x ^ 50);
     
 } // fechar escopo adicional

Dessa maneira, declara em static. Nгo ocupando muito tempo com news.

Dessa maneira, ocupa menos ram com print(!);

Dessa maneira, o ++x jб aumenta antes e envia para o resultado, tornando melhor que ++x

Dessa maneira ^ й melhor que !=
Reply
#6

pawn Код:
static x;
    x = 0;
    for(; ++x ^ 100;)
    {
        print(!"Ola Mundo!");
    }
Agora ficou mais rapida que a do gato.
Reply
#7

Quote:
Originally Posted by DanDRT
Посмотреть сообщение
pawn Код:
static x;
    x = 0;
    for(; ++x ^ 100;)
    {
        print(!"Ola Mundo!");
    }
Agora ficou mais rapida que a do gato.
Mas ainda perde pra mim, nй
Reply
#8

Quote:
Originally Posted by ipsBruno
Посмотреть сообщение
Mas ainda perde pra mim, nй
Era pra deixar isso em oculto
Reply
#9

pawn Код:
static i;
for( i = 0; i < 5; i++)
{
    print("Ola Mundo\nOla Mundo\nOla Mundo\nOla Mundo\nOla Mundo\nOla Mundo\nOla Mundo\nOla Mundo\nOla Mundo\nOla Mundo");
}
Код:
Benchmarks:
Kud: 35
Dan: 37
Syn: 38
Gusgato:6
Reply
#10

Quote:
Originally Posted by Dolby
Посмотреть сообщение
Код:
Benchmarks:
Kud: 35
Dan: 37
Syn: 38
Gusgato:6
Й mais lento que o meu tambйm UEAUEAU

Testem com o meu tambйm pessoal, qual й
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)