Cytat
Boże, DjKermit, czy ty naprawdę nie wiesz co robi serializacja? czy testujesz nasze reakcje / osobowości ?!
On po prostu powiedział że Serializacja się nie nadaje.
DeSerializacja obiektu zadziała jeszcze wolniej niż utworzenie go
ponieważ PHP będzie musiał zparsować definicję obiektu ORAZ zserializowane dane
po czym stworzyć tymczasowy obiekt i uaktualnić nasz obiekt tymi danymi z obiektu tymczasowego.
Jeśli uważasz inaczej to podaj przykład gdzie PHP nie będzie musiał parsować całej definicji
obiektu i tworzyć tymczasowych obiektów na deserializację.
Poza tym tutaj nie chodzi o same Klasy ale o cały kod projektu.
Może to wytłumaczę dokładniej :
PHP przy każdym uruchomieniu jakiegokolwiek skryptu
musi cały kod parsować od zera. To tak jak byście wciskali BUILD w C++ za każdym
razem jak uruchamiacie swój w pełni działający i gotowy program. Troche bez sensu prawda ?
Celem tego tematu jest stworzenie rozszerzenia php / zmodyfikowanie php w taki sposób
aby skrypt zawarty w pliku PHP był parsowany , kompilowany i zapisywany jako skompilowana
wersja w innym pliku np. PPO lub pamięci. (tak jak C++ generuje pliki OBJ z plików CPP ) Po co to ?
Po to aby PHP nie musiał za każdym razem parsować i kompilować skryptów które tego nie wymagają.
Co to da ?
Da to kolosalną różnicę wydajności której brakuje w dużych projektach.
Przykład :
Mamy sobie klasę np. Driver MySql'a który jest gotowy i nie będą w nim wprowadzane żadne zmiany.
Po co PHP ma za każdym razem kompilować ten Driver skoro się on nie zmienia ?
Jest to przykład straty wydajności na zbędną kompilację.
Jeśli PHP stworzył by plik PPO i poprostu go uruchomił nie kompilując go to nie stracił by czasu
na kompilację zbędnego kodu.