rudzis Posted February 7, 2005 Report Share Posted February 7, 2005 (edited) Atkal manas spožās idejas... Kaut kur diraa/ ir faili 1.txt; 2.txt ...... utt., un ir zinaams failu skaits (lielaakais cipars). Vajag sakskaitiit visu failu visas rindinjas (rindas explodeejas peec ":::" ) :) Got ideas? ;) Edited February 7, 2005 by rudzis Link to comment Share on other sites More sharing options...
tamster Posted February 7, 2005 Report Share Posted February 7, 2005 ciklā ver vaļā failus, explodē, taisi $total+=count($masivs);... nav diez cik labi performances ziņā, bet strādāt strādās :) Link to comment Share on other sites More sharing options...
rudzis Posted February 7, 2005 Author Report Share Posted February 7, 2005 Hmmz... Kāds nevēlētos uzrakstīt sampli? Man kaut kas nesanāca... :/ Link to comment Share on other sites More sharing options...
Roze Posted February 7, 2005 Report Share Posted February 7, 2005 Vispār jau ar kodu rakstīšanu jānodrabojas pašam bet nu: for($i=1;$i<=$maximalais;$i++) { $cnt += count(explode(':::',file_get_contents('/some/path/'.$i.'.txt'))); } echo 'Rindu skaits: '.$cnt; protams korektumam var itkaa likt arii if(file_exists(... )), bet nu ja ir pārliecība ka faili vienmēr būs tad teorētiski nevajag. Link to comment Share on other sites More sharing options...
bubu Posted February 7, 2005 Report Share Posted February 7, 2005 Hmmz... Kāds nevēlētos uzrakstīt sampli? Man kaut kas nesanāca... :/ 13478[/snapback] Varēji jau parādīt savu kodu, kas uzkodējās, lai arī ar visiem bugiem. Tad mēs varētu parādīt, kur kļūdījies, tā tu vairāk iemācītos, jo redzētu, kam jāpievērš uzmanība. A nevis tikai gatavu kodu prasīt... Link to comment Share on other sites More sharing options...
blackhalt Posted February 8, 2005 Report Share Posted February 8, 2005 (edited) Atkal manas spožās idejas... Kaut kur diraa/ ir faili 1.txt; 2.txt ...... utt., un ir zinaams failu skaits (lielaakais cipars). Vajag sakskaitiit visu failu visas rindinjas (rindas explodeejas peec ":::" ) :) Got ideas? ;) 13471[/snapback] faila rindas var saskaitīt ar sizeof(); , tas ja nav tur dafiga nevaidzīgu \n tb ja katrs ieraksts jaunā rindā ira ;) Edited February 8, 2005 by blackhalt Link to comment Share on other sites More sharing options...
bubu Posted February 8, 2005 Report Share Posted February 8, 2005 blackhalt: ar ko count() atšķirās no sizeof() :)) Un takš manliekās tika minēts, ka jauna rinda tiek identificēta ar ::: Link to comment Share on other sites More sharing options...
Venom Posted February 8, 2005 Report Share Posted February 8, 2005 NB: agrāk vienmēr lietoju sizeof(), jo count() bija viņam aliass performances labad, tagad reku-šeku otrādi. Bet izmantot gan vienu gan otru vienkāršai faila rindu skaitīšanai var tikai tad, kad viss fails sastāv vienīgi no \n zīmēm. bet var uz count(@file($file)) Link to comment Share on other sites More sharing options...
blackhalt Posted February 8, 2005 Report Share Posted February 8, 2005 blackhalt: ar ko count() atšķirās no sizeof() :)) Un takš manliekās tika minēts, ka jauna rinda tiek identificēta ar ::: 13498[/snapback] sizeof ir ātrāks ;) nekur tur nav rakstīts par jaunu rindu[newline] :P moš tur vis vienā rindā explodējas ar ::: :) Link to comment Share on other sites More sharing options...
bubu Posted February 8, 2005 Report Share Posted February 8, 2005 (edited) Nu blackhalt samuldējies gan! Iz http://lv.php.net/sizeof : sizeof -- Alias of count() Edited February 8, 2005 by bubu Link to comment Share on other sites More sharing options...
blackhalt Posted February 8, 2005 Report Share Posted February 8, 2005 Nu blackhalt samuldējies gan! Iz http://lv.php.net/sizeof :sizeof -- Alias of count() 13503[/snapback] Пусть тесты будут иметь погрешности... Но результат один - count() заметно отстает по скорости от sizeof()! Хм, я бы к записи в мануале сделал приписку: "The sizeof() function is an alias for count(), but последний сильно тормозит!" PHP - Оптимизация программ на PHP Link to comment Share on other sites More sharing options...
Venom Posted February 8, 2005 Report Share Posted February 8, 2005 nevajag ticēt 92 vai kura tur gada testiem! $ary=array(); $tmp=1001; $start=array_sum(explode(' ',microtime())); while(--$tmp) { $ary[]=$tmp; sizeof($ary); } echo '<br />'.(array_sum(explode(' ',microtime()))-$start); $ary=array(); $tmp=1001; $start=array_sum(explode(' ',microtime())); while(--$tmp) { $ary[]=$tmp; count($ary); } echo '<br />'.(array_sum(explode(' ',microtime()))-$start); 0.0023410320281982 0.0014579296112061 kā jau teicu - kādu laiku lietoju sizeof, jo manuālī count() bija sizeof() aliass, ar 4.x kuru tur versiju php izstrādātāji pagājuši pretī un samainījuši tos otrādi, jo sapratuši, ka count() jauniņiem vieglāk atrodams manuālī par C++/Java pierasto terminu sizeof() Link to comment Share on other sites More sharing options...
blackhalt Posted February 8, 2005 Report Share Posted February 8, 2005 nevajag ticēt 92 vai kura tur gada testiem!....cut... <?php $ary=array(); $tmp=5001; $start=array_sum(explode(' ',microtime())); while(--$tmp) { $ary[]=$tmp; count($ary); } echo '<br />'.(array_sum(explode(' ',microtime()))-$start); $ary=array(); $tmp=5001; $start=array_sum(explode(' ',microtime())); while(--$tmp) { $ary[]=$tmp; sizeof($ary); } echo '<br />'.(array_sum(explode(' ',microtime()))-$start); ?> 0.30639410018921 0.096214056015015 :D Link to comment Share on other sites More sharing options...
рпр Posted February 8, 2005 Report Share Posted February 8, 2005 0.0979950428009 0.0775570869446 Link to comment Share on other sites More sharing options...
blackhalt Posted February 8, 2005 Report Share Posted February 8, 2005 (edited) blabla palūr uzmanīgāk to Venom/manu skriptu! ;) samainīju skriptā vietām sizeof ar count ;) bet uz 100001 sizeof bija vienmērigāks bet bik lēnāks :/ laidu katru atsevišķā count.php un sizeof.php Edited February 8, 2005 by blackhalt Link to comment Share on other sites More sharing options...
Recommended Posts