Beschleunigung der JSON-Parsing in Perl

8

Ich habe das JSON-Paket in einem Perl-Skript verwendet, das eine lange Liste relativ kurzer JSON-Strings analysiert und den Prozess mit Devel :: NYTProf profiliert hat. Es scheint, als ob die meiste Zeit von der Funktion JSON string im Parsing-Prozess belegt wird.

Gibt es irgendwelche Beschleunigungen, die ich verwenden könnte, anstatt das JSON-Paket nicht zu verwenden, und versuche, es zu beschleunigen, indem ich es selbst analysiere?

EDIT: Das JSON-Paket wurde mit cpanm im System installiert. Wenn es durch die Optimierung des Installationsprozesses zu einer Beschleunigung kommt, sind sie auch willkommen.

    
719016 10.07.2013, 12:47
quelle

2 Antworten

12

Versuchen Sie, JSON :: XS zu installieren. Dann verwendet "JSON verwenden" automatisch die XS-Version. Dieses Modul wurde in C geschrieben, und es hat eine sehr gute Leistung.

    
Miguel Prz 10.07.2013, 12:56
quelle
0

Eine weitere interessante Problemumgehung:

Wenn Sie JSON parsen müssen, um kleinere Chunks aus einem großen JSON-Objekt zu extrahieren, und das JSON-Objekt über eine Webapp kommt, parsen Sie einfach und zerlegen Sie den JSON zu einem kleineren Chunk im JavaScript, bevor Sie ihn an Perl senden / p>

JS hat erstaunlich schnelle und effiziente String-zu-JSON-Parser ( Douglas Crockfords Parser , nicht eval , nur um klar zu sein), auch wenn Sie mit einer Zeichenfolge und nicht JSON-Datenstruktur selbst beginnen.

    
DVK 10.07.2013 13:42
quelle

Tags und Links