Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Duży plik z kodem
Forum PHP.pl > Forum > PHP
cim
Witam,

czy dla działania (w sensie wydajnościowym) ma znaczenie czy kod znajduje się w jednym dużym pliku (przykładowo 400 KB czystego PHP), czy np. w dwóch lub większej liczbie mniejszych plików? Macie jakąś wiedzę na ten temat/wskazówki? Nie bardzo mam możliwość podzielenia tego pliku na kilka mniejszych i zrobienie testów wydajnościowych obu wariantów, stąd pytanie do Was.

Pozdrawiam
nospor
Im wiekszy plik tym gorzej. Oczywiscie do pewnej rozsądnej granicy nie ma to znaczenia, ale 400kb kodu na jeden plik to chyba lekka przesada....
Anonimowo
Według zasady SOC, czyli podziału odpowiedzialności, jeden plik musi zawierać jedną klasą która robi jedną rzecz, jednakże tworzy się bootstrap'y które kolekcjonują wiele plików i łączą w jeden aby zminimalizować I/O.
cim
Witam,

dzięki za odpowiedzi, w takim razie trzeba będzie to przerobić, jak będzie chwila oddechu.

Pozdrawiam
toffiak
Sam testów nigdy nie robiłem ale dawno temu gdy pracowałem na Symfony 1.4 była tam możliwość utworzenia jednego pliku ze wszystkich plików dla Doctrine ( https://doctrine.readthedocs.org/en/latest/...erformance.html ). Działało to szybciej niż gdy gdy pliki nie były ze sobą połączone, różnica nie była duża kilkanaście procent dla całego projektu. Projekt wykorzystywał jednak więcej pamięci niż poprzednio.

W symfony 2.x pliki frameworka także są łączone ze sobą w jeden duży plik.
adbacz
Jeśli jest to plik, w którym ponad 85% klas (jeśli mówimy tu o obiektówce) albo kodu ogólnie jest używanego zawsze, to pozostaw to jednym pliku. Szybciej dla PHP jest załadowanie jednego większego pliku niż 50 mniejszych, z taką samą zawartością.

Lecz jeśli kod zawarty w tym pliku nie jest w pełni wykorzystywany za każdym razem gdy ładujesz te plik, to lepiej podzielić go na mniejsze.

Z doświadczenia wiem, że ładowanie klas do jednego pliku Cache, które sa używane zawsze zmniejsza czas wykonywania skryptów od kilkunastu do kilkudziesięciu procent nawet. Ale trzeba to robić z głową.
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.