Temat: pliki kompilowane
Dawid Zając:
mam wiele dużych plików PHP które generują spore obciążenie i chcę je w miarę możliwości zamienić w postać binarną aby oszczędzić moc procesora zużywaną na kompilację bo z tego co pamiętam kod PHP jest kompilowany dopiero podczas wywoływania
Jak wiadomo postać binarna jest nie tylko szybsza ale i krótsza w zapisie co dodatkowo zmniejsza obciążenie dysku
Źle pamiętasz. Nic nie jest kompilowane. Skrypty lub aplikacje pisane w języku PHP są parsowane przez interpreter i zwracają określony wynik.
Sam interpreter, to nic innego, jak program napisany w C.
Nie pracowałem jeszcze z aplikacjami i serwisami tak często odwiedzanymi, aby wymagały jakiejś szczególnej optymalizacji na wysokim poziomie, bo nawet serwis napisany w PHP, który ma ok. 10 000 unikalnych wejść na miesiąc tego nie potrzebuje, jak jest napisany z głową, bo nie jest to duże obciążenie.
Nie wiem, co to za pliki i jakie obciążenie generują, ale nawet jakbyś przepisał je na C albo assemblera, to jak będą napisane źle i niewydajnie, nic Ci to nie pomoże. Ponadto, moim zdaniem PHP ze względu na swoją specyfikę, niezbyt nadaje się do masowego przetwarzania dużej ilości danych np. w konsoli. Trochę tutaj zgaduję, bo nie napisałeś, co te pliki robią.
Generalnie, po Twoich wypowiedziach widać, że nie bardzo znasz się na tym, o czym piszesz.
Trochę polifozofowałem. Teraz napiszę bardziej konkretnie:
- Możesz przepisać swoje pliki na C++ albo Pythona
- Możesz spróbować skorzystać z Node.js
- Możesz wykorzystać HipHop for PHP (ale tak jak pisałem, jeśli kod w PHP jest napisany beznadziejnie, to nic to nie pomoże)
- Możesz wziąć pod uwagę jakieś rozwiązania sprzętowe lub serwerowe, ale w tych tematach mam zbyt małe doświadczenie, żeby Ci coś mądrego poradzić
Dawid Zając:
jest problem jak uruchomić plik .exe przy pomocy przeglądarki (a może tylko ja nie znam sposobu)
Poszukaj na php.net jest co najmniej kilka funkcji, które to umożliwiają.
W każdym razie, nie wydaje mi się, aby "uruchomienie pliku .exe z przeglądarki" znacznie zwiększyło wydajność Twojego rozwiązania.
Zresztą, nie podałeś żadnych szczegółów, więc nie wiadomo, o co chodzi. Takie rzeczy trzeba planować z głową. Samo uruchomienie pliku .exe z przeglądarki nie załatwi problemu.
Piotr Wittchen edytował(a) ten post dnia 28.10.11 o godzinie 01:09