Velocidad de Procesadores de comandos - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (
https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Velocidad de Procesadores de comandos (
/showthread.php?tid=574622)
Velocidad de Procesadores de comandos -
Darken3 - 18.05.2015
Quisiera saber como calcular la velocidad de un procesador de comandos.Gracias
Re: Velocidad de Procesadores de comandos -
SickAttack - 18.05.2015
No se calcula la velocidad de un procesador de comandos en si, pero el mismнsimo comando a ejecutar o comandos en general.
Utiliza timestamps para calcular el tiempo en la que tardo un comando o varios comandos (esto es un uso dinбmico-interno):
pawn Код:
new tick[2];
tick[0] = GetTickCount();
CallLocalFunction("OnPlayerPerformCommand", "issi", playerid, cmd, cmdtext[count], CallLocalFunction(functionname, "iss", playerid, cmd, cmdtext[count]));
tick[1] = GetTickCount();
Y ya para hacer un benchmark:
pawn Код:
new tick[2];
tick[0] = GetTickCount();
for(new i = 0; i < 100000; i ++)
{
cmd_test(playerid, "");
}
tick[1] = GetTickCount();
printf("%d", tick[1] - tick[0]);
CMD:test(playerid, params[])
{
return 1;
}
Pero te recomiendo que llames varios comandos que hacen distintos cosas. Pero realmente no le veo la necesidad de hacer comparaciones con otros procesadores de comandos ya que los mas rapidos utilizan CallLocalFunction y la ejecucion realmente depende de lo que hace el comando y casi siempre es 0ms.
Respuesta: Velocidad de Procesadores de comandos -
Zume - 18.05.2015
PHP код:
main()
{
print("Testing de comandos iniciado.");
#define ITERACIONES (10000) // Numero de iteraciones
new
CommandType[2]; /* Por ejemplo, puede ser que CommandType[0] almacene la prueba de ZCMD ..
y CommandType[1] almacene la de otro comando, si solo pruebas uno no usar array. */
CommandType[0] = GetTickCount(); // Almacena el tiempo actual desde que se inicio el server, pero sirve para contar milisegundos
while(++i != ITERACIONES) { // Creamos un ciclo que aumenta la variable i por el numero de ITERACIONES
cmd_comando(0, "\1"); // ejecuta el comando
}
printf( "ZCMD -> %d ms", CommandType[0] - GetTickCount()); // Muestra el tiempo en MS [Milisegundos]
}
CMD:comando(playerid, params[])
return SendClientMessage(playerid, -1, "algo .."); // Para que el comando no este vacio y haga algo, auque no se si se ejecute ..;
Respuesta: Velocidad de Procesadores de comandos -
Darken3 - 18.05.2015
Gracias