Cytat(gcdreak @ 21.02.2010, 10:14:11 )

Jeśli trzymasz zmienne w tablicy $_SESSIONS to za każdym razem kiedy się do niej odwołujesz PHP deserializuje całą tablicę $_SESSIONS.
Więc może rozbijmy ten mity z tablicy ogłoszeń
Napisałeś za każdym razem. Bzdura.
http://www.php.net/manual/en/intro.session.phpCytat
All registered variables are serialized after the request finishes.
Jest napisane, że po zakończeniu żądania sesja jest serializowana oraz zapisywana. Gdyby twoja teoria była prawdziwa, sesja musiałaby być serializowana za każdym razem, gdy tylko coś do niej wrzucimy, ale jak widzisz tak nie jest.
Dodatkowo dla testu, zrobiłem licznik wywołań metody read i write w session_handlerze i było to tylko 1 raz dla odczytania wartości i 1 raz dla zapisania wszystkich danych bez względu na ilość operacji wykonywanych na $_SESSION.
Cytat
Jak wiadomo PHP nie jest demonem szybkości i proces serializacji i odwrotny zajmują mu względnie sporo czasu. Jeśli trzymasz sesję w bazie możesz bardzo łatwo serializować i deserializować pojedyncze zmienne sesyjne oszczędzając zasoby.
Rozdzielasz poszczegolne zmienne sesji na pola w bazie? (nie mówię, że to złe ale strasznie ograniczające)
Proszę w takim razie pokaż swojego session handlera.
Tak naprawdę proces odserializowania i serializowania jest nawet szybszy gdybyś dane zapisał jawnie w pliku
$tablica_z_danymi = array('blablabla');
a potem je includował. Sprawdzone, zmierzone, potwierdzone, nie zaufane byle pierwszemu kolesiowi co pisze arty w necie.
Ale jak się upierasz, to zmierz prędkość działania twojej sesji a sesji phpowej. Przypominam, że pomiary dobrze jest wykonywać w ten sposób
for($i =0 ; $i<1000; $i++)
{
// kod do zmierzenia
}
Jeżeli udowodnisz wyższość swojej teorii to będę gotowy się pokłonić