![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 28.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam taki pytanko, co lepiej wybrać przy dość częstym liczeniu linii z pliku? Nasuwają mi się te dwie metody: 1. if($fh = fopen('file', 'r')) { while($chunk = fread($fh, 8192)) { $liczba_lini += substr_count($chunk, "\n"); }} 2. $chunk = @shell_exec('wc -l file'); preg_match("/(.*?) \/home(.?)/",$chunk ,$czesc); $liczba_lini = $czesc[1]; I teraz nie wiem która jest wydajniejsza, mniej obciążająca serwer pamięć itp Wydaje mi się ze metoda druga, ale nie wiem jak to z częstym wychodzeniem z php czy to nie spowalnia i nie katuje serwera. A może ktoś zna jeszcze inna metodę? Z niecierpliwością czekam na odpowiedz i pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
To nie możesz sprawdzić? Zarzuć każdy kod w pętli, zmierz czasy, sprawdź jak skacze pamięć i będziesz wszystko wiedział.
ps: $liczba_lini += substr_count($chunk, "\n"); przecież fread czyta plik po linijce, więc wystarczy: $liczba_lini++; |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 16:30 |