![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 532 Pomógł: 24 Dołączył: 15.04.2011 Skąd: Kalisz Ostrzeżenie: (0%) ![]() ![]() |
Tak się zastanawiam właśnie, czy można zbudować aplikację, albo jakis prosty FW używając jednego pliku PHP? Albo dwóch, index.php do którego przychodzi żądanie z przeglądarki i JakisGlownyPlik.php który zawiera wszystko co potrzeba. Gdzieś czytałem kiedyś, że include i require bardzo dużo czasu zabiera apache-owi, żeby przyłączyć pliki do działania. Ale czy można pozbyć się tego słabego punktu budując aplikację w jednym pliku?
Nie biorę tutaj pod uwagi jakości kodu oraz prostego poruszania się w nim (to nawet nie możliwe jest), ale ogólnej szybkości. Oczywiście wszystko napisane z użyciem OOP itd. Co o tym myślicie? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Totalna ...... Wiesz ile kodu zajmuje średnio zaawansowana aplikacja? Duuuuuuuuużo. A ty to wszystko chcesz w jednym pliku trzymać.
Powód edycji: [nospor]:
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 532 Pomógł: 24 Dołączył: 15.04.2011 Skąd: Kalisz Ostrzeżenie: (0%) ![]() ![]() |
Średnio zaawansowana aplikacja - jaką masz na myśli? Jestem początkujący, i faktycznie mogę nie wiedzieć jak bardzo "kobylaste" mogą być aplikacje WEB no ale az takie? Jaka może być różnica w include plików powiedzmy 40-50 (szacuję, że coś koło tego, zawsze jest włączanych do projektu) a jednego dużego? pytam czysto teoretycznie
![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Srednio skomplikowana aplikacja zajmuje parę mega.
Stworzyłem plik o rozmiarze 2.6 MB. Plik składal się z linii: $zm = 1 + 3 +4 .'aaaaa'.'5'; linii tych jest prawie 100tys. include takiego pliku trwa 0.38 sekundy i konsumuje prawie 200MB pamięci. A takich odwołan będziesz miał tyle ile userów. Zaincludowanie paru zdecydowanie mniejszych plików zajmuje zdecydowanie mniej czasu i mniej pamięci. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Jestem początkujący, i faktycznie mogę nie wiedzieć jak bardzo "kobylaste" mogą być aplikacje WEB no ale az takie? Jaka może być różnica w include plików powiedzmy 40-50 (szacuję, że coś koło tego, zawsze jest włączanych do projektu) a jednego dużego Tak, aż takie. Poza tym, poguglaj sobie, co to jest code coverage. A wciskanie wszystkiego do jednego pliku jest bez sensu:
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 307 Pomógł: 37 Dołączył: 9.11.2010 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Średnio zaawansowany projekt (nawet mało zaawansowany) prawdopodobnie nigdy nie potrzebuje wczytać 100% dostępnego kodu. Jeżeli projekt waży 4-5MB (normalna ilość kodu), to podczas pojedyńczego requesta potrzebujesz może 10-20% tego kodu, czyli średnio 750KB, nie wyobrażam sobie abym pomijając include/require zaoszczędził czas ładując 4,25MB zbędnego kodu. Pomijam już kosmiczne zużycie pamięci tego potworka, pomyśl o samych obciążeniach dla IDE podczas edycji tego. Bardzo ale to bardzo kiepski pomysł, podsumowując.
Ten post edytował Uriziel01 2.01.2012, 19:50:46 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 532 Pomógł: 24 Dołączył: 15.04.2011 Skąd: Kalisz Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję za rozjaśnienie mi w głowie. Oczywiście to było pytanie czysto teoretyczne i nie uwzględniałem takich problemów jakie napisał erix. Zastanawiałem się tylko, czy możnaby było napisać aplikację, która jako pewnego rodzaju cache, włącza właśnie wszystki pliki, z których korzysta - do jednego pliku. Ale teraz widzę, że to zła droga. Dzięki za uwagi.
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Zastanawiałem się tylko, czy możnaby było napisać aplikację, która jako pewnego rodzaju cache, włącza właśnie wszystki pliki, z których korzysta - do jednego pliku. Ale teraz widzę, że to zła droga. Dzięki za uwagi. Już parę lat temu ktoś wpadł na ten pomysł pisząc APC/eAccelerator/etc. Teraz prawie każdy serwer posiada jakiś akcelerator zainstalowany z interpreterem. [; -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Czas wykonywania takiego skryptu gdzie jest dużo include/require głównie jest zauważalny, ponieważ operacje na plikach są wolne. Zmień dysk na ssd, lub utwórz ramdisk i sprawdź różnice.
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Czas wykonywania takiego skryptu gdzie jest dużo include/require głównie jest zauważalny, ponieważ operacje na plikach są wolne. Zmień dysk na ssd Kolega ~by_ikar chyba nie czytał: Cytat Już parę lat temu ktoś wpadł na ten pomysł pisząc APC/eAccelerator/etc. O ile zakład, że skrypt wykona się szybciej z dyskietki na interpreterze z APC niż z dysku SSD bez akceleratora? -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 307 Pomógł: 37 Dołączył: 9.11.2010 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
O ile zakład, że skrypt wykona się szybciej z dyskietki na interpreterze z APC niż z dysku SSD bez akceleratora? Oj z tobą to mógł bym się zakładać ![]() Challenge Accepted:
Ma ktoś stacje dyskietek aby to sprawdzić ? ![]() EDIT: Oczywiście niech nikt nie bierze powyższego kodu na serio, jest to tylko luźny humor związany z tematem. Ten post edytował Uriziel01 3.01.2012, 08:13:08 |
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Ale include a operacje I/O, to "lekko" coś innego, a przypominam, czego wątek dotyczy.
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 15:03 |