bauchinj
Erfahrenes Mitglied
Hallo!
Hab 2 zielmich große arrays (insgesamt bis zu 1 Million Einträge, wobei das Memory limit nie überschrieben wird). Diese will ich nun mergen und als json abspeichern. Hab bereits einige Stunden damit verbracht, den code soweit wie möglich zu optimieren und hab schon einige Sekunden runtergeschraubt. Bei array_merge_recursive häng ich jetzt aber komplett. Füge ich die neuen Array einfach ans Array dran, also nur appenden, dann benötige ich für die selbe Datenmenge etwa die Hälfte der Zeit:
Da dies aber nicht im Sinne des Projektes ist, muss ich alle gleichen Einträge "überschreiben" bzw. ignorieren, damit im Endeffekt bei der abschließenden JSON-Speicherung Platz gespart wird (hab die Dateigröße des JSON-Files schon von 2 MB auf 26 KB reduziert.... aber eben mit der trägen Funktion)
Hat jemand eine Idee, wie ich diese Methode umgehen kann. Hab schon an andere Script-Sprachen gedacht, weiß aber nicht recht, ob das wirklich Zeit sparen würde. Wäre dankbar für jeden Tip...
Danke bauchinj
Hab 2 zielmich große arrays (insgesamt bis zu 1 Million Einträge, wobei das Memory limit nie überschrieben wird). Diese will ich nun mergen und als json abspeichern. Hab bereits einige Stunden damit verbracht, den code soweit wie möglich zu optimieren und hab schon einige Sekunden runtergeschraubt. Bei array_merge_recursive häng ich jetzt aber komplett. Füge ich die neuen Array einfach ans Array dran, also nur appenden, dann benötige ich für die selbe Datenmenge etwa die Hälfte der Zeit:
PHP:
$wholeArray[] = $newArray;
Da dies aber nicht im Sinne des Projektes ist, muss ich alle gleichen Einträge "überschreiben" bzw. ignorieren, damit im Endeffekt bei der abschließenden JSON-Speicherung Platz gespart wird (hab die Dateigröße des JSON-Files schon von 2 MB auf 26 KB reduziert.... aber eben mit der trägen Funktion)
Hat jemand eine Idee, wie ich diese Methode umgehen kann. Hab schon an andere Script-Sprachen gedacht, weiß aber nicht recht, ob das wirklich Zeit sparen würde. Wäre dankbar für jeden Tip...
Danke bauchinj