Duży plik z kodem |
Duży plik z kodem |
12.07.2013, 13:53:51
Post
#1
|
|
Grupa: Zarejestrowani Postów: 208 Pomógł: 28 Dołączył: 9.08.2004 Skąd: Stargard Ostrzeżenie: (0%) |
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 -------------------- errare humanum est
|
|
|
12.07.2013, 13:56:51
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
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....
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
15.07.2013, 07:14:08
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 1 Dołączył: 15.07.2013 Ostrzeżenie: (0%) |
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.
|
|
|
15.07.2013, 22:25:28
Post
#4
|
|
Grupa: Zarejestrowani Postów: 208 Pomógł: 28 Dołączył: 9.08.2004 Skąd: Stargard Ostrzeżenie: (0%) |
Witam,
dzięki za odpowiedzi, w takim razie trzeba będzie to przerobić, jak będzie chwila oddechu. Pozdrawiam -------------------- errare humanum est
|
|
|
16.07.2013, 06:21:08
Post
#5
|
|
Grupa: Zarejestrowani Postów: 395 Pomógł: 80 Dołączył: 24.08.2009 Ostrzeżenie: (0%) |
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. -------------------- |
|
|
16.07.2013, 10:13:45
Post
#6
|
|
Grupa: Zarejestrowani Postów: 532 Pomógł: 24 Dołączył: 15.04.2011 Skąd: Kalisz Ostrzeżenie: (0%) |
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ą. |
|
|
Wersja Lo-Fi | Aktualny czas: 26.04.2024 - 04:33 |