Parsing von multipart/formdata beschleuningt.
authorSven Schöling <s.schoeling@linet-services.de>
Wed, 8 Aug 2012 14:48:47 +0000 (16:48 +0200)
committerSven Schöling <s.schoeling@linet-services.de>
Wed, 8 Aug 2012 14:48:47 +0000 (16:48 +0200)
commitdc3f6120f9bbacaa028e554d7fa71e481d4497b4
tree581ffebfd82262980478f0b7380e354e0c771757
parentc3f94f18040a7905d4bf615684b6d51d85a959b1
Parsing von multipart/formdata beschleuningt.

Die entsprechende Routine hatte einen bösen Fall von Shlemiel the Painter's
algorithm [1]. Dadurch wurden Fileuploads mit mehr als 20k Zeilen extrem
langsam. Binärdaten wie pdfs oder Bilder hat das nicht gestört, aber bei CSV
Imports hat eine 80k Zeilen Datei dann auch mal 2-5min gebraucht, nur um den
Request zu parsen.

Jetzt werden nur die Indizes geparst und hinterher direkt aus dem Request der
substr gezogen. Ausserdem endlich einen Testfall dafür eingebaut.

[1] http://en.wikipedia.org/wiki/Schlemiel_the_Painter%27s_algorithm
SL/Request.pm
t/request/post_multipart.t [new file with mode: 0644]
t/request/post_multipart_1 [new file with mode: 0644]