Re: php include

From: Trap (Trapasak@volny.cz)
Date: 02. 05. 2003, 21:42 CEST

  • Next message: Thirsty: "IP adresa javascriptem: jde to?"
    On Wed, 30 Apr 2003 17:56:25 +0200 (CEST)
    Ivanek <zlutypes@seznam.cz> wrote:
    
    > > hmm, nechci byt rypavy, ale kde je ta efektivita?
    > > jaky je rozdil mezi tim, ze nactu cely soubor najednou a
    > > jeho postupnym ctenim po radcich? nejak mi to prijde
    > > stejne, vzdy musi precist cely soubor. a efektivnejsi
    > > bude to nacist najednou (spise rychlejsi nez
    > > efektivnejsi) efektivni bude jedine to, ze v souboru
    > > menu bude primo to menu a nic jineho.
    > > - h! -
    > 
    > Rozdil je predevsim ve zbytecnem nacitani CELEHO souboru
    > do pameti protoze predem nevim, kolik z neho budu realne
    > potrebovat. PRECIST ho tedy musi ale NACIST ne. Nedavno
    > jsem tady obhajoval nacteni celeho, _predem znameho a
    > kratkeho_ souboru, a hned kdekdo jecel, ze je to
    > neefektivni, prestoze v onom pripade to bylo plne
    > opodstatnene. Tady potrebuju z toho fajlu jen kousek nebo
    > kousky, takze je ted zase vyhodnejsi ho nacitat po radcich
    > a schovavat jenom ty potrebne.
    > 
    > Krome toho ty jsi navrhl regex s/// se substituci podle
    > nalezene podskupiny, ktery mel pracovat na stringu s CELYM
    > souborem. Tak prave tohle je podle meho nazoru vrchol
    > neefektivity...
    > 
    > I ja mam v oblibe komplexni 'jednoradkova' reseni, pokud
    > ale nejsou v jasnem rozporu s pozadavkem rychlosi a naroku
    > (predevsim pametovych) na server.
    > 
    > Ivanek. 
    > 
    No nabizi se jeste jedno resenim, asi o 20% rychlejsi nez
    Ivankovo, na mene radku, bez zasahu do puvodnich souboru a s
    opovrhovanym stristr. Tise predpokladam, ze <body ...> a
    </body> je na samostatnem radku:
    function myinclude2($what) {
      $fp = fopen($what,"r");
      while( ($line = fgets($fp, 4000)) && !stristr($line,"<body") ) ;  
      while( ($line = fgets($fp, 4000)) && !stristr($line, "</body>"))    
        echo "$line";
      fclose($fp);
    }
    s pouzitim myinclude2("nazev_souboru");
    
    Abych pravdu rekl, rychlost pristupu h!ynka.lipy se mne nepodarilo 
    otestovat z pomerne nepekneho duvodu. Nejak mi to nefungovalo a navic
    to pekne zamestnalo cpu (nez vyprsel 30s limit na execute). Nejspis 
    nejaky preklep v regex, nebo mne tu spatne funguje copy|paste.
    Testy jsem delal pomoci tisicinasobneho foru a wgetem. Velikost 
    vysledneho souboru se vysplhala asi na 12 MB. 
    Pri pouziti preg_match doslo asi k jednoprocentnimu zpomaleni, 
    naopak pri pouziti strstr se beh samozrejme o 6% zrychlil.
    -- 
    S pozdravem
    Trap
    

  • Next message: Thirsty: "IP adresa javascriptem: jde to?"

    This archive was generated by hypermail 2.1.6 : 02. 05. 2003, 21:43 CEST