Newsgroup: it.comp.www.php
Titolo: funzioni non usate rallentano esecuzione ?

se in una pagina si inseriscono molte funzioni
non richiamate da altro codice, il php va comunque a leggere tutto il
contenuto?
volevo lasciare delle funzioni di esempio dentro il codice senza però
commentarle in quanto la grafica del commento non colora le variabili
etc..;
inoltre riguardo i commenti se sono lunghi appesantiscono in qualche modo
l'esecuzione del file?


bhè, potresti mettere tutte le tue funzioni in una pagine php, e
richiamandola da un altro file con un include ?

 richiamandola da un altro file con un include ?
Questa soluzione non risolve il problema evidenziato da artev.
-- 
Vuoi distribuire il tuo sito web su CD/DVD?
Prova 
http://www.dwebpro.com/
Vuoi diventare un esperto analista PHP/MySQL?
Vieni a fare uno stage con noi: 
http://www.creativepark.it/stage/

 
Beh, se non le richiama che senso ha commentarle?
mette un commento iniziale tipo "stanno qui per esempio" e via.
Il tempo di eventuale compilazione mi sembra secondario, a meno che non 
siano miliardi di righe, rispetto ai tempi di esecuzione dello script 
(in genere).
Non so esattamente quando il php fa la "compilazione" del codice se 
"just in time" o all'avvio.
-- 
ac
y-1=x

 "just in time" o all'avvio.
Senza un sistema di caching, ad ogni richiesta sia come ISAPI/mod che
come CGI.


 
-- 
ac
y-1=x

 Non so che faccia la ADOdb.
Google -> ADODb -> Mi sento fortunato -> 
http://adodb.sourceforge.net/
ADOdb Database Abstraction Library for PHP (and Python).


 
Vedo che proseguiamo a cantare in due tonalita' diverse.
La prima riga non serve la seconda non e' esaustiva.
Questa poteva andare meglio
"ADOdb is a database abstraction library for PHP and Python based on the 
same concept as Microsoft's ActiveX Data Objects. It allows developers 
to write ..."
Ho fatto due domande, credo, precise. Una richiedeva un numero tra 0 e 
100 o il "null". L'altra una cosa qualsiasi, compreso il "null", ma non 
un'altra domanda.
Personalmente quando non so una cosa lo dico. Punto.
P.S. se per riusabilita' di codice intendi vagonate di copia e incolla o 
includes di miliardi di righe di codice di cui a te ne servono due. 
Comprendo. E c'e' la risposta all' OP.
-- 
ac
y-1=x

 Personalmente quando non so una cosa lo dico.
Bene.


 
Premesso che non riesco a quantificare, ma attraverso qualche prova si 
potrebbe anche determinare questo valore, spesso e volentieri emergono 
delle richieste strane (artev non mi riferisco direttamente a te): 
magari si cerca l'ottimizzazione di un ++$i rispetto al $i++ mentre si 
tralascia, spesso e volentieri, la parte più onerosa ovvero l'accesso ai 
dati (ok, siamo in una lista di php...)
Ragionando in puri termini di prestazioni, quasi sicuramente una 
programmazione ad oggetti risulta più lenta di una programmazione 
procedurale oppure l'uso di un framework (senza funzioni cache) di 
script scritti ad-hoc, ma alla fine abbiamo un risultato nettamente 
"superiore" in termini di velocità di realizzazione, manutenzione etc.
Tornando alla richiesta di artev, forse è opportuno togliere dallo 
script la parte di esempio, creando un apposito file di documentazione.
	Francesco

 l'esecuzione del file?
si:
il commento e' parsato da /* */ deve cercare inizio e fine
il commento appesantisce il file.
anche " " tab, spazi ecc...
il codice indentato, scritto bene e' piu lento di un file
php ridotto all'osso (no commenti no indentature) ci sono sw
che fanno questo, rende il 30% in piu
quindi se vuoi prestazioni devi ripulire i file
stessa cosa per gli oggetti se li istanzi e non li usi e' piu lento
anche creare una function per usarla 1 volta e' piu lento di un 
strutturato cosa diversa se la usi 2 o piu volte

 script la parte di esempio, creando un apposito file di documentazione.
Mi spiace ma continuo a pensare che sono sempre le cose mentali gia' dette
compreso lo scegliere i++ o ++i  che fondamentalmente, ed e' questa la 
sola cosa importante, sono due cose "logicamente" diverse (per quel che 
ne so). Se poi una fa un ciclo di clock di meno dell'altra per fare un 
secondo di "spreco" dovrei cliclare almeno 10 alla 10 volte.
My gawd, non ci penso neanche lontanamente.
Per quanto attiene alla documentazione progettuale, ovviamente, sono 
pienamente d'accordo nella sua stesura e soprattutto suo *mantenimento*.
Cordiali saluti
-- 
ac
y-1=x

 di "spreco" dovrei cliclare almeno 10 alla 10 volte.
Questa affermazione lascia il tempo che trova. In applicazioni
mediamente complesse ci possono essere decine se non centinaia di
chiamate del genere, senza contare la sostanziale differenza tra una
applicazione mono utente eseguita in locale ed una in produzione.
Per tornare all'oggetto del thread, se cercare di ottimizzare un codice
per ridurre il lavoro del parser fosse una "masturbazione mentale", non
esisterebbero prodotti come APC, eAccelerator, XCache, Zend Cache ed
altri.


 
non discuto che ci siano e che possano servire e non entro nel merito 
del fatto che c'e' un sacco di gente, compreso il sottoscritto, che non 
ha nulla da fare e filosofeggia dei vari livelli dell' "aria fritta", 
sempre me compreso. Ho letto il post di Gufo Rosso (al 30% non ci credo 
neanche se lo vedo) ma descrive "chiaramente"  cio' che fanno. Quei 
prodotti, temo, esistono perche' c'e' troppo codice  inutile . I 
"prefabbricati" aiutano molto la velocita' di produzione di un qualsiasi 
manufatto ma, inevitabilmente, portano ad integrare componenti 
assolutamente superflui al fine del prodotto che dobbiamo realizzare. Un 
"ottimizzatore" che mi toglie l'indentazione lo schifo per principio.
last call!
sono abitutato a basi dati di un "certo" volume ed a "servers" di una 
certa potenza e "concorrenza" di accesso ti prego non parlarmi di 
ottimizzazione di tempi di risposta o "performances" di applicazioni, ne 
ho pieni i "gabbasisi"!
Ahhhhh...... sono piuttosto "permaloso" cerca di non disperdere 
aggettivi poco carini qua e la, c'e' qualche principio della fisica che 
si potrebbe adombrare.
Are you ready? (Chris Rea e' un genio)
e... non leggero' mai il "fucked manual".
-- 
ac
y-1=x

 e... non leggero' mai il "fucked manual".
Questo e' sicuramente uno dei motivi che ti manterranno nell'ignoranza
che tanto fieramente vai affermando ("quando non so una cosa lo dico").


 quindi se vuoi prestazioni devi ripulire i file
Parli delle prestazioni in fase di caricamento/parsing del file, non di
esecuzione dell'op-code, vero?
Per fugare qualsiasi dubbio possa venire in mente ad altri partecipanti
del newsgroup, ecco un semplice codice di test:
<?php 
$time_start = microtime(true);
$tests = 10;
for ($t = 0; $t < $tests; $t++) {
	$count = 1000 * 1000;
	$j = 0;
	for ($i = 0; $i < $count; $i++) {
		$j = $j + 1 - 1 + 1 - 1;
		/* Inserisci qui un commento di 1 Mb */
	}
}	
$time_end = microtime(true);
$time = ($time_end - $time_start) / $tests;
echo "Spent $time seconds\r\n";
?>
Eseguendo questo codice cosi' come e' scritto ed una versione
contenente un commento di 1 Mb all'interno del ciclo for($i ...) e'
possibile apprezzare la differenza di performance (nulla) in fase di
esecuzione tra un codice contenente un commento piuttosto sostanzioso
(es. 1 Mb) ed uno quasi senza commenti.


 
Io sto nella mia ignoranza e sono cosciente di essere un cieco ma non mi 
fido molto di coloro che dicono di vederci benissimo. Spesso sono il 
classico orbo in, appunto, una terra di ciechi.
Comunque chiuso l'argomento anche in questo ramo di 3d. Vorrei leggere 
qualche piu' sano post e poi c'e' Riccardo che mi aspetta.
-- 
ac
y-1=x

 leggere qualche piu' sano post e poi c'e' Riccardo che mi aspetta.
A me piacerebbe leggere qualche argomentazione tecnica, come ad esempio
la "provettina" che dovevi fare ...


 
Sono in eccezione E_DICHIARAZIONENONMANTENUTA. E' di tipo Zen.
Ma perche' perdi tempo con uno stupido ignorante che vuol perseverare 
nella sua ignoranza?
ahhh...la provettina e' su una distinta base. Quando le mie "irreali 
applicazioni che stanno da sole" mi lasceranno tranquillo lo faro'.
Per il momento quello che dovevo fare col PHP e' terminato. Ora Drupal 
fa quello che dico io e non quello che dice lui.
Ma non ti libererai di me!
-- 
ac
y-1=x

 Ma non ti libererai di me!
Forse e' il "contrario", sopratutto se continuerai a dare suggerimenti
e fare affermazioni errate.
