Foros del Web » Programando para Internet » PHP »

Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

Estas en el tema de Realmente existen 5800 funciones en el entorno GLOBAL de PHP ? en el foro de PHP en Foros del Web. Hola, eso dicen aqui: http://ravirajsblog.blogspot.com/201...nfunction.html ¿es verdad? ¿y eso es malo?......

  #1 (permalink)  
Antiguo 04/05/2013, 22:45
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

Hola, eso dicen aqui:

http://ravirajsblog.blogspot.com/201...nfunction.html

¿es verdad?

¿y eso es malo?...
  #2 (permalink)  
Antiguo 05/05/2013, 00:42
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

Nunca es bueno leer sólo la primera oración de un párrafo:

Cita:
PHP has approx. 5800 functions defined in global space .. Uff .. that is one cause that people does not consider it as thoughtful language but these APIs work as strong enough tool to accomplish various task and it provide tremendous functionality to end user.
Entiendo que el autor del artículo lo ve como ventaja.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 06/05/2013, 12:12
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

Cita:
Iniciado por Triby Ver Mensaje
Nunca es bueno leer sólo la primera oración de un párrafo
Vale, el lo vé como una ventaja, pero sí que hay 5800...

Así que cuando colcamos nuestro require(misfunciones.php); PHP queda con 5800+{nuestras 20}...
  #4 (permalink)  
Antiguo 06/05/2013, 14:47
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

No, el intérprete de PHP se queda con esas 5800 (aprox) y tu script, sólo con las 20 que hayas definido y, el uso de recursos (cpu, memoria, ancho de banda, etc.), dependerá de lo que hagas en tus 20 funciones.

Te parece algo malo?... tal vez estás a tiempo para buscar una alternativa, como Python, Ruby, ASP, Java, etc.
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 06/05/2013, 21:28
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

Cita:
Iniciado por Triby Ver Mensaje
No, el intérprete de PHP se queda con esas 5800 (aprox) y tu script, sólo con las 20 que hayas definido
Pero en "los segundos" que tarda en compilarse el código PHP, la CPU tiene "en memoria" las 5800+{require_once(las_funciones.php)} ?

El interprete carga las 5800 en cada llamado?

Otros...

Uff!... Núnca he logrado unificar PyThon con APACHE en W7

ASP es de pago, y JAVA devora tu RAM...

Ruby... NUNCA lo he probado es tan amable para aprendicez tál como lo es PHP?

Gracias
  #6 (permalink)  
Antiguo 06/05/2013, 22:07
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 7 meses
Puntos: 406
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

asp de pago? yo desarrollo en .NET y hasta ahorita no eh pagado nada mas que mis licencias de Windows, el cual la "mayoría" ah pagado cuando se compra equipo nuevo, podrías indicar que es lo que se paga? .NET como framework es gratuito, también hay versión gratuita de visual studio (express), iis también es gratuito ya que esta con el sistema, solo hay que activarlo mas aparte todas las demás herramientas que tiene Microsoft para el desarrollo Web (que sean buenas o no es cosa aparte >.<)
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #7 (permalink)  
Antiguo 06/05/2013, 22:14
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

Cita:
Iniciado por Nemutagk Ver Mensaje
asp de pago?
Hay un URL para descargar ASP free ?
Puedes instalarlo (LEGAL) sin pagar licencia?
  #8 (permalink)  
Antiguo 06/05/2013, 22:22
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 7 meses
Puntos: 406
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

Cita:
Iniciado por Anarko Ver Mensaje
Hay un URL para descargar ASP free ?
Puedes instalarlo (LEGAL) sin pagar licencia?
No se de donde puedas "descargar asp free", pero puedes descargar el framework .NET (de preferencia el 4 aunque desde el 2 se puede desarrollar ASP.NET) el cual ya trae todo lo necesario para desarrollar en ASP.NET (no es lo mismo que asp puro, el cual se me hace horrible!), bajas la versión de visual studio de tu preferencia (para C#, VB.NET C++) en su versión express y ya tienes todo para programar, eso y activar iis en tu windows, que si es legal pues claro, a menos que tengas tu windows pirata, pero eso ya es otra cosa...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #9 (permalink)  
Antiguo 06/05/2013, 22:33
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

Cita:
Iniciado por Nemutagk Ver Mensaje
puedes descargar el framework .NET el cual ya trae todo lo necesario para desarrollar en ASP.NET
He tenido entendido que habia que COMPRARLO...

Si dices que es FREE, es info nueva para mi...

Gracias
  #10 (permalink)  
Antiguo 06/05/2013, 22:37
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 7 meses
Puntos: 406
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

Cita:
Iniciado por Anarko Ver Mensaje
He tenido entendido que habia que COMPRARLO...

Si dices que es FREE, es info nueva para mi...

Gracias
Hasta donde tengo entendido el framework .NET siempre ha sido gratuito, o al menos yo eh podido descargarlo desde su versión 1/1.1 ya que en su momento algunos programas comenzaron a necesitarlo para su funcionamiento, pero bueno, ya sabes que para desarrollar en ASP.NET no es necesario pagar
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #11 (permalink)  
Antiguo 06/05/2013, 23:04
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

Cita:
Iniciado por Anarko Ver Mensaje
Pero en "los segundos" que tarda en compilarse el código PHP, la CPU tiene "en memoria" las 5800+{require_once(las_funciones.php)} ?

El interprete carga las 5800 en cada llamado?
El hecho de que PHP tenga 5800 o más funciones no implica consumo de recursos, el intérprete sólo cargará lo necesario, de acuerdo a tu script.

Un ejemplo adicional, sería que tú tengas 1000 scripts php con funciones variadas y repetitivas, pero no se cargarán a menos que hagas include (o require) a esos archivos.

Entonces, como te dije al principio, el consumo de recursos dependerá de lo que tú haces dentro de tus scripts/funciones.
__________________
- León, Guanajuato
- GV-Foto
  #12 (permalink)  
Antiguo 06/05/2013, 23:28
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

Cita:
Iniciado por Triby Ver Mensaje
el intérprete sólo cargará lo necesario, de acuerdo a tu script
Carambas!
  1. si no llamo a file_put_content() esa F no es "cargada en memoria" ?
  2. Pero para las funciones que CONTENGA MI {funciones.php} las carga TODAS?
  #13 (permalink)  
Antiguo 06/05/2013, 23:33
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

No te puedo decir que exactamente tal o cual función se cargan o no en memoria al ejecutar PHP, supongo que, al igual que los frameworks, hay un juego de herramientas que se carga por default para ayudarte a ejecutar tus tareas, pero, definitivamente, NO se cargan en memoria esas 5800 o más funciones.
__________________
- León, Guanajuato
- GV-Foto
  #14 (permalink)  
Antiguo 06/05/2013, 23:42
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

Cita:
Iniciado por Triby Ver Mensaje
definitivamente, NO se cargan en memoria esas 5800 o más funciones.
Muy imporatante!

:)
  #15 (permalink)  
Antiguo 07/05/2013, 07:12
 
Fecha de Ingreso: abril-2013
Mensajes: 32
Antigüedad: 11 años, 6 meses
Puntos: 5
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

cuantas veces habra pasado que escribi una funcion para algo que php ya resolvia, lo que no tenia idea es que eran 5800 funciones! y eso que llevo un buen rato con este leguaje.

atencion porque hay muchas funciones deprecadas y en desuso(la vieja mysql esta siendo desfavorecida por mysqli por lo que estoy viendo), pero hay funciones para todo. PHP es un lenguaje muy despreciado y esta es una de las razones, pero sin embargo es increiblemente agil y util, ademas de ser utilizado para potenciar desde un simple sitio a grandes portales y redes sociales.
  #16 (permalink)  
Antiguo 07/05/2013, 07:29
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

Después de todo estás 5800 funciones que vienen con el core de php están compiladas a un nivel más bajo, así que no se pueden comparar con una escrita por el usuario, evidentemente.

Además PHP no es el único lenguaje interpretado que cuenta con montones de funciones/clases que siempre están disponibles, así que pensar que un número alto de funciones built-in es signo de... ¿de qué? no tiene sentido pensar en ello.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #17 (permalink)  
Antiguo 07/05/2013, 08:16
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

Cita:
Iniciado por pateketrueke Ver Mensaje
que pensar que un número alto de funciones built-in es signo de...
  1. de MAYOR CONSUMO DE RAM
  2. de MAS TIEMPO (milisegundos) para entregar un RESULTADO
  3. de muchas F. NATIVAS que resuelven "al vuelo" cosas complejísimas
  #18 (permalink)  
Antiguo 07/05/2013, 08:22
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

Anarko, ¿entonces tu eres de las personas que piensa que mientras menos código es más rápido?

¿Si sabes cuanta funcionalidad built-in trae consigo un kernel si quiera? ¡Ni te enteras!

Los puntos que enumeras son bastante trillados, si tu temor es la escalabilidad basado en el número de funciones built-in de un lenguaje entonces no sabes nada de escalabilidad.

Si el problema es el RAM (que siempre es un problema) pues le ponemos mas RAM en lo que reparamos los cuellos de botella de la aplicación, el tiempo depende de ello, ¿y cuáles son esas operaciones complejisimas que dices?

Me gustaría saber.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #19 (permalink)  
Antiguo 07/05/2013, 09:01
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

Cita:
Iniciado por pateketrueke Ver Mensaje
Anarko, ¿entonces tu eres de las personas que piensa que mientras menos código es más rápido?
No se trata de CANTIDAD DE CÓDIGO, sino de FUNCIONES CARGADAS EN MEMORIA.
Cita:
Iniciado por pateketrueke Ver Mensaje
¿Si sabes cuanta funcionalidad built-in trae consigo un kernel si quiera? ¡Ni te enteras!
Supongams que mil millones de NO SE QUE...

DEFINITIVAMENTE 100 funciones en RAM es diferente a 5800 funciones EN LA MISMA RAM.

Cita:
Iniciado por pateketrueke Ver Mensaje
si tu temor es la escalabilidad
No hay temores, solo pregunte en FDW PHP si hay alguién que sepa si son 5800 o diez mil... Y efectivamente me he sorprendido por la cifra.

Cita:
Iniciado por pateketrueke Ver Mensaje
no sabes nada de escalabilidad.
ni de PHP, ni de algoritmia, ni de CSS, ni de Sistemas Operatvos, ni de XML, ni de celulares... (solo por citar roles relacionados con DFW...) No se de nada calculo ni Astronomia, ni geografía, ni de pintura...

Enhorabuena por tí!, puedes informarnos: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

Cita:
Iniciado por pateketrueke Ver Mensaje
Si el problema es el RAM...
Yo hasta ahora no he llegado a esos niveles, a mi PHP me hace mi WHILE() y yo quedo contento.
Cita:
Iniciado por pateketrueke Ver Mensaje
¿y cuáles son esas operaciones complejisimas que dices?
Bueno, a mi me parece complejísimo:
  1. Las expresiones regulares
  2. Esa funcion que resalta el código PHP a colores...
  3. Las funciones PHP para parsear XML
  4. Los procesos de GRÁFICOS...
  5. La función MAIL() me parece gran ALGORITMO, incluso permite pasar FILES, CHARSET, etc... al servidor de correos...
  6. En general todas las funciones que permiten procesamiento de cadénas...
Eso a mi me parece comlpejisimo...

Para muchos en FDW quizá sea algo tribial, pero me parece que DETRÁS DE CADA una de esas F debe haber una algoritmia complejísima...

Eso para mi es
Cita:
Iniciado por Anarko
F. NATIVAS que resuelven "al vuelo" cosas complejísimas
De hecho el texto citado (http://www.forosdelweb.com/f18/realm...l-php-1050022/) es de 2012, a la fecha debe haber crecido el # de F y ya no deben ser 5800 sino...

¿?
  #20 (permalink)  
Antiguo 07/05/2013, 09:15
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

Con get_defined_functions() puedes saber cuantas funciones está definidas en el ámbito global, que no significa para nada que estén cargadas en memoria, ahí hay que ser claro para que dejes de pensar que las 5000+ funciones se cargan siempre en memoria.

Y de las operaciones complejas que mencionas no es para tanto, yo pienso que un navegador gasta más recursos que cualquier script en php para manipular un XML, además entiende que son funciones a bajo nivel mucho más rápidas que las que llegarías a escribir.

Si crees que manipular cadenas es complejo entonces pienso que deberías tomar un curso de programación de mas bajo nivel, aunque tienes razón, pueden llegar a ser complejas pero no por eso lentas.

Las expresiones regulares son un excelente ejemplo, son complicadas y mucho más lentas que comparaciones con cadenas, etc.

La función mail() no es un algoritmo, simplemente es un proxy al SMTP local, ya que el servidor SMTP es que hace el verdadero trabajo, así que ahí PHP no tiene mucha gloria que digamos.

En resumen, no se cargan las N+ funciones built-in en memoria, simplemente existen y se cargan hasta que se utilizan.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #21 (permalink)  
Antiguo 07/05/2013, 09:28
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

Cita:
Iniciado por pateketrueke Ver Mensaje
simplemente existen y se cargan hasta que se utilizan.
Carambas!, pero es opuesto a lo que me dijeron: que cada una de las funciones definidas entran al INTERPRETE, es decir, se cargan a la RAM.

O se referian EXCLUSIVAMENTE a las que esten DENTRO DE/DEFINIDAS EN mis_funciones.php ???

El interprete de PHP (ZEND?) le entrega la "cola de instrucciones" (PROGRAMA?) al Sistema Operativo o a un "programita" llamado program counter?

Carambas, de ser como nos dices
Cita:
Iniciado por pateketrueke Ver Mensaje
simplemente existen y se cargan hasta que se utilizan.
el desempeño de un [holamundo] es idéntico en un PHP versión 0.01 vs PHP versión 6 ?

El resultado se recibe en los mismos [x microsegundos]?

  #22 (permalink)  
Antiguo 07/05/2013, 09:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

Anarko,

Creo que realmente tienes que estudiar como funciona un programa, ya que parece que estas muy verde en eso, no deberías si quiiera en ver cual es la carga de ram si no sabes como funciona un programa.

El intérprete de PHP esta en código maquina, es decir esta compilado en machine code, con TODAS sus funciones, ahora PHP tiene disponibles extensiones, estas son .dlls que son cargadas una por una dependiendo de como las tengas en tu php.ini.

Todo esto es cargado en la RAM pero esta muy optimizado, y depende justamente de cuantas extensiones extras tenga que procesar PHP para levantarlo.

Ahora al terminar esa tarea, PHP levanta el compilador de código PHP, es decir levanta tus archivos .php, los interpreta, analiza, y esto se lleva oto tanto de RAM.

Después los ejecuta y entrega el resultado, esto es lo que consume más RAM porque es donde se crean las variables se lee info desde un archivo, una base de datos, etc.

Ahora el "tiempo de respuesta" que tanto te hace ruido, es muy dependiente a como tengas configurado y enlazado PHP.

En modo CLI, sí se tarda X tiempo en levantar, ejecutar y entregar resultado (y el tiempo depende del php.ini).

En modo CGI con un WebServer el tiempo es X + el tiempo en que el web server se tarde en procesar el request, leer el resultado y enviarlo al cliente.

En modo SAPI, es mucho más rápido porque PHP se carga en memoria al iniciar el webserver, ya que esta como módulo, y el tiempo es solamente en lo que se interpreta / ejecuta y envía al cliente.

Con esto puedes ver como el "tiempo de respuesta" con el que tanto sufres, depende muchísimo de muchas variables, no es solamente "me levanto un LAMP y ya tengo mi servidor".

Es importante configurar y tunear perfectamente la instalación PHP para que sea lo más adecuada, no cargues extensiones que no necesites.

Ahora si ves el uso medio de RAM de PHP es MUCHO menor a varios otros lenguajes, así que si vas a decidir por un lenguaje web por el uso de RAM pues no es realmente una métrica adecuada, ya que por lo general un buen WebServer, tiene mucha, mucha RAM a su disposición.

Saludos.
  #23 (permalink)  
Antiguo 12/05/2013, 15:45
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

Cita:
Iniciado por Nemutagk Ver Mensaje
Hasta donde tengo entendido el framework .NET siempre ha sido gratuito
Los archivos ASP puede compilarse?
  #24 (permalink)  
Antiguo 12/05/2013, 15:52
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 7 meses
Puntos: 406
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

Cita:
Iniciado por Anarko Ver Mensaje
Los archivos ASP puede compilarse?
Experto en .NET no soy, lo utilizo y programo en el, pero no tanto, no tengo datos de si se puede compilar las páginas .asp como tal, pero por ejemplo usando MVC 3 básicamente todo el código del sitio (sus páginas etc) se compilan y empaquetan en un dll, y las dependencias (imagenes, css, js etc) se mantienen en carpetas externas, ya el servidor ejecuta el dll según sea necesario...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #25 (permalink)  
Antiguo 12/05/2013, 17:11
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

Gracias.
Cita:
Iniciado por Nemutagk Ver Mensaje
usando MVC 3
Y ése de donde se descarga?
  #26 (permalink)  
Antiguo 12/05/2013, 17:22
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 7 meses
Puntos: 406
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

Cita:
Iniciado por Anarko Ver Mensaje
Gracias.Y ése de donde se descarga?
Creo que primero deberías investigar y estudiar .NET ya que tienes muy pocas nociones de el, en Google encuentras toda la información pertinente, o incluso en el foro de .net/asp en este mismo foro...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #27 (permalink)  
Antiguo 12/05/2013, 18:00
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 7 meses
Puntos: 270
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

Uf, a ver, aqui hay un montón de cosas.....
Sobre las 5800 funciones definidas en el "global space"..(qué es eso? no será global namespace?)...
Y? Cuantas funciones tiene C definidas en el "global space", linkando sólo la stdlib y poco más?
Que sería "mejor" que estuviera todo en clases? (sacándolas del namespace global, y metiéndolas en clases definidas en el namespace global, o en sub-namespaces)...Pues..es posible.
Pero más problema me parece a mí que el criterio de nombrado de funciones , y , peor, el orden de parámetros, es variable.Por qué existe mysql_connect, pero no str_len? Mientras el primer criterio es una especie de pseudo-namespace, el segundo sigue el criterio de parecerse a C.
Lo de qué va primero en muchas funciones de arrays, cadenas, si el haystack o el needle, es algo que me lleva a tener el manual siempre abierto..

Sobre "que ocupan memoria"..Qué lío hay montado...A ver..Para empezar, PHP tiene una funcionalidad "core", y "extensiones".Así que, cuántas funciones de las "definidas por PHP" están en la memoria de tu ordenador, depende muchísimo de qué extensiones tienes activadas.Creo que casi nadie en su sano juicio tiene activadas todas las extensiones de PHP en su servidor, así que el número de 5800, numero de funciones definidas en PHP como lenguaje, no tiene nada que ver con el número de funciones activas en tu sistema.

Ahora, sobre el uso de "RAM".Un programa en memoria tiene 2 cosas: código y datos.Del programa que aquí estamos hablando, es PHP, que está dentro de un envoltorio, sea el cli, sea apache, sea fpm.
Cuánto ocupa esto en RAM, y si debo preocuparme o no.Pueess..A ver...yo más o menos uso las mismas extensiones por defecto desde hace..uhh..unos 12 años...Más las típicas 2 o 3 extensiones especiales para el proyecto en el que esté...Pero vamos...que si PHP se ejecutaba estupendamente en hardware de 12 años, imagínate hoy!
Todo lo que está escrito en PHP son *datos* del programa PHP.Pero, aunque tengas 200 procesos de apache lanzados (sean threads o forks), lo que es propio de cada thread son las páginas RAM de datos, no de código, que son compartidas, y que es donde reside el código compilado de las "5800" (muchisimas menos) funciones que tienes en tu PHP.
Básicamente, a nivel de RAM usada para *código*, te da igual que haya 1 o 2000 procesos.Ocupan lo mismo.

Ahora veamos el código "complejisimo" de esas funciones.Muchísimas, si no casi todas las funciones PHP, no implementan la funcionalidad que hacen, sino que a su vez llaman a una librería.mysql_connect llama a la API de mysql, la cual está en una librería dinámica de mysql.
Ojo a la palabra *dinámica*.Las librerías *dinámicas* permiten que sean mapeadas en los espacios de memoria de distintos procesos.
Esto significa que, con que haya 1 solo proceso en todo el sistema , que haya cargado las librerías típicas de C (strlen, strdup,etc,etc), con que haya un solo proceso en todo el sistema que haya cargado las librerias de expresiones regulares, etc,etc...el coste de RAM que supone que PHP también las cargue...es prácticamente cero.
PHP hace sus historias de conversión de tipos, de mapeo de tabla de simbolos,etc...Pero, *por supuesto*, ni reescribe la función "preg_match", y el coste de cargar la librería que sí la implementa, es *cero*.

En definitiva, de lo que habla el blog es una cuestión *estética* de la *definición* del lenguaje.No tiene nada que ver con el rendimiento...
A veces se echa de menos trabajar con 64k de RAM...
  #28 (permalink)  
Antiguo 12/05/2013, 18:36
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

Gracias DashTrash.
Cita:
Iniciado por dashtrash Ver Mensaje
Un programa en memoria tiene 2 cosas: código y datos.
¿instrucciónes y datos
Cita:
Iniciado por dashtrash Ver Mensaje
1 o 2000 procesos.Ocupan lo mismo
Carambas!, eso no lo sabia.
Cita:
Iniciado por dashtrash Ver Mensaje
A veces se echa de menos trabajar con 64k de RAM...
Jája!... a mi no me ha tocado...

Por lo que leo en tu mensaje, la respuesta a mi pregunta:"Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?" es: FALSE.

¿verdad?

...es chistoso...
yo UNICAMENTE PREGUNTE ESO y vinieron un grupo a empujarme y decirme... "no sabes nada, PHP es lo máximo, no ataques a PHP!..."

Y (redigo), yo UNICAMENTE PREGUNTE: "Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?"

Y lo menciono por que creo quere eres el único que (en ste post), no ha querido darme empeyones...
  #29 (permalink)  
Antiguo 12/05/2013, 18:44
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

Bueno, mi reflexión a tu pregunta y todo el problema sería:

"Si, existen todas esas funciones... ¿y qué?"

La segunda sería:

"¿Has visto que eso le cause problemas a alguna aplicación de web soportada en php?"

Y la tercera y final sería decirte:

"Si existen, y no causan problemas, hay al menos dos respuestas: o existen, pero no se cargan todas al mismo tiempo, y por ende es un problema que ya fue resuelto, o bien se cargan y terminan siendo inocuas, con lo que la duda se vuelve irrelevante y el problema no existe..."

En cualquier caso, la cosa es que para comprender en profundidad el asunto tienes que conocer bastante más sobre sistemas operativos y lenguajes de programación, a niveles que no vas a aprender en manuales o tutoriales, sino solamente en la Universidad...

En cualquier caso, creo que es un tema que no te traerá ninguna complicación, por lo que parece que te estás preocupando innecesariamente por algo que en realidad no te causará conflictos.

Yo, la verdad, ni siquiera me preocupo por eso... No me resulta un asunto muy relevante a menos que intentes desarrollos realmente gigantescos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #30 (permalink)  
Antiguo 12/05/2013, 18:54
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 7 meses
Puntos: 270
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?

Cita:
Iniciado por Anarko Ver Mensaje
¿instrucciónes y datos
Exacto.
Cita:
Iniciado por Anarko Ver Mensaje
Carambas!, eso no lo sabia
Parte de que el código para todos esos procesos es el mismo....Para qué tenerlo repetido? Las páginas de código deberían ser read-only (existe código que se automodifica, aunque ni sé si hoy en día eso se estila...En cualquier caso, un antivirus se pone muy nervioso si lo ve).

Cita:
Iniciado por Anarko Ver Mensaje
Por lo que leo en tu mensaje, la respuesta a mi pregunta:"Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?" es: FALSE.

¿verdad?
Err..No.Es TRUE.Lo que dice el autor del blog, es TRUE.Te lo pego textual:
Cita:
5800 functions defined in global space
Ojo al "defined".Están *definidas* por el lenguaje en el "espacio global".Es decir, fuera de namespaces (y, al ser funciones, fuera de clases).
Vamos, que si te vas al manual de PHP, y vas mirando toda la API, y cada vez que veas una función que no sea un método de una clase, sumas 1, te salen
5800 funciones (o eso dice el autor).

Ahora, a las siguientes preguntas:
- Quiere decir eso que cualquier proceso que contenga un intérprete de PHP tiene 5800 funciones compiladas dentro, y exportadas para su uso por scripts? : FALSE
- Esas funciones que sí que existen en mi proceso PHP implementan algoritmos complejos, por lo tanto largos, y por lo tanto, ocupan cada una mucha RAM ? : FALSE.
- Quiere decir eso que, incluso si cargara las 5800 funciones (todas las extensiones), ocuparía mucha RAM, y que cada instancia de PHP duplicaría la RAM usada? : FALSE.

Etiquetas: entorno, funciones, global, html, realmente
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 08:48.