Teste de Velocidade Preciso -
ipsBruno - 12.10.2013
Ultimamente, tenho feitos meus testes com BENCH MARK, mas como й em execuзхes por milissegundo andei notando uma falta de precisгo testes retornados, por este motivo criei minha prуpria BENCH que traz mais informaзхes sobre o processamento do cуdigo, assim podem analisar qual cуdigo й mais rбpido
O que ele processa:
Ele faz por tempo mйdio, dessa maneira a qualidade da mediзгo й bastante alta. Sгo 333 testes com o mesmo cуdigo para pegar da forma mais preciso possнvel o tempo.
Ele pega o tempo mбximo e mнnimo. Para vocк poder analisar os picos e declнnios no tempo de seu cуdigo. Lembrando que isto pode ser por causa do seu processador em casos de picos muito altos.
Ele processa o nъmero total de segundos (como padrгo) para calcular quanto tempo cada cуdigo levou para ser executado. Este й um bom parвmetro, pois em casos de diferenзas absurdas o resultado do cуdigo mais rбpido sempre serб menor.
Ele tambйm processa o nъmero de execuзхes por milissegundos, dessa maneira vocк tem uma mйdia de quantas execuзхes foram feitas em um ъnico millissegundo e poderб checar qual cуdigo conseguiu se reproduzir mais
Modo de uso:
pawn Код:
//
TESTS(333);
// O CУDIGO VAI AQUI
PROCESSAR();
RESULTADO("Nome do cуdigo");
Em TESTS й possнvel estipular a quantidade de processamento que vocк quer exigir,
por padrгo й 333. Valores muito grandes ou muito pequenos podem atrapalhar no cбlculo dos valores devido ao limite do Pawn. Deixe entre 100 e 5000, й uma mйdia boa
Quanto maior melhor, porem em valores exagerados pode travar seu samp_server, use com cudiado
Cуdigo da Include:
pawn Код:
#define CONT@CONT GetTickCount()
#define TESTS(%0); { /*esquentar o processador */ for(new uashushua; uashushua != 9990000; uashushua++) {} /* testar o cуdigo */ new testes___@ [666], mMmEDIA; new j__@; new TTTiem = CONT@CONT; for(new i__@; i__@ != 333; ++i__@ ) { j__@=0;testes___@[i__@] = CONT@CONT;for(; j__@ != %0; ++j__@ ) {
#define PROCESSAR(); }testes___@[i__@] = CONT@CONT - testes___@[i__@];mMmEDIA += testes___@[i__@];}mMmEDIA /= (333);new mmMin = cellmax, mMax = 0;for(new aaa_@_teste; aaa_@_teste != 666; aaa_@_teste++) {
#define RESULTADO(%0); if(mmMin > testes___@[aaa_@_teste]) mmMin = testes___@[aaa_@_teste]; if(mMax < testes___@[aaa_@_teste]) mMax = testes___@[aaa_@_teste];}printf("Resultados para: "#%0" \n\t\n\t Nъmeros de execuзгo a cada milissegundo: %.5f \n\t Tempo mнnimo: %dms Tempo mбximo: %dms e Tempo mйdio: %dms\n\t Tempo Final: %d milissegundos\n\n", float((j__@) / (mMmEDIA > 0 ? mMmEDIA : 1))/1000,mmMin, mMax,mMmEDIA, CONT@CONT - TTTiem);}
Problemas: Darб loose indentation em alguns casos, basta ignorar ou usar pragma tabsize
Dica importante:
Em Pawn, hб um bug que o primeiro cуdigo se torna mais lento que o segundo. Isto porque й necessбrio criar e alocar novos endereзos e dados na memуria, o que o cуdigo posterior nгo via precisar. Por este motivo, antes dos testes, eu pessoalmente te aconselho a colocar um teste nulo
pawn Код:
TESTS(100);
PROCESSAR();
RESULTADO("");
Em cуdigos muito grande o processamento vai demorar mais. Muito mais. Portanto aconselho-te abaixo o valor do STRESS em TESTS.
Outra coisa importante й o seguinte, quando maior for o valor colocado em TESTS, mais o cуdigo poderб ser analisado e com isto, vocк pode obter uma mйdia excelente dos resultados obtidos, pois a mйdia fica mais precisa.
Autoria:
Bruno da Silva desenvolvedor, e William Luigi idealizador.
[iPs]TeaM
Re : Teste de Velocidade Preciso -
PT - 12.10.2013
ahah agr sim vou testar as coisas direito
Bom trabalho ae de vc's 2
Parabens!
Respuesta: Teste de Velocidade Preciso -
DanDRT - 12.10.2013
Woooool Good Job!
Re: Teste de Velocidade Preciso -
Duduzinho - 12.10.2013
Paraben! Muito bom trabalho !
Respuesta: Teste de Velocidade Preciso -
ipsBruno - 12.10.2013
Exemplo de um teste de velocidade:
pawn Код:
new var1 = 2;
new var2 = 3;
TESTS(2000);
if(var1 != var2) {}
PROCESSAR();
RESULTADO("var1 != var2");
TESTS(2000);
if(var1 ^ var2) {}
PROCESSAR();
RESULTADO("var1 ^ var2");
TESTS(2000);
if(var1 != var2) {}
PROCESSAR();
RESULTADO("var1 != var2");
TESTS(2000);
if(var1 ^ var2) {}
PROCESSAR();
RESULTADO("var1 ^ var2");
var1 ^ var2 contra var1 != var2
Resultados:
pawn Код:
[13:52:42] Resultados para: var1 != var2
Nъmeros de execuзгo a cada milissegundo: 26.31500
Tempo mнnimo: 54ms Tempo mбximo: 173ms e Tempo mйdio: 76ms
Tempo Final: 25.3080 segundos
[13:53:03] Resultados para: var1 ^ var2
Nъmeros de execuзгo a cada milissegundo: 31.25000
Tempo mнnimo: 58ms Tempo mбximo: 110ms e Tempo mйdio: 64ms
Tempo Final: 21.3120 segundos
[13:53:22] Resultados para: var1 != var2
Nъmeros de execuзгo a cada milissegundo: 35.08700
Tempo mнnimo: 54ms Tempo mбximo: 90ms e Tempo mйdio: 57ms
Tempo Final: 18.9810 segundos
[13:53:43] Resultados para: var1 ^ var2
Nъmeros de execuзгo a cada milissegundo: 31.74600
Tempo mнnimo: 59ms Tempo mбximo: 94ms e Tempo mйdio: 63ms
Tempo Final: 20.9790 segundos
Como podem ter notado. O Operador XOR reproduz atй 5 execuзхes a mais que o operador de equivalкncia.
Enquanto XOR tem uma media de 63 ~ 65. != Oscila entre 60 e 70.
Re: Teste de Velocidade Preciso -
XxFaTaLxX - 12.10.2013
Nice, +REP.
Re: Teste de Velocidade Preciso -
Juniiro3 - 12.10.2013
Vocк usou um nъmero meio besta para os testes nй? (entendedores entenderгo)
@Tуpico
Muito bom!
agr sim vou testar as coisas direitoІ
Re: Teste de Velocidade Preciso -
Coe1 - 12.10.2013
Sйrio?
Agora poderei testar a velocidade dos meus cуdigos. AHEUAEHUAEHAE
Bom trabalho ( de novo, nй? )
Bruno.
Respuesta: Re: Teste de Velocidade Preciso -
ipsBruno - 12.10.2013
Quote:
Originally Posted by Juniiro3
Vocк usou um nъmero meio besta para os testes nй? (entendedores entenderгo)
@Tуpico
Muito bom!
agr sim vou testar as coisas direitoІ
|
Eu iria colocar 666 mas iria precisar de uma array muito grande para fazer as mйdias. O que й o bom deste sistema, pois ele calcula atravйs de milhares de execuзгo, sendo o mбximo preciso possнvel nos cбlculos.
Lembrando que quando maior o valor de estresse para o processador, mais lento ficarб o cуdigo e menos execuзхes por segundos serгo feitas
Re: Respuesta: Re: Teste de Velocidade Preciso -
PT - 12.10.2013
Quote:
Originally Posted by ipsBruno
Eu iria colocar 666 mas iria precisar de uma array muito grande para fazer as mйdias. O que й o bom deste sistema, pois ele calcula atravйs de milhares de execuзгo, sendo o mбximo preciso possнvel nos cбlculos.
Lembrando que quando maior o valor de estresse para o processador, mais lento ficarб o cуdigo e menos execuзхes por segundos serгo feitas
|
ele tbm e preciso a calcular includes de salvamento de dados?
ou melhor usar a velha maneira manual?
Respuesta: Teste de Velocidade Preciso -
ipsBruno - 12.10.2013
Sim, calcula tudo.
Re: Teste de Velocidade Preciso -
WLSF - 12.10.2013
Muito bom, parceiro
Respuesta: Teste de Velocidade Preciso -
ipsBruno - 12.10.2013
Obviamente, testes como
!var
contra
var == 0
sгo tгo parecidos que й impossнvel ter algo preciso, o processador quando sobrecarrega oscila muito. Nestes casos de velocidades parecidas, sу com uma analise detalhada de como o cуdigo em AMX estarб fazendo as instruзхes em ASM.
Caso alguйm tiver dъvidas assim, bota o cуdigo aqui que eu faзo uma analise no cуdigo.
Re: Teste de Velocidade Preciso -
shittt - 12.10.2013
Po fera so posta coisa foda , Valeu estava presisando de um desses ... estava cansado pra procurar kk.
Re : Teste de Velocidade Preciso -
ipsBruno - 12.10.2013
Valeu shitt, qualquer coisa sobre o projeto sу pedir.
Abraзos
Re: Teste de Velocidade Preciso -
RebeloX - 12.10.2013
Gostei bastante, bruno acho que vocк deveria participar mais na board inglesa lб nas discussхes
Re: Teste de Velocidade Preciso -
shittt - 12.10.2013
Quote:
Originally Posted by BlueX
Gostei bastante, bruno acho que vocк deveria participar mais na board inglesa lб nas discussхes
|
Verdade deveria mesmo.
Re: Teste de Velocidade Preciso -
PT - 12.10.2013
Quote:
Originally Posted by BlueX
Gostei bastante, bruno acho que vocк deveria participar mais na board inglesa lб nas discussхes
|
eu ja em outro tуpico tinha referido isso, ele rapaz tem uma capacidade fantбstica, mas n e so ele o Willian_Luigi tambйm
Re : Teste de Velocidade Preciso -
ipsBruno - 13.10.2013
Atualizei para mostrar em milissegundos, assim fica mais preciso que segundos os resultados
Nгo falo inglкs, sу leio
O Will faz faculdade, o rapaz й quase um Doutor
Eu pena to concluindo Ensino Mйdio.