Velocidad de compilaciуn -
GAlvaro14 - 24.11.2014
Buenas.
Me gustarнa saber si se puede aumentar la velocidad de compilaciуn segъn como estй escrito el cуdigo y si afectarнa al rendimiento del servidor o no.
Ejemplos:
pawn Код:
if (true)
{
Function();
}
if (true)
Function();
// їHay diferencia en la velocidad de compilaciуn entre esos dos cуdigos?
pawn Код:
// їY hay diferencia entre poner un comentario o no?
if (true) // Si la condiciуn es verdadera...
// **************
if (true)
Respuesta: Velocidad de compilaciуn -
hotspicytaco - 24.11.2014
Son lo mismo, no creo que afecte en algo a la velocidad de compilaciуn o el rendimiento del servidor. Los comentarios son ignorados a la hora de compilar.
Re: Velocidad de compilaciуn -
spell - 24.11.2014
No sй a que es proporcional la velocidad de compilaciуn. Lo que te puedo decir, es que entre mбs datos almacenes en el gm, mбs va a tardar en compilar (y mбs va a pesar el .amx).
Tambiйn depende del tamaсo de las variables globales o estбticas.
Los comentarios y directivas (como #if, #elseif, etc) son opciones del compilador. Los comentarios, el compilador simplemente los ignora. Las directivas las procesa el pre-compilador (al igual que los macros, que en definitiva siguen siendo directivas) para luego generar un cуdigo que se va a compilar en el .amx.
Por cada variable (o celda), son 4 bytes de memoria (1024 bytes = 1kb).
Entonces, lo que tenйs que evitar hacer es crear arrays con grandes cantidades de memoria. Ejemplo:
pawn Код:
new array[256]; // Estбs reservando 256 celdas (x4) = 1024 bytes = 1 kb
// Ahora imaginate que haces esto:
new array2[500][500]; // Estбs creando 500x500 celdas (250,000) celdas (x4) = 1,000,000 de bytes
Por lo demбs no te tenйs que preocupar, lo mismo los news dentro de llaves, que serнa lo mбs similar a memoria dinбmica (porque cuando se crea, se usa y luego no se usa mбs).
De esta forma podremos crear x megabytes para un array, y asн comprobar lo que aumenta el peso del amx (que creo que es cantidad_de_memoria/4, como si usara celdas para guardar.
pawn Код:
#include <a_samp>
#define MB(%0) 256*1024*%0
new hola[MB(5)];
main() {
hola[151] = 25;
if (hola[0] == 0) {
printf("TEST");
}
}
Con el codigo de arriba, samp-server.exe ocuparб 5mb mбs.