Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] optymalizacja kodu dla początkujących
Taifun
post 28.04.2011, 15:18:05
Post #1





Grupa: Zarejestrowani
Postów: 222
Pomógł: 2
Dołączył: 10.07.2007

Ostrzeżenie: (10%)
X----


witam,
mam kilka pytan odnośnie szybszego wykonywania kodu PHP:

1) Jak includuje zewnętrzne pliki np.
  1. <?php include("test.php"); ?>

to potem w tym pliku test.php lepiej dać bez ?>
  1. <?php echo 'jakiś kod';

czy go zamknąć ?>:
  1. <?php echo 'jakiś kod'; ?>


2) Jak ładuje np. zestaw funkcji
  1. <?php include("funkcje.php"); ?>

i w tym pliku są funkcje to gdzie one są przetrzymywane, czy zajmują jakieś zasoby, jeśli tak to jakie

3) Czy jest bardziej optymalny sposób na zmierzenie czasu ładowania strony od:
  1. <?php
  2. $starttime = microtime(true);
  3.  
  4. //KOD DO WYKONANIA
  5.  
  6. $stoptime = microtime(true);
  7. $total=round($stoptime-$starttime,5);
  8. echo 'Czas ładowania strony: '.$total.' sekund';
  9. ?>


4) Do ilu rekordów mogę używać funkcji rand w mysql bez znaczącego spadku wydajności i zwiększenia obciążenia?

5) Potrzebuję prosty skrypt do cache zapytań sql do kodu strukturalnego (nie znam oop). Jest coś prostego i wydajnego?

6) Czy są klasy cache, które cache;ują cały kod na dany okres czasu na tzw. chama ale są wydajne?

Z góry dziękuję za odpowiedzi.


--------------------
Go to the top of the page
+Quote Post
wNogachSpisz
post 28.04.2011, 15:38:33
Post #2





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Nie rozumiem nic.
No może poza jednym, jeśli szukasz bibliotek do cachowania, zerknij na te z http://pear.php.net/

Ten post edytował wNogachSpisz 28.04.2011, 15:38:50
Go to the top of the page
+Quote Post
Crozin
post 28.04.2011, 16:21:13
Post #3





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


1. Użycie "?>" nie wpływa na wydajność. Nie mniej jednak lepiej jest to pominąć bo może to jedynie problemów przystworzyć.
2. Oczywiście, że zajmują zasoby (kod trzeba wczytać, sparsować, zinterpretować (skomplikować do bytecode'u) no i przechowywać go w pamięci). Skorzystanie z akceleratora (np. APC) pozwala wyeliminować pierwsze trzy kroki co daje aplikacją napisanym w PHP sporego kopa.
3. Optymalny? Pewnie nie. Ale takie pomiary są bardzo nierzetelne. Zdecydowanie lepiej testować wydajność aplikacji chociażby Apache Benchmarkiem.
4. Domyślam się że chodzi o wykorzystanie RAND() w klauzuli ORDER BY, tak? Generalnie to... to zależy. Jednak z reguły nie jest to specjalnym problemem w przypadku tabel do kilku tys. rekordów.
6.
  1. if (filemtime('./jakis/plik') < time() - 60 * 60 * 24) {
  2. // generujesz co potrzeba
  3.  
  4. $data = ...;
  5.  
  6. file_put_contents('./jakis/plik', $data);
  7. } else {
  8. $data = file_get_contents('./jakis/plik');
  9. }
Go to the top of the page
+Quote Post
Taifun
post 28.04.2011, 17:42:31
Post #4





Grupa: Zarejestrowani
Postów: 222
Pomógł: 2
Dołączył: 10.07.2007

Ostrzeżenie: (10%)
X----


skorzystałem z prostego skryptu HYPERCACHER jako, że nie piszę obiektowo jest rewelacyjny smile.gif


--------------------
Go to the top of the page
+Quote Post
ciekawskiii
post 28.04.2011, 18:11:18
Post #5





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---


Cytat(Crozin @ 28.04.2011, 16:21:13 ) *
1. Użycie "?>" nie wpływa na wydajność. Nie mniej jednak lepiej jest to pominąć bo może to jedynie problemów przystworzyć.

To moze napisz jakie z tego moga byc problemy bo sam zawsze zamykam w includowanych plikach i chetnie sie dowiem


--------------------
Go to the top of the page
+Quote Post
Crozin
post 28.04.2011, 18:32:34
Post #6





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Czasami zdarza się, że po tym nieszczęsnym "?>" zaplącze się jakaś spacja czy dodatkowa nowa linia. Sprawi to problemy przy próbie wysłania nagłówków czy w przypadku gdy generowania treść musi być niezwykle precyzyjna (np. w przypadku generowania grafik).
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 02:32