Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: Velocità PHP

  1. #1
    Utente di HTML.it L'avatar di Nix82
    Registrato dal
    Oct 2001
    residenza
    Mussolente (VI)
    Messaggi
    1,122

    Velocità PHP

    Gentili colleghi PHPisti buondì
    ho creato uno script in PHP per la risoluzione delle equazioni di quinto grado. Un mega ciclo FOR utilizzando il teorema di esistenza degli zeri e accettando una soluzione discretametne approssimata.
    Ho creato lo stesso programma con C++. La velocità tra i due linguaggi è mostruosa. PHP ci mette dai 25 ai 35 secondi mentre C++ ci mette circa 2 secondi.
    Quallo che chiedo io è....
    c'è la possibilità di migliorare le prestazioni di PHP a parità di processore e ram? Nel php.ini si può intervenire?

    Grazie
    La cultura è il nostro passaporto per il domani. Il futuro appartiene alle persone che si preparano oggi.
    Martin Luther King

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027

    Re: Velocità PHP

    Originariamente inviato da Nix82
    Gentili colleghi PHPisti buondì
    ho creato uno script in PHP per la risoluzione delle equazioni di quinto grado. Un mega ciclo FOR utilizzando il teorema di esistenza degli zeri e accettando una soluzione discretametne approssimata.
    Ho creato lo stesso programma con C++. La velocità tra i due linguaggi è mostruosa. PHP ci mette dai 25 ai 35 secondi mentre C++ ci mette circa 2 secondi.
    Quallo che chiedo io è....
    c'è la possibilità di migliorare le prestazioni di PHP a parità di processore e ram? Nel php.ini si può intervenire?

    Grazie
    Bhe ci sono degli accorgimenti per velocizzare, più che altro nella forma in cui scrivi il codice, ma no puoi fare confronti tra php e C, il php è scritto in C, quindi c'è un passaggio in più prima di arrivare al "linguaggio macchina".




  3. #3
    Utente di HTML.it L'avatar di Nix82
    Registrato dal
    Oct 2001
    residenza
    Mussolente (VI)
    Messaggi
    1,122

    Re: Re: Velocità PHP

    Originariamente inviato da gianiaz
    Bhe ci sono degli accorgimenti per velocizzare, più che altro nella forma in cui scrivi il codice, ma no puoi fare confronti tra php e C, il php è scritto in C, quindi c'è un passaggio in più prima di arrivare al "linguaggio macchina".



    Grazie!
    Non volevo fare confronti con il C! E' solo che sto sviluppando un software che sarebbe adatto più a un linguaggio come il C che come il PHP capisci?
    Volevo sapere se c'era un qualcosa per migliorare le condizioni di calcolatore per andare a scapito magari di altre cose che al mio programma non servono!
    La cultura è il nostro passaporto per il domani. Il futuro appartiene alle persone che si preparano oggi.
    Martin Luther King

  4. #4
    Ciao.
    Non so se possa fare al caso tuo ma un
    occhio ce lo puoi dare phalanger
    la C ci sta


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  5. #5

    Re: Velocità PHP

    Originariamente inviato da Nix82
    PHP ci mette dai 25 ai 35 secondi mentre C++ ci mette circa 2 secondi.
    e ocaml 1 ... ogni linguaggio è più adatto di altri, a seconda di cosa si vuol fare.

    Ma se cerchi performances, le opzioni sono:
    ASM
    C
    caml
    D
    ocaml
    C++
    F#
    C#
    Java

    che non sono in ordine casuale ma dal più al meno veloce.
    Non so se ce n'è uno, oltre F#, più adatto alla matematica ... magari anche Object Oriented? Ecco, quello sarebbe il modo più elegante per risolvere il tutto (ocaml l'ho già detto, vero?)


    ... dov'è PHP? ... qui, sul Web, dove i conti al massimo son delegati al database
    (o son veramente semplici ...)

    Poi c'è il discorso che quando cerchi performances in PHP, $i++ è più lento di ++$i, e foreach è più veloce di qualuque for o while(list(,$k)= each($lol)) ... ma questi son dettagli che non ti servono, se puoi usare un altro linguaggio più strutturato e per questo performante, non trovi?
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  6. #6
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027

    Re: Re: Velocità PHP

    Originariamente inviato da andr3a
    foreach è più veloce di qualuque for o while(list(,$k)= each($lol)) ... ma questi son dettagli
    VVoVe:

    Andrea mi sa che ti sei sbagliato...

    Non credo di dover essere io a dirtelo, ma prova questo e dimmi se sei ancora d'accordo:
    [php]
    <?php

    $array = array();
    for($i = 0; $i < 10000; $i++) {
    $array[] = $i;
    }

    $start_for = microtime();

    $array_length = count($array);
    for($i = 0; $i < $array_length; $i++) {
    echo $array[$i];
    }
    echo '
    ';
    echo "Tempo esecuzione =".microtime()-$start_for;
    echo '
    ';
    echo '
    ';
    $start_foreach = microtime();
    foreach($array as $val) {
    echo $val;
    }
    echo '
    ';
    echo "Tempo esecuzione =".microtime()-$start_foreach;

    ?>
    [/code]

  7. #7
    non è un test affidabile, e nonusi il true dentro il mocrotime per avere dati attendibili


    P.S. foreach lavora in core, l'$i++ lo fa il c, non il C dopo aver capito l'istruzione PHP da esguire.

    Ci sono non so quanti 3D sulla questione, foreach è il più veloce ma non garantisce ordine, quindi per quel caso dell'array non è consigliabile.


    $arr = array();
    $arr[2] = 2;
    $arr[0] = 0;
    $arr[1] = 1;
    foreach($arr as $value)echo $value;

    sarà 2 prima, zero poi in fine uno
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  8. #8
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da andr3a
    non è un test affidabile, e nonusi il true dentro il mocrotime per avere dati attendibili
    Scusa cos'è il true dentro a microtime?

    Sta di fatto che il foreach crea una copia dell'array, il for no, è ovvio che sia più lento.

    Poi se hai delle fonti attendibili sono pronto ad imparare

  9. #9
    Originariamente inviato da gianiaz
    Sta di fatto che il foreach crea una copia dell'array, il for no, è ovvio che sia più lento.

    Poi se hai delle fonti attendibili sono pronto ad imparare
    per prima cosa ho editato, leggi anche il resto, per seconda cosa io uso PHP5 e non creo nessuna copia di niente ... se tu usi il 4 ... non dovrebbe creare una copia comunque.

    Il microtime l'hai sbagliato, la fonte attendibile è il manuale di php.net ... se hai PHP 4 hai sbagliato, se hai il 5 hai sbagliato.

    Di tests ne abbiamo fatti tanti ed in modo più attendibile, due loop così uno dietro l'altro fatti una sola volta durante l'esecuzione dicono molto poco
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  10. #10
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da andr3a
    per prima cosa ho editato, leggi anche il resto, per seconda cosa io uso PHP5 e non creo nessuna copia di niente ... se tu usi il 4 ... non dovrebbe creare una copia comunque.
    si ho letto dopo.. (anche tu hai editato)

    Il microtime l'hai sbagliato, la fonte attendibile è il manuale di php.net ... se hai PHP 4 hai sbagliato, se hai il 5 hai sbagliato.
    http://fr.php.net/manual/it/function.microtime.php

    puoi dirmi dove?

    Di tests ne abbiamo fatti tanti ed in modo più attendibile, due loop così uno dietro l'altro fatti una sola volta durante l'esecuzione dicono molto poco
    Questo lo hai già detto, e ti ho chiesto perfavore se hai un link, cosi me lo studio, grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.