Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]preg_match przyspieszenie przeszukiwania
Forum PHP.pl > Forum > Przedszkole
no_face
Witajcie,

potrzebuje jakiegos sposobu by przyspieszyc przeszukiwania duzych plikow tekstowych. Chcialbym wyszukiwac zadana fraze plus 5 linijek z gory i z dolu.

Obecnie wykorzystujac takie zapytanie:
Kod
/(.+\r\n|.+\n){5}.+fraza_fraza.+(\r\n.+|\n.+){5}/


otrzymuje prawidlowy wynik, lecz przeszukanie jednego wyniku zajmuje b. duzo czasu. Mozna byloby to jakos usprawnic? Jakies wczesniejsze zawezenie pola poszukiwania? Wyciecie za pomoca innych funkcji?
wookieb
A próbowałeś pobawić się z strpos?
A dokładniej to
fopen + odczytanie linii + strpos
DiH
Możesz również spróbować przeszukiwać plik dzieląc go na części, operując potem na tych nich i łącząc wyniki pod koniec. W tym samym czasie przeszukujesz linijki 0-1000, 1001 - 2000 etc. O ile działa to przy wszelkiego rodzaju sortowaniach zewnętrznych, to akurat tutaj po prostu strzelam. A nóż pomoże. Proponuję sprawdzić szybkość wykonywania skryptu poprzez microtime() i porównać czasy.
no_face
Cytat(DiH @ 6.02.2010, 23:22:47 ) *
Proponuję sprawdzić szybkość wykonywania skryptu poprzez microtime() i porównać czasy.

W moim przypadku, gdzie pliki z danymi waza niezmiernie nieoptymalnie, swobodnie mozna byloby zastosowac time() lub nawet date('H') winksmiley.jpg

Skutecznie rozwiazuja problem petelki, strpos.

Dziekuje i pozdrawiam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.