1Danke
ERLEDIGT
NEIN
NEIN
ANTWORTEN
10
10
ZUGRIFFE
242
242
EMPFEHLEN
-
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)PHP-Code:$wholeArray[] = $newArray;
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
-
Ich denke, array_merge_recursive() ist schneller als das ganze von Hand zusammenzusetzen.
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
Mit einer anderen script-sprache glaubst du nicht, dass die Geschwindigkeit erhöhen kann?
-
Hab keine passenden Erfahrungen mit anderen Scriptsprachen. Darum kann ich dazu keine Meinung haben. Sorry.
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
OK, trotzdem Danke. Vielleicht hat ja jemand anderes passende Erfahrungen ?!
-
16.11.10 10:11 #6
- Registriert seit
- Jun 2007
- Ort
- Passau (Niederbayern)
- Beiträge
- 1.394
Hi,
könnte hier noch Perl vorschlagen, aber das hat auch wenig Sinn wenn du damit noch nichts gemacht hat. Ich würde hier aber versuchen, eine Art Hashmap zu verwenden. Diese sind recht schnell im Zugriff auf die Elemente und es gibt auch keine doppelten Schlüssel.
Gruß
BKÜber eine gute Bewertung freut sich jeder ;)
Bitte erledigte Threads als "Erledigt" markieren.
"Though a program be but three lines long, someday it will have to be maintained.''
-- Geoffrey James, "The Tao of Programming"
-
Danke Bratkartoffel!
Hab kurz ein bisschen in Perl eingelesen, hab recht gute Tutorials gefunden und bin fasziniert, wie schnell diese Sprache eine 4,8MB große Datei ausliest....
Zum Thema Hashmap bin ich bis dato aber leider noch nicht ganz schlau geworden. Vielleicht hast du einen (oder mehrere) Links für mich - wäre sehr dankbar dafür!
mfg
-
16.11.10 11:29 #8
- Registriert seit
- Jun 2007
- Ort
- Passau (Niederbayern)
- Beiträge
- 1.394
Hi,
habe zwar selber noch nicht allzu viel in Perl umgesetzt, aber soweit ich das bei Google richtig interpretiert habe, solltest du es in etwa so machen können:
Code perl:1 2 3 4 5 6 7 8
# Create my %myhash=(); # Populate $myhash{ 'key' } = 'value'; # hash # Get $value = $myhash{ 'key' };
Hier sollte etwas mehr stehen
Gruß
BKÜber eine gute Bewertung freut sich jeder ;)
Bitte erledigte Threads als "Erledigt" markieren.
"Though a program be but three lines long, someday it will have to be maintained.''
-- Geoffrey James, "The Tao of Programming"
-
Kann ich diesen Hash dann auch in eine Datei speichern und immer wieder schnell auslesen?
-
Wenn du mit Pearl arbeiten willst, empfehle ich dir einen Neuen Thread zu eröffnen der dann auch im richtigen Forum steht, damit die Pearl-Spezialisten lesen.
Geändert von Yaslaw (16.11.10 um 11:45 Uhr)
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
16.11.10 11:40 #11
- Registriert seit
- Jun 2007
- Ort
- Passau (Niederbayern)
- Beiträge
- 1.394
Hallo,
wie meinst du das?
HashTables sind vergleichbar mit assoziativen Array, du greifst auf einen Wert an Hand eines Schlüssels zu. Stell es dir wie eine zweispaltige Tabelle vor
Stimme yaslav zu, wende dich an die Profis, mein Wissen in Perl ist schnell am Ende
Gruß
BKÜber eine gute Bewertung freut sich jeder ;)
Bitte erledigte Threads als "Erledigt" markieren.
"Though a program be but three lines long, someday it will have to be maintained.''
-- Geoffrey James, "The Tao of Programming"
Ähnliche Themen
-
array_merge_recursive aus zwei ODBC-Abfragen
Von knoebi im Forum PHPAntworten: 4Letzter Beitrag: 27.02.09, 10:40 -
Optimierung
Von son gohan im Forum HTML & XHTMLAntworten: 8Letzter Beitrag: 11.03.05, 13:28 -
Optimierung im IE....
Von Garo_TheOne im Forum HTML & XHTMLAntworten: 0Letzter Beitrag: 16.12.04, 00:41 -
Optimierung
Von lacosaa im Forum Flash PlattformAntworten: 3Letzter Beitrag: 24.01.04, 00:49 -
Pc-optimierung****?
Von alexmayer2000 im Forum Microsoft WindowsAntworten: 3Letzter Beitrag: 19.09.01, 23:48





Zitieren


Login






[PHP][Snippet] Array zu XML konvertieren