[Off] Mitos de velocidade
#1

Bem, criei esse tуpico pra saber quais os mitos de velocidades que vocкs conhecem
Um dos que conheзo й este: linhas nгo й sinфnimo de velocidade
Utilizando a include do Bruno, fiz os seguintes testes de velocidade
pawn Код:
main()
{
    TESTS(100);
    PROCESSAR();
    RESULTADO("");
   
    TESTS(333);
    new Var;
    Var=4;
    if(Var > 3)
    {
   
   
   
   
   
                                                                            Var=1;
   
   
   
   
   
    }
    PROCESSAR();
    RESULTADO("Mais linhas");
   
    TESTS(333);
    new Vor;
    Vor=4;
    if(Vor > 3) Vor=1;
    PROCESSAR();
    RESULTADO("Menos linhas");
   
}
E o resultado para o teste com mais linhas foi igual ao que tinha menos linhas.
Testei tambйm sem a include e os resultados foram os mesmos

E vocкs?? Quais mitos de velocidade vocкs conhecem??
Reply
#2

A questгo da quantidade de espaзos e linhas, apenas faz efeito no compile-time, que й onde o compilador faz a analise lйxica e semвntica, e acaba retirando todos esses espaзos.

Outra hora eu edito com algumas demonstraзхes.
Reply
#3

Claro que nesse exemplo dara igual, nao й a quantidade linhas que conta..

A forma como voce faz as condicoes isso sim conta.
Reply
#4

Se as linhas contassem para a velocidade de processamento, acho que todos os programas que conhecemos(exemplo: skype, firefox, o SA-MP) iriam ter tudo escrito na main, sem funзхes, e iria faltar muita funcionalidade, sу para serem rбpidos.
Ou entгo iriam demorar muito tempo a serem executados.
Mas isso nгo acontece, e aqui estб o porquк:

Para ter um software rбpido(ou script) temos de ver se as condiзхes estгo mais optimizadas o possнvel, evitar ter ciclos que demoram a ser executados(para isso, usa-se o "multithreading", e assim evitamos com que o "thread" principal fique em "wait" enquanto o ciclo й completado), entre outros.

Um bom exemplo, encontrar os nъmeros pares(exemplo em C), muita gente й "calona" e faz assim:
pawn Код:
for(int i = valor; i < valor * 100; i++) {
    if(i % 2 == 0)
        std::cout << "O numero " << i << " e par!";
}
Imaginem que o valor й 1, o ciclo irб correr entre 1 e 100.
Para quк?
Podemos simplesmente fazer o cуdigo abaixo:
pawn Код:
valor = (valor % 2 == 1 ? valor + 1 : valor);
for(int i = valor; i < valor * 100; i+=2)
    std::cout << "O numero " << i << " e par!";
E assim irб sу dar os nъmeros pares, e automaticamente diminuнmos o tempo de execuзгo.
E como deu para ver, continuamos com o mesmo nъmero de linhas, mas o tempo de execuзгo baixou.
Reply
#5

Sim, o problema й que muita gente acha que a otimizaзгo consiste em gastar menos linhas. Criei este tуpico justamente para isto, para quebrar alguns mitos.
Se vocкs sabem outros mitos em relaзгo a otimizaзгo, falem por favor
Reply
#6

Teve uma йpoca que tinha uns verminosos que ficavam comparando for com while e vice-versa, pra quem quiser estudar velocidade, tem que aprender alguns conceitos importantes sobre o processamento do pawn e estudar complexidade de algoritmos.

Complexidade de algoritmos

Entгo o 'mito' que eu quero quebrar com esse post й: nгo fiquem perdendo tempo analisando velocidade em if e switch, ou for e while, ou public e stock... Estudem o geral sobre processamento e complexidade, que na hora de montar um algoritmo bom, vocкs serгo capazes de escolher if ou switch da forma mais adequada.


Abraзos.
Reply
#7

Bom foi para mim claro, eu sei.

Mas ali vocк deixou os espaзos em brancos, oque eu queria dizer й linha inъteis com coisas inъteis, nгo й linha branca em branco vai fazer diferenзa, й linha com alguma coisa que nгo precisa estб ali.

Por em MP eu jб te mandei um exemplo, e se vocк disser que aquilo, nгo й verdade meu amigo...

Discutir com vocк jб virou perda de tempo, sempre estб 'correto', й chato discutir assim.

Mitos de velocidade, vocк apenas colocou linha, aquilo claro nгo vai fazer diferenзa, oque eu quero й se tiver alguma coisa nesse branco, que pode fazer a diferenзa.

E Como eu falei, pode demorar para compilar, nгo falei que seria mais rбpido as coisas.

E ainda vem criar um tуpico, atй 'tinha' mais respeito por vocк.

Por isso falei para interpretar da maneira correta, sendo que vocк coloca coisas que nгo tem nada ver com que eu tenho dito, leia mais estб precisando.
Reply
#8

Amigo nгo criei o tуpico apenas por sua causa, me inspirei em vocк, isso й verdade, mas vocк me dizer que isto:
pawn Код:
if(Var > 3)
{
    Var=1;
}
Й menos otimizado que isto:
pawn Код:
if(Var > 3) Var=1;
e insistir й demais.

Este tуpico vai abrir os olhos de muitos, que acham que otimizar й polpar linhas. Eu posso ter um script de 30k e ser mais otimizado do que um de 10k (resumido).
Reply
#9

Quote:
Originally Posted by Willian_Luigi
Посмотреть сообщение
Teve uma йpoca que tinha uns verminosos que ficavam comparando for com while e vice-versa, pra quem quiser estudar velocidade, tem que aprender alguns conceitos importantes sobre o processamento do pawn e estudar complexidade de algoritmos.

Complexidade de algoritmos

Entгo o 'mito' que eu quero quebrar com esse post й: nгo fiquem perdendo tempo analisando velocidade em if e switch, ou for e while, ou public e stock... Estudem o geral sobre processamento e complexidade, que na hora de montar um algoritmo bom, vocкs serгo capazes de escolher if ou switch da forma mais adequada.


Abraзos.
sem mais ..
Reply
#10

Quote:
Originally Posted by Willian_Luigi
Посмотреть сообщение
Teve uma йpoca que tinha uns verminosos que ficavam comparando for com while e vice-versa, pra quem quiser estudar velocidade, tem que aprender alguns conceitos importantes sobre o processamento do pawn e estudar complexidade de algoritmos.

Complexidade de algoritmos

Entгo o 'mito' que eu quero quebrar com esse post й: nгo fiquem perdendo tempo analisando velocidade em if e switch, ou for e while, ou public e stock... Estudem o geral sobre processamento e complexidade, que na hora de montar um algoritmo bom, vocкs serгo capazes de escolher if ou switch da forma mais adequada.


Abraзos.
Esse tуpico deveria ter acabado nesse post...
Mas as pessoas parecem gostar de brigar e bater o pй pra ver quem й "melhor". Usem o tempo de vocкs com coisas mais produtivas, briguinhas sгo puro desperdнcio de tempo.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)