Oft kann man Query's für die Datenbank optimieren. Wenn man zum Beispiel mit
arbeitet ist es natürlich langsamer als wenn nur die gezielten Spalten ausliest. Dies wird sehr langsam, wenn man mit großen Datenmengen arbeitet. Und wie man weiß ist der RPi ja schnell an seine Grenzen angekommen was das angeht
Des Weiteren sollte man drauf achten, dass am besten mit einkompilierten Funktionen von PHP nutzt. Gutes Beispiel dafür sind die Such- / Sortieralgorithmen. Wenn man diese in PHP Code schreibt, sind die natürlich viel langsamer als die, die von PHP geliefert werden. Denn die mitgelieferten Funktion von PHP sind in C / C++ geschrieben und können viel schneller arbeiten. Ausserdem ist da die Chance dass unnötige Sachen berechnet werden fast Null.
Manchmal passiert es auch, dass man unnötige Umwege geht und so unnötig Zeit verloren geht. Auch sollten nicht all zu oft Dateizugriffe gemacht werden (Aber so wie du dein Skript beschrieben hast, ist das ja nicht so dein Problem, aber ich möchte das hier der Vollständigkeitshalber mal aufschreiben). Denn wenn man ganz oft eine Datei öffnen muss, was reinschreibt und dann wieder schließt ist es ja klar, dass das Skript lange braucht bis es fertig ist. Sowas kommt dann ganz gut wenn man solche Sequenzen in Schleifen laufen lässt
Wenn man nun selbst wirklich große und langwierige Algorithem hat, könnte man sich überlegen selbst eine Extension für PHP zu schreiben und dies mit einzukompilieren. PHP Extensions werden, wie der PHP-Kern, in C/C++ programmiert. Und das geht schon tiefer in die Materie. Es ist nicht so, dass man sich einfach mal hinsetzen kann und schnell eine Erweiterung schreibt. Dies macht aber sehr oft nur in Ausnahmefällen Sinn. Tutorials dazu solltest du bei Google finden können.
Also hier mal eine kleine Todo-Liste für dich:
- Überprüfe ob du deine Querys optimieren kannst
- Eventuell auf PHP-Funktionen zurückgreifen die das ganze schneller machen
- Unnötige Funktionsaufrufe / Sequenzen entfernen
Aber um genaueres sagen zu können, müsstest du uns deinen Code mitteilen und uns deinen Datenbankaufbau zeigen (inklusive Datensätze)