Array durchsuchen - Performance
Knut
- php
0 Mathias Brodala0 Knut
Wie arbeiten array_keys und array_search intern? Leider steht dazu nichts im Handbuch. Sind die Suchen optimiert (es geht um sehr große Arrays, die nicht in einer Datenbank gespeichert werden sollen)? Arbeiten diese Funktionen das Array iterativ Element für Element ab? Würde es sich lohnen, für diese beiden Funktionen das zu durchsuchende Array vorzusortieren (z. B. alphabetisch)? Oder doch lieber gleich eine eigene Binärsuche schreiben?
Hallo Knut.
Wie arbeiten array_keys und array_search intern?
Das kannst du dir selbst beantworten, wenn du im PHP-Quellverzeichnis in die Datei ext/standard/array.c schaust und nach array_keys und array_search suchst.
Leider steht dazu nichts im Handbuch. Sind die Suchen optimiert (es geht um sehr große Arrays, die nicht in einer Datenbank gespeichert werden sollen)?
Diese Frage kann dir wohl nur ein PHP-Entwickler beantworten, weshalb du dich besser an eine entsprechende Mailingliste wendest.
Arbeiten diese Funktionen das Array iterativ Element für Element ab?
Obgleich Zend-interne Funktionen zum Einsatz kommen, sieht der Code stark danach aus, ja.
Einen schönen Sonntag noch.
Gruß, Mathias
Hallo Mathias.
Das kannst du dir selbst beantworten, wenn du im PHP-Quellverzeichnis in die Datei ext/standard/array.c schaust und nach array_keys und array_search suchst.
Diese Datei finde ich leider nicht (unter Windows).
Leider steht dazu nichts im Handbuch. Sind die Suchen optimiert (es geht um sehr große Arrays, die nicht in einer Datenbank gespeichert werden sollen)?
Diese Frage kann dir wohl nur ein PHP-Entwickler beantworten, weshalb du dich besser an eine entsprechende Mailingliste wendest.
»»
Ok, danke.
Arbeiten diese Funktionen das Array iterativ Element für Element ab?
Obgleich Zend-interne Funktionen zum Einsatz kommen, sieht der Code stark danach aus, ja.
Hatte ich befürchtet.
FG
Knut
Hallo Knut.
Das kannst du dir selbst beantworten, wenn du im PHP-Quellverzeichnis in die Datei ext/standard/array.c schaust und nach array_keys und array_search suchst.
Diese Datei finde ich leider nicht (unter Windows).
Hierfür musst du dir natürlich erst einmal die PHP-Quellen herunterladen.
Einen schönen Sonntag noch.
Gruß, Mathias
Hallo.
Das kannst du dir selbst beantworten, wenn du im PHP-Quellverzeichnis in die Datei ext/standard/array.c schaust und nach array_keys und array_search suchst.
Diese Datei finde ich leider nicht (unter Windows).
Hierfür musst du dir natürlich erst einmal die PHP-Quellen herunterladen.
Jetzt kann ich Dir erst folgen. Ich soll den Sourcecode analysieren. Damit bin ich wahrscheinlich überfordert, aber anschauen kann ich mir das ja trotzdem. Ist in C++ geschrieben, oder?
FG
Knut
Hallo Knut.
Jetzt kann ich Dir erst folgen. Ich soll den Sourcecode analysieren. Damit bin ich wahrscheinlich überfordert, aber anschauen kann ich mir das ja trotzdem. Ist in C++ geschrieben, oder?
Nein, in C.
Einen schönen Sonntag noch.
Gruß, Mathias