Velocidad de compilaciуn
#1

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)
Reply
#2

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.
Reply
#3

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.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)