Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Co będzie optymalniejsze. Otwarcie pliku czy statyczna zmienna.
rafalp
post
Post #1





Grupa: Zarejestrowani
Postów: 224
Pomógł: 18
Dołączył: 4.02.2003
Skąd: Częstochowa

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


Cześć,
Mam dylemat jak zaprogramować pewną funkcjonalność..

Plik Cache znajduje się na dysku, każde przeładowanie strony musi pobrać te wartości nazwijmy je tablicą "settings". Tablica nie będzie duża (załóżmy max. 200 pozycji) W ciągu generowania strony kilka razy będę sięgał do różnych wartości tej tablicy.

A) klasa pobierająca te wartości, za każdym razem pobierany jest plik cache i wybierana dana wartość

(IMG:style_emoticons/default/cool.gif) klasa statyczna, na początku strony pobrany zostanie raz plik cache i zawartość zapisana do statycznej zmiennej, potem w razie potrzeby odwołujemy się tylko do tej zmiennej


Co będzie optymalniejsze dla serwera? plik raz pobrany przez PHP jest cachowany więc przy kolejnych pobraniach nie ma kolejnych "otwarć" plików prawda?
Go to the top of the page
+Quote Post
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


10 x otworzyć plik -> wczytać wartości XYZ

czy

1 x otworzyć plik -> wczytać wartości XYZ


....
Go to the top of the page
+Quote Post
Sephirus
post
Post #3





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Coś tu motasz rafalp (IMG:style_emoticons/default/smile.gif)

1. Jeśli serwer posiada np. APC to masz rację, że odwołanie kolejne do pliku spowoduje odwołanie do cache zamiast niego
2. Szybsze zdecydowanie będzie odwołanie się do istniejącej w pamięci zmiennej (nawet statycznie) niż do pliku (nawet zcacheowanego) bo w zależności od sytuacji plik musi być przeparsowany jeśli zawiera kod php
3. Dobrym sposobem przechowywania danych konfiguracyjnych jest plik INI - serio - sam się zdziwiłem ale taka jest prawda. Dla tej samej konfiguracji PHP szybciej sparsuje plik INI i zwróci Ci tablicę w PHP niż zaincluduje samą tablicę PHP (szok - sprawdź sam) (IMG:style_emoticons/default/smile.gif)
4. Jeśli zawsze używasz choć jednej ze zmiennych konfiguracyjnych to ładowanie ich raz na początku powinno być optymalne
5. Jeśli zdarza się, że nie używasz żadnej ze zmiennych konfiguracyjnych to zrób leniwą klasę, która będzie ładowana (bądź nie) na pusto i dopiero przy pierwszym odwołaniu do jakiejś zmiennej konfiguracyjnej będzie ładowała plik (ale tylko raz - potem oddając już załadowane zmienne)

Ogólnie - Nie ma w słowniku J. Polskiego słowa "optymalniejsze" (IMG:style_emoticons/default/smile.gif) optymalne === najlepsze i basta (IMG:style_emoticons/default/smile.gif) nie może być coś lepszego od najlepszego prawda? (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
rafalp
post
Post #4





Grupa: Zarejestrowani
Postów: 224
Pomógł: 18
Dołączył: 4.02.2003
Skąd: Częstochowa

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


Cytat(CuteOne @ 28.01.2013, 13:41:49 ) *
10 x otworzyć plik -> wczytać wartości XYZ

czy

1 x otworzyć plik -> wczytać wartości XYZ

....


Bądź dokłady jak już ironizujesz:>

10 x otworzyć plik -> wczytać wartości XYZ

czy

1 x otworzyć plik -> wczytać wartości XYZ
+ zapisać dużą zmienną statyczną
10 x odwołać się do tej zmiennej.



INI odpada bo to chodzi o ustawienia z bazy danych.


"Ogólnie - Nie ma w słowniku J. Polskiego słowa "optymalniejsze" optymalne === najlepsze i basta nie może być coś lepszego od najlepszego prawda?"
Zakładając że bez cachu nie było by w ogóle optymalne, więc moje dwa przytoczone sposoby są optymalne, tylko problem właśnie który bardziej (IMG:style_emoticons/default/tongue.gif)

pozdrawiam i dzięki za odpowiedzi.

Ten post edytował rafalp 28.01.2013, 12:23:44
Go to the top of the page
+Quote Post
Sephirus
post
Post #5





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Cytat(rafalp @ 28.01.2013, 12:22:33 ) *
INI odpada bo to chodzi o ustawienia z bazy danych.


Co przez to rozumiesz? Pokaż jak wygląda taki plik?
Go to the top of the page
+Quote Post
rafalp
post
Post #6





Grupa: Zarejestrowani
Postów: 224
Pomógł: 18
Dołączył: 4.02.2003
Skąd: Częstochowa

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


Plik jest to serializowana tablica pobranych wartości z bazy.
Postawię na zapis do zmiennej statycznej i później odczyty (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Postawię na zapis do zmiennej statycznej i później odczyty
Oczywiście że to jest lepsze. A na przyszłość poprostu zmierz czas jednego i drugiego.... toż to 20 sekund roboty.... Więcej czasu zmarnowałeś na ten wątek.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 4.10.2025 - 05:04