Foros del Web » Programando para Internet » PHP »

Rendimiento Funciones vs. Clases

Estas en el tema de Rendimiento Funciones vs. Clases en el foro de PHP en Foros del Web. Hola, Es una pregunta quizas tonta, pero me gustaria la opinion de los expertos. He hecho un pequeño mantenimiento de dos maneras. La primera usando ...
  #1 (permalink)  
Antiguo 10/10/2012, 01:03
 
Fecha de Ingreso: marzo-2010
Mensajes: 63
Antigüedad: 14 años, 1 mes
Puntos: 0
Rendimiento Funciones vs. Clases

Hola,

Es una pregunta quizas tonta, pero me gustaria la opinion de los expertos. He hecho un pequeño mantenimiento de dos maneras. La primera usando funciones y la segunda estas funciones encapsuladas en una clase. Para mi el mantenimiento y legibilidad es mejor via clase, pero noto que cuando hago las pruebas es mas rapido usando funciones que no objetos.

Tiene razon de ser ? Tambien decir que noto la diferencia cuando lo ejecuto todo en local (usando un xamp). Cuando lo cuelgo en Inet, se aprecia una ligera diferencia pero aceptable.

Quizas sea un tema de configuracion del Xamp ?

Quiero saber si hago bien en encapsular todo en clases, o mejor optar por las funciones a palo seco.

Gracias !!!!
Savi
  #2 (permalink)  
Antiguo 10/10/2012, 07:28
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Rendimiento Funciones vs. Clases

quiero que tengas claras unas cosas:

PHP es un lenguaje multiparadigma, así que no te sorprenda ver POO y Programación estructurada, u otros paradigmas en un sólo aplicativo.

La POO es un paradigma que tiene como objetivo la re-utilización de código, y dar un amplio sentido semántico a la estructura de software abstrayendo el mundo real, No hay duda de que con ésto se espere mejor rendimiento, pero una mala Arquitectura POO puede también llevar al caos, incluso hay cosas que funcionan mejor en Programación estructurada que usando sólo POO, es según el alcance y el contexto que se necesita, POO es lo ideal, más no lo único

Ten en cuenta que un servidor o hosting de producción puede estar optimizado con aceleradores (xCache, APC, iAcelerator, Zend Guard, etc) y como son sistemas distribuidos y/o virtualizados siempre los notarás más rápidos (y más en 64bits), en cambio xampp en un PC de escritorio, por muy poderoso que éste sea dificilmente supere a una buena arquitectura y plataforma de hardware profesional

De todos modos puedes habilitar APC en Xampp y notarás mayor rendimiento si lo configuras adecuadamente quitando el auto-caché, literalmente incrementa mucho el rendimiento, eso sí: no se aprecian los cambios si no limpias la caché.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 11/10/2012, 00:37
 
Fecha de Ingreso: marzo-2010
Mensajes: 63
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Rendimiento Funciones vs. Clases

Hola Maycolalvarez,

Creo haber encontrado la respuesta pues. Entiendo que es mas un problema de ejecucion del codigo en un entorno Xamp y que nunca podre superar directamente un hosting.

Quiero programar en POO porque me gusta mas, lo que me ocurria es que me desperaba que fuera tan lento en local. Voy a mirar de instalar el acelerador APC, solo una cuestion: Ya he buscado por inet y pàrece ser que tienes que poner en la carpeta ext la dll php_apc.dll y en el php.ini habilitar la extension, pero he buscado y hay numerosas versiones de esta dll y ninguna me funciona correctamente. Yo uso un XP, me puedes decir que version de apc me iria bien para mi entorno?

Gracias por tu explicacion.

Saludos.
Savi
  #4 (permalink)  
Antiguo 15/10/2012, 02:55
 
Fecha de Ingreso: marzo-2010
Mensajes: 63
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Rendimiento Funciones vs. Clases

Hola,

Ya consegui hacerlo funcionar. Para quien no lo sepa y no perder tiempo, debeis poner en el php.ini

extension=php_apc.dll

[APC]
apc.enabled = 1
apc.shm_segments = 1
apc.shm_size = 64
apc.max_file_size = 10M
apc.stat=1


Saludos.
Savi
  #5 (permalink)  
Antiguo 15/10/2012, 09:54
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Rendimiento Funciones vs. Clases

para windows hay muchas versiones dependiendo del kernel del SO, usualmente en distribuciones GNU/Linux e UNIX, incluso en MAC si no usas Xampp o Mampp utilizando los repositorios de cada distro u OS se compila APC según el hardware actual, lo que lo hace ideal.

francamente no recomiendo a Windows ni como servidor, ni para programar, lo ideal es GNU/Linux, si quieres puedes considerar la migración (no es algo simple), saludos
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #6 (permalink)  
Antiguo 15/10/2012, 13:35
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: Rendimiento Funciones vs. Clases

Cita:
Iniciado por maycolalvarez Ver Mensaje

francamente no recomiendo a Windows ni como servidor, ni para programar, lo ideal es GNU/Linux, si quieres puedes considerar la migración (no es algo simple), saludos
yo trabajo con ambos s.o. y no tengo ningun problema.
lo que si resalto es que hay diferencias en cuanto a soporte para funciones que es un s.o. estan y el el otro no, pero si es mejor o peor no comparto.

Mi opinion en cuan to al redimiento de funciones vs clases es que:
no voy a comprar ambas por cada una tiene sus obteivos y como dijieron las podes usar mutuamente sin ningun problema.
personalmente para proyectos chicos me hago un par de clases con las funciones mas usadas, un orm y listo. para que voy a levantar toda una arquitectura si solo tengo que hacer 5 secciones fijas y un catalogo de productos?
En casos mas complejos directamente hay que elejir un frawwork mvc o hacerce el propio, seria ideal
  #7 (permalink)  
Antiguo 25/10/2012, 01:40
 
Fecha de Ingreso: marzo-2010
Mensajes: 63
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Rendimiento Funciones vs. Clases

Hola,

Gracias por vuestros consejos. Mi problema estaba en si usar o no clases. Veo q el problema q tenia era mas de configurar mi maquina en local, porque en un proveedor externo va muy bien. Me encantan usar OOP y pensaba q era un error hacerlo en este entorno, pero el error era mio de no tener bien configurado un entorno local para trabajar de una manera mas "digna"


Gracias por vuestros comentarios.
Savi

Etiquetas: clases, funciones, rendimiento
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:05.