Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][JavaScript][MYSQL] Kilka nieksiążkowych pytań o szybkość
Forum PHP.pl > Forum > Przedszkole
Jifer
1. Często mówi się, że taka metoda jest szybsza od takiej. Jak we własnym zaciszu domowym sprawdzić poszczególne rzeczy lub własne funkcje? Która jest szybsza, mniej zasobożerna itd.

2. Czy ma znaczenie czy includuje jeden plik z kilkoma klasami/funkcjami czy includuje kilka plików z pojedynczymi klasami/funkcjami (mowa oczywiście o kwestiach ekonomicznych)

3. Czy ma jakiekolwiek znaczenie jak zrobię 1 zapytanie do 1 długiej tabeli, czy 2 zapytania do 2 mniejszych tabel (tak jakby 1 podzielić na pół)

4. Przy założeniu, że mam 10 funkcji i na różnych stronach wykorzystuję 2-3 z tego. Ma znaczenie (dalej mówimy o szybkosci dzialania itd) jeśli do każdej strony includuje 1 plik ze wszystkimi funkcjami, czy 2-3 pliki z pojedynczymi funkcjami, które sa potrzebne (pytanie podobne do 2.)
4.b. to samo pytanie, tyle że tu wiadomo iż trzeba to przesłać, ale czy warto sie bić o te kilka bajtów.

5. Czy 'estetyka' ma wpływ na szybkość wykonania skryptu ( masa spacji, tabów, podpisów itd.)

6. Szybszy jest odczyt z pliku czy z bazy danych (fast cgi) (czy lepiej zapisać dane tymczasowe w plikach cache czy w bazie)

7. Czy tworzenie tony zmiennych zamiast nadpisywać stare ma jakieś znaczenie
(np. tworzenie kopi tablicy, zamiast podmiany elementów w już istniejącej)

8. Jeśli w polu 'x' w bazie danych będą wartości z przedziału 0-99 to ma znaczenie czy pole 'x' będzie typu TINYINT, SMALLINT, INT i jesli tak, to jakie.
Pytam, czy to tylko ograniczenie, czy automatycznie niezależnie od zawartości będzie rezerwowana/zajęta ilość miejsca określona przez typ.
Tu prosiłbym o dokładniejsze wyjasnienie. Czy wpisanie 'ograniczenia' ilości znaków (np. INT(2)) wpływa na ilość zajętego miejsca.

Takich pytań mam od diabła i jeszcze trochę, ale jak zapewne wiecie, jak przychodzi do pytania to gdzieś ulatują.... to tyle co mi się przypomniało na razie.
Na część pewnie można odpowiedzieć na zdrowy 'chłopski' rozum. W kilku miejscach raczej chodzi mi o fakt, czy warto w ogóle wnikać w takie coś. Czy po prostu są to tak śladowe ilości, że nawet przy tonie userów nie będzie to wpływało na szybkość skryptu.

Z góry dziękuję za rzetelne i fachowe odpowiedzi bardziej doświadczonych kolegów.
piotrooo89
1. sprawdzasz jak szybko wykonuje się skrypt/zapytanie. w php masz np mktime" title="Zobacz w manualu PHP" target="_manual.
2. ja stosuje jeden plik dla jednej klasy i jej potomków.
3. wszystko zależy od tego jakie jest zapytanie, jakie są typy tabel - czyli ogólnie rzecz biorąc od konstrukcji tabeli.
4. jeden plik z funkcjami zbliżonymi do siebie działaniem i przeznaczeniem.
5. nie nie ma ale pomaga znacznie innym odszyfrować Twój kod.
6. ja z przyzwyczajenia używam bazy więc nie powiem czy pliki są lepsze.
7. nie bardzo rozumiem.
8. będzie w szybkości dostępu, baza niejako patrząc na typ pola ustala jak wielki zakres liczby może się w niej znaleźć.
erix
Cytat
1. sprawdzasz jak szybko wykonuje się skrypt/zapytanie. w php masz np mktime.

microtime" title="Zobacz w manualu PHP" target="_manual. tongue.gif

Cytat
2. Czy ma znaczenie czy includuje jeden plik z kilkoma klasami/funkcjami czy includuje kilka plików z pojedynczymi klasami/funkcjami (mowa oczywiście o kwestiach ekonomicznych)

Różnica znikoma. Serwery często cache'ują pliki źródłowe, wiele ma zainstalowane akceleratory, które niwelują te różnice.

Cytat
5. Czy 'estetyka' ma wpływ na szybkość wykonania skryptu ( masa spacji, tabów, podpisów itd.)

Paradoksalnie, ale ma. ;] Nie jestem w stanie przytoczyć źródeł, ale jeśli chodzi o PHP, to jest o tyle dziwny, że komentarze spowalniają działanie. Jw - akceleratory to niwelują.

Cytat
6. Szybszy jest odczyt z pliku czy z bazy danych (fast cgi) (czy lepiej zapisać dane tymczasowe w plikach cache czy w bazie)

Z pliku ZAWSZE będzie szybszy. Do tej pory nie mogę pojąć skryptów, które tworzą cache w bazie. ;] Wyjątek: SQLite. W pozostałych trzeba zmarnować czas na połączenie, o samym wykonaniu zapytania nie wspomnę A pliki, jeśli dodatkowo cache'owane przez np. memcached, czy shmop, są tak samo sprawne jak RAM.

Cytat
7. Czy tworzenie tony zmiennych zamiast nadpisywać stare ma jakieś znaczenie
(np. tworzenie kopi tablicy, zamiast podmiany elementów w już istniejącej)

Teoretycznie, to jest garbage collector, ale trzeba by było zrobić testy.

Cytat
8. Jeśli w polu 'x' w bazie danych będą wartości z przedziału 0-99 to ma znaczenie czy pole 'x' będzie typu TINYINT, SMALLINT, INT i jesli tak, to jakie.
Pytam, czy to tylko ograniczenie, czy automatycznie niezależnie od zawartości będzie rezerwowana/zajęta ilość miejsca określona przez typ.
Tu prosiłbym o dokładniejsze wyjasnienie. Czy wpisanie 'ograniczenia' ilości znaków (np. INT(2)) wpływa na ilość zajętego miejsca.

Tak, wpływa na ilość zajętego miejsca oraz szybkość.

Trochę kiepsko, że wrzuciłeś wszystkie języki do jednego worka, bo przy PHP te same odpowiedzi będą pasowały do każdego interpretera, ale w JS to już zależy od przeglądarki, gdyż każda przetwarza w inny sposób (co przeglądarka, to inny kompilator).
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.