Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.www.php > #20951

Re: ritornare una list mixed

From Alessandro Pellizzari <shuriken@amiran.it>
Newsgroups it.comp.www.php
Subject Re: ritornare una list mixed
Date 2016-06-18 16:28 +0000
Message-ID <dslb5aFj5kiU1@mid.individual.net> (permalink)
References <dsinv7F5lpjU1@mid.individual.net> <dsj563Fbsg9U1@mid.individual.net> <cf9260d3-bf5b-43c8-9235-868190fe5a3b@googlegroups.com>

Show all headers | View raw


Il Fri, 17 Jun 2016 17:26:37 -0700, fmassei ha scritto:

> On Friday, June 17, 2016 at 4:34:14 PM UTC-4, Alessandro Pellizzari
> wrote:
>> Se <strike>ti vuoi male</strike> vuoi vivere nel futuro, puoi usare i
>> generatori:

> ehehehe! Guarda, ero sicuro che, fin da quando abbiamo parlato di
> generatori qui qualche mese fa, ti bruciavano le mani per poterli usarli
> in qualche esempio :D

Ah, beccato! :D

In realtà ultimamente "mi tocca" perchè il nostro frontendista sta 
spingendo un po' troppo velocemente react.js e javascript oltre i limiti, 
e si è messo a usare i generatori per le chiamate asincrone.

Siccome in teoria io dovrei poterlo sostituire in caso di ferie o malattie, 
mi tocca addentrarmici. :)

> Pensiero 1: in ritorno abbiamo un array dove ogni elemento sono due
> puntatori (la stringa e il reference ad un DOMelement, che è un
> resource): su un 64bit sono 16byte ad elemento, per (diciamo) 100mila
> nodi fanno 1.5Mbyte. Come sappiamo la struttura potrebbe non essere
> compatta, ma in questo caso l'array sarebbe memoria contigua, per cui
> anche considerando gli sprechi e i buchi,
> è una quantità comunque troppo irrisoria per farci conti sopra..

Questo effettivamente è vero nel caso di PHP7 (richiesto, tra l'altro) 
viste le ottimizzazioni a livello di copy on write e di allocazione di 
memoria degli array che hanno introdotto.

Diciamo che mi sono trovato a dover processare XML di 100 MB e mi sto 
facendo forse un po' troppe pare. :)
 
> Pensiero 3: per quanto riguarda le performances, sia di memoria che di
> CPU, ovviamente sia la soluzione dell'OP che i generatori sono una
> bestemmia :)
> La migliore soluzione è, naturalmente, la classica map (che si emula in
> PHP con il passaggio di una callback alla funzione che cicla l'albero).

La soluzione migliore sarebbe un parser alla XMLReader, ma effettivamente 
per file così piccoli stiamo pettinando il pelo sull'uovo. :P

Bye.

Back to it.comp.www.php | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

ritornare una list mixed Sandro kensan <kensan@kensan.it> - 2016-06-17 18:48 +0200
  Re: ritornare una list mixed fmassei@gmail.com - 2016-06-17 10:26 -0700
    Re: ritornare una list mixed Sandro kensan <kensan@kensan.it> - 2016-06-17 20:49 +0200
      Re: ritornare una list mixed fmassei@gmail.com - 2016-06-17 12:11 -0700
        Re: ritornare una list mixed Sandro kensan <kensan@kensan.it> - 2016-06-17 22:01 +0200
          Re: ritornare una list mixed fmassei@gmail.com - 2016-06-17 16:51 -0700
  Re: ritornare una list mixed Alessandro Pellizzari <shuriken@amiran.it> - 2016-06-17 20:34 +0000
    Re: ritornare una list mixed Sandro kensan <kensan@kensan.it> - 2016-06-18 00:18 +0200
    Re: ritornare una list mixed fmassei@gmail.com - 2016-06-17 17:26 -0700
      Re: ritornare una list mixed Alessandro Pellizzari <shuriken@amiran.it> - 2016-06-18 16:28 +0000
        Re: ritornare una list mixed fmassei@gmail.com - 2016-06-18 12:29 -0700

csiph-web