🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: chile.comp.programacion
Article #81

Re: Pregunta ordenes de tiempo en PHP

#81
From: Jos� Miguel Santib��ez
Date: Fri, 09 Sep 2005 18:30
45 lines
3215 bytes
En el cap�tulo anterior (news:dfs2sa$9d7$3@helcaraxe.dcc.uchile.cl),
Alvaro Herrera <alvherre@dcc.uchile.cl> dijo: 

> En chile.comp.misc, Cristian Gutierrez escribio':
>> Hoy en la noche, Jos� Miguel Santib��ez dijo:
>> > En el cap�tulo anterior (news:dfqn6d$u0h$1@localhost.localdomain),
>> > Chano <chano@lj.NOSPAM.cl> dijo: 
>> >
>> >>   En PHP, si tengo un array,  $variable[$indice] = algo , por
>> >>   ejemplo , en donde $indice 
>> >> es un valor entero mayor a cero y no consecutivo (9,1,345, 123,
>> >> 244), cual es el orden ( O(x) ) de hacer la operacion:
>> >> 
>> >> if ( $variable[$valor] )
> 
>> [...]
> 
>> Segun [1] (llamado desde [2]), pareciera ser una tabla de hash de las
>> tipicas, O(1) en general (no me atrevo a decir "en promedio" :-S) y
>> O(n) en el peor caso. Las macros Z_STRVAL_PP y Z_LVAL_PP deberian dar
>> la pista de como se calcula el hash (ulong de C) de un valor (string
>> o long de PHP).
> 
> Pero ojo.  Esa tabla de hash puede usar llaves de texto, asignacion
> dinamica de memoria, y probablemente aunque sea O(1) las constantes
> deben ser mas o menos grandes, en comparacion con algun algoritmo O(n)
> mas simple que tenga constantes mucho menores.  (Ademas, cuando n=5,
> los valores son harto chicos generalmente ... )
> 
> (Sobre todo si, como decia un mensaje anterior, es mas lento chequear
> la existencia de una llave que simplemente accederla ... eso apuntaria
> a que la estructura de datos donde se almacena el hash es mas bien
> compleja!)
> 

Quiero agregar que la discusi�n de velocidades en:
http://cl.php.net/manual/es/function.array-key-exists.php
en todos los casos comentados, usan entradas num�ricas y secuenciales.

Es probable que en el caso planteado, los tiempos sean similares...

-- 
                           Jose M. Santiba�ez A.
                             <jms@nivel5.cl>
                           <http://caos.cl/jms>
Technical Details
Message-ID: <Xns96CC93A82739Ajmsnews@200.27.221.71>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!news.glorb.com!newsread.com!news-xfer.newsread.com!newspeer.monmouth.com!newsfeed.yul.equant.net!news-santiago!news1.nivel5.cl!news.vcd.cl!not-for-mail
References: <dfqn6d$u0h$1@localhost.localdomain> <Xns96CBE9C9F77EFjmsnews@200.27.221.71> <87fyse99mq.fsf@bender.guti.cl> <dfs2sa$9d7$3@helcaraxe.dcc.uchile.cl>

Show Full Headers
Complete Article Headers
X-Google-Thread: 1593cb,ba4785603e789050
X-Google-Thread: 107d6b,ba4785603e789050
X-Google-Attributes: gid1593cb,gid107d6b,public
X-Google-Language: SPANISH,ASCII
Newsgroups: chile.comp.programacion,chile.comp.misc
Subject: Re: Pregunta ordenes de tiempo en PHP
From: "Jos� Miguel Santib��ez" <jms.nospam@nivel5.cl>
References: <dfqn6d$u0h$1@localhost.localdomain> <Xns96CBE9C9F77EFjmsnews@200.27.221.71> <87fyse99mq.fsf@bender.guti.cl> <dfs2sa$9d7$3@helcaraxe.dcc.uchile.cl>
Organization: Caos Consultores
Message-ID: <Xns96CC93A82739Ajmsnews@200.27.221.71>
User-Agent: Xnews/5.04.25
X-Face: +|NgjgFM{<rs%\Q|vUu16]a6,}?MJTA<!PEEI+x&Gw-Gyq+?$}fvo+.(,-r;)~Qzn)#{{nxU,OT?w^s<7m4ckCJ*L$c#I)yHL7b)GdU*#l
NNTP-Posting-Host: 236-44-112.adsl.terra.cl
X-Original-NNTP-Posting-Host: 236-44-112.adsl.terra.cl
Date: 9 Sep 2005 14:30:11 -0400
X-Trace: news.vcd.cl!not-for-mail 1126287011 236-44-112.adsl.terra.cl (9 Sep 2005 14:30:11 -0400)
X-Original-Trace: 9 Sep 2005 14:30:11 -0400, 236-44-112.adsl.terra.cl
Lines: 45
X-Authenticated-User: jms
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!news.glorb.com!newsread.com!news-xfer.newsread.com!newspeer.monmouth.com!newsfeed.yul.equant.net!news-santiago!news1.nivel5.cl!news.vcd.cl!not-for-mail