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
12.07.2013, 13:56:51
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
15.07.2013, 07:14:08
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.
Witam,
dzięki za odpowiedzi, w takim razie trzeba będzie to przerobić, jak będzie chwila oddechu.
Pozdrawiam
toffiak
16.07.2013, 06:21:08
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
16.07.2013, 10:13:45
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.