Ver Mensaje Individual
  #6 (permalink)  
Antiguo 14/04/2021, 18:54
tuadmin
 
Fecha de Ingreso: abril-2006
Mensajes: 583
Antigüedad: 18 años, 7 meses
Puntos: 120
Respuesta: $var = 'ABCDEFGH'; $var ocupa 8 BYTES en RAM ?

Cita:
Iniciado por SLD Ver Mensaje
gracias tuadmin,
puedes explicarme por qué ésto NO retorna CIEN véces lo que retorna:
Código:
$antes = memory_get_usage();
$dinamico = str_repeat('ABCDEFGHABCDE', 1);
echo (memory_get_usage() - $antes). ' bytes usados';
(en mi PC retorna 48).

Por qué esto no devuelve 480 ??
Código:
$antes = memory_get_usage();
$dinamico = str_repeat('ABCDEFGHABCDE', 10);
echo (memory_get_usage() - $antes). ' bytes usados';
qué teoría se aplica ahí?...

bueno eso ya es meterse en las tripas de php en como esta programado en C. y ese es terreno complejo por que son varias personas encargadas del proyecto que llevan años y años avocadas a el solamente

pero en resumen, esos primeros 48Bytes que te da , es lo que le costo en RAM hacer ese proceso, y cuando lo repites 10 veces, gastara bytes pero no quiere decir que hacerlo le costara hacer 100 veces los bytes usados, como te comente, internamente se hace procesos, donde se usar RAM y se Libera, mucho antes que las llamadas a la funcion memory_get_usage()

y en resumen, lo que aun se queda en RAM es lo que estarias capturando.

un proceso puede usar miles de megas de RAM pero a lavez va liberandolas para que los siguientes procesos tengan mas RAM con la que trabajar, ojo que PHP tiene un limitador de cuanto de RAM usa como maximo por SCRIPT, si execede en algun momento eso, dara un error, y terminara el SCRIPT
__________________
Mis aportes te ayudaron??, te hicieron ahorrar valiosos tiempo??, si quieres puedes agradecerme con un Gracias o con una donacion
https://paypal.com/pools/c/8lmNLmWnG9