Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 115 Pomógł: 2 Dołączył: 23.07.2009 Ostrzeżenie: (0%)
|
Witajcie
Chciałbym udostępnić autorski system framework, który teoretycznie (hmm, nawet praktycznie) kładzie inne systemy. Wykonałem prosty test na surówkach dwóch frameworków. Konfig domyślny i bez połączenia z bazą danych. Zwykłe wyświetlenie tekstu "Hello world!". Bez wykorzystania eAccelerator'a CodeIgniter: [0.011924028396606] 1 mb Yii: [0.050626039505005] 5 mb Autorski: [0.005169153213501] 768 kb System jest okrojony i pozbawiony śmieci takich jak generatory do tworzenia formularzy czy też tworzenie zapytań SQL. Tworzony był dla szybkiego stawiania serwisów (wiele stron korzystało i korzysta z tego systemu), dlatego nie ma wzorca projektowego MVC, lecz autorski model CCV (Controller - Component - View) dzięki któremu osiąga takie wyniki (ale czepiając się innych frameworków zasada działania jest bardzo zbliżona). Ładowarka klas Singleton i Router nieszablonowego wywoływania kontrolerów. Yii czy CI nie powinien ładować bibliotek, których nie potrzebuje aktualnie więc co o tym sądzicie? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%)
|
Wszystko co jest za throw nie zostanie wykonane, tak samo jak wszystko co jest za exit, die, return i podobnymi, więc ten return false tam jest zbędny. is_file zwraca tylko czy plik istnieje, a plik może istnieć ale możesz nie mieć do niego uprawnień. Warunek:
Kod if(self::$baseClass[$strtolower]) { // some code } będzie wyświetlać notice jeżeli włączysz raportowanie błędów na E_ALL. require_once jest zbędny (i wolniejszy) jeżeli wcześniej i tak sprawdzasz czy klasa już istnieje. Kiepsko trochę, sporo błędów logicznych. Nie zrozum mnie źle, ale śmieszne trochę jest kiedy mówisz o super optymalizacji, jednocześnie używając wyrażenia regularnego do wyszukiwania "stałego" ciągu. O czym nawet jest napisane w dokumentacji preg_match, że jak masz go użyć do wyszukania ciągu w podciągu, użyj strpos lub strstr. Niby to nie jest jakaś kolosalna różnica, ale to już widać na pierwszy rzut oka że nie bardzo wiesz jak dane funkcje/elementy języka działają. Tak samo mnie zastanawia, bo napisałeś że jest bezpieczny jak ktoś nie korzysta bezpośrednio z post, get etc. Czyli co, ty te dane traktujesz htmlspecialchar w jakiejś pętli, czy jak? Konkluzja jest taka, że twój "framework" jest szybszy od innych, bo nie ma wielu innych ficzerów. Jakbyś miał z użyciem 2 frameworków napisać 2 takie same aplikacje, i użył byś swojego fw, jak i powiedzmy laravela; to jest wysokie prawdopodobieństwo że w obu przypadkach te prędkości czy użycie danych będą bardzo zbliżone. Ten post edytował by_ikar 9.02.2015, 15:53:01 |
|
|
|
matrik Autorski framework, czy udostępnić? 9.02.2015, 11:21:08
rad11 Tylko tyle? I ze niby ma kłaść narzędzia dla progr... 9.02.2015, 11:25:09
Pyton_000 Cyferki to i Ja Ci mogę pokazać. Mogę Ci nawet pow... 9.02.2015, 11:31:57
aniolekx Napisałeś jakieś testy do niego? (TDD, BDD), jeżel... 9.02.2015, 11:53:05
pyro Testowanie szybkości frameworka poprzez `echo ... 9.02.2015, 11:54:23
matrik Chodziło mi tylko o wyrażenie opinii na ten temat ... 9.02.2015, 11:57:00
Forti CytatJak zwykle na tym forum chamstwo jakiego nie ... 9.02.2015, 12:02:15
matrik Forti
Krytyka czasem jest taka, że czasem trzeba s... 9.02.2015, 12:14:23
Janusz1200 Za mnie framework ma robić 3 rzeczy:
1. bezpieczeń... 9.02.2015, 12:17:07
Pyton_000 @matrik trochę więcej samokrytycyzmu. Co z tego że... 9.02.2015, 12:21:11
by_ikar Wydajność może być super, bez żadnych libów, nakła... 9.02.2015, 12:58:34
fizzlebubble Yet another PHP framework... Jeśli dla Twoich zast... 9.02.2015, 13:02:10
matrik Jeśli chodzi o "Hello World!" to spe... 9.02.2015, 13:07:25
pyro @matrik, jeżeli tak bardzo Ci zależy na milisekund... 9.02.2015, 13:15:31
!*! 14 postów w temacie, a Wy rozmawiacie o czymś co i... 9.02.2015, 13:19:40 
b4rt3kk Cytat(!*! @ 9.02.2015, 13:19... 9.02.2015, 13:27:17
Pyton_000 Ojj tam @!*! Trzeba jakoś dzień odreagować... 9.02.2015, 13:25:58
matrik Nie wiem co z tym... Wrzuciłem:
smarty (wiem, że o... 9.02.2015, 13:41:53
Forti Dawno nie widziałem takiego "nested if/else... 9.02.2015, 13:58:22 
matrik Cytat(Forti @ 9.02.2015, 13:58:22 ) D... 9.02.2015, 14:06:53
!*! Cytat(matrik @ 9.02.2015, 11:21:08 ) ... 9.02.2015, 14:16:45
Pyton_000 @up Ba, ten kod który został pokazany można by był... 9.02.2015, 16:02:48
vokiel Ok, skoro jest kod do review, to zrobię pobieżny (... 9.02.2015, 20:58:44
solificati Cytat(matrik @ 9.02.2015, 11:21:08 ) ... 9.02.2015, 21:58:41
Neymar11 Cytat(matrik @ 9.02.2015, 11:21:08 ) ... 20.02.2015, 01:59:08
peter13135 Skoro kładziesz na lekkość, to po co w Twoim FW sm... 21.02.2015, 11:14:53 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 21:49 |