Autor | Zpráva | ||
---|---|---|---|
Tori Profil |
#1 · Zasláno: 3. 3. 2011, 15:02:32
V souvislosti s vláknem unikatny vyskyt vysledku - PHP mne napadlo, jestli je rozdíl v použití file_get_contents + strpos oproti grep (přes funkci exec)? grep -q -m 1 spotřebuje málo paměti, což je určitě výhoda v případě velkých souborů.
Zajímalo by mne: Mohlo by mít nějakou nevýhodu použití systémových funkcí místo pouhého PHP, např.větší nárok na procesor, nutnost zjišťovat OS apod.? |
||
Davex Profil |
#2 · Zasláno: 3. 3. 2011, 23:16:15
Tori:
„je rozdíl v použití file_get_contents + strpos oproti grep (přes funkci exec)?“ Soubor se nemusí načítat celý pomocí funkce file_get_contents a paměťové nároky lze snížit cyklem přes fopen a fread , ale musí se hlídat výskyty na přelomu bufferu - část může být na začátku nebo na konci. U velkých souborů bude PHP funkce strpos pomalejší než algoritmus Boyer-Moore v grep u.
„Mohlo by mít nějakou nevýhodu použití systémových funkcí místo pouhého PHP“ Hlavní nevýhoda je v tom, že volání externích programů není univerzálně použitelné. Na většině webhostingů jsou funkce exec, passthru, shell_exec, system zakázané.
|
||
Časová prodleva: 14 let
|
0