Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

94
Vistas
Huella de memoria demasiado grande

Probé el uso de memoria de algunas variables simples y encontré resultados inesperados, consulte este código:

 $datetimes = []; $memory_before = memory_get_usage(); for ($x = 0; $x < 1000; $x++) { $datetimes[] = new \DateTime(); } var_dump('DateTimes: ' . (memory_get_usage() - $memory_before)); $ints = []; $memory_before = memory_get_usage(); for ($x = 0; $x < 1000; $x++) { $ints[] = $x; } var_dump('Integers: ' . (memory_get_usage() - $memory_before));

Obtengo esta salida (en PHP 7.4, 64 bits):

 string(17) "DateTimes: 350504" string(15) "Integers: 37160"

37 KB de memoria para 1000 ints no tiene sentido para mí, ¿verdad? Esperaría 8000 bytes más algunos gastos generales de matriz.

Mi experimento escala: por un millón de entradas, obtengo un uso de memoria de 33558808 bytes.

He deshabilitado xdebug.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Es cómo funciona PHP y la desventaja de tener variables de tipo dinámico.

El entero es en realidad un objeto Zend .

1000 x (64 * 2) = 128 Kbit por lo que 16 KB.

Agregue a eso la matriz de tamaño 1000.

En la memoria, zval se representa como dos palabras de 64 bits. La primera palabra mantiene el valor, y la segunda palabra mantiene los campos tipo, type_flags, extra y reservados.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda