ironMike und ich scheinen alte ewige Optimierhasen zu sein. Eben habe ich mal gemessen was fuer einen Geschwindigkeitsvorteil es bringt, bei 100000 Requests die IPRanges als Array mit IPasLongs (siehe 2) zu durchlaufen statt wie bisher mit IPStart/IPEnd (siehe 1):
Messung ueber 100000 Aufrufe:
1) 4.2766299247742 sec. (IP Ranges als zeilenweises BeginIP/EndIP)
2) 1.5952219963074 sec. (IP Ranges als Array mit Longs)
Was sagt uns das? Es lohnt sich bspw. tatsaechlich SEHR die IPRanges fertig als Long vorliegen zu haben. Nachteil: die Wartbarkeit leidet ein bisschen, wer kann schon im Kopf IPs in die Long-Darstellung umrechnen Und customized Erweiterungen muessten dementsprechend nachgezogen werden.
Auch lohnt es sich den bisherigen Quatsch mit der anfaelligen "\n" Notation endlich zu entsorgen und selbiges in pure Arrays zu packen, auch hier kann man ca. 30% Geschwindigkeitsvorteil herausholen.
Natuerlich, wenn man es in den Wahnsinn treiben moechte, koennte man das ganze in mod_perl machen, der Geschwindigkeitszuwachs waere ueberirdisch. Nur: wer versteht schon mit mod_perl umzugehen? Ausser mir
Wir könnten ja ein mod_perl VS mod_php+eaccelerator show-down veranstalten --- möge die bessere Scriptsprache gewinnen