Hola, eso dicen aqui:
http://ravirajsblog.blogspot.com/201...nfunction.html
¿es verdad?
¿y eso es malo?...
| |||
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?... |
| |||
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ? 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}... |
| ||||
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. |
| |||
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ? Cita: 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 |
| ||||
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 =) |
| |||
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ? Hay un URL para descargar ASP free ? Puedes instalarlo (LEGAL) sin pagar licencia? |
| ||||
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ? 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 =) |
| |||
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ? Cita: He tenido entendido que habia que COMPRARLO...Si dices que es FREE, es info nueva para mi... Gracias |
| ||||
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ? 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 =) |
| ||||
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ? Cita: 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. |
| |||
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ? Carambas!
|
| ||||
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. |
| |||
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ? Muy imporatante! :) |
| |||
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. |
| ||||
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. |
| |||
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ?
|
| ||||
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. |
| |||
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ? Cita: No se trata de CANTIDAD DE CÓDIGO, sino de FUNCIONES CARGADAS EN MEMORIA. Cita: Supongams que mil millones de NO SE QUE...DEFINITIVAMENTE 100 funciones en RAM es diferente a 5800 funciones EN LA MISMA RAM. 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. 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 ? Yo hasta ahora no he llegado a esos niveles, a mi PHP me hace mi WHILE() y yo quedo contento. Bueno, a mi me parece complejísimo:
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: 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...
Iniciado por Anarko F. NATIVAS que resuelven "al vuelo" cosas complejísimas ¿? |
| ||||
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. |
| |||
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ? 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 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]? |
| ||||
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. |
| |||
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ? Los archivos ASP puede compilarse? |
| ||||
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ? 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 =) |
| ||||
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ? 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 =) |
| ||||
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... |
| |||
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ? Gracias DashTrash.¿instrucciónes y datosCarambas!, eso no lo sabia.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... |
| ||||
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) |
| ||||
Respuesta: Realmente existen 5800 funciones en el entorno GLOBAL de PHP ? Exacto. 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: Err..No.Es TRUE.Lo que dice el autor del blog, es TRUE.Te lo pego textual: Cita: 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).5800 functions defined in global space 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: |