Thread LZ4 Kompression zwischen JS und Perl (Kompatibilitätsproblem?)
(21 answers)
Opened by styx-cc at 2020-04-19 01:22
Hey,
vielen Dank erstmal für die Unterstützung, deine Lösung werde ich auch gleich mal ausprobieren und "Benchmarken". Das Ding ist, dass GZIP vergleichsweise langsam rechnet und die de/komprimierung viel CPU und Zeit in Anspruch nimmt, was bei häufigem Datenaustausch nicht der beste Kompromiss ist - vorausgesetzt man kann mit Clients rechnen, die mit einer Breitbandanbindung daherkommen. Wenn ich den verlinkten Benchmark zugrundelege (die dort verwendete CPU kommt mit der meinigen ganz gut überein) und eine Anbindung von ein mal 20 und ein mal 50/mbit: Code: (dl
)
1 MB de/compress 20mbit 50mbit Gesamt Interessant! Damit habe ich cniht gerechnet, Es verschiebt sich aufgrund der Bandbreite leicht zugunsten von LZO und LZ4 aber GZIP schneidet besser ab, oder hab ich mich verrechnet? Das einzige was unschön ist, ist dass er bei ~50MB ca. 1 Sekunde am Server komprimiert, da wäre LZ4 wesentlich angenehmer, sonst friert die Anwendung ein oder man lässt sich was einfallen. Ja, ich habe mich auch gewundert, der Output von Perl und JS scheint nicht kompatibel zu sein und beim suchen im Netz finde ich auch nur sehr spärlich Information zu meinem Anliegen, ich hätte gedacht, das dass üblich wäre, weil mir die Vorteile auf der Hand zu liegen scheinen (wenig RAM und CPU für die Einsparung von viel Bandbreite = glückliche Volumenratebenutzer und viel Zeitersparnis). Ich habe auch MINILZO-JS und Compress::LZO ausprobiert, aber da bekomme ich beim besten Willen nicht hin, der JS-Funktion lzo1x.decompress(state); die Parameter so mitzugeben, dass er sich nicht aufhängt oder überhaupt etwas tut. Strings in Buffer konvertiert und vice versa, mit split rumhantiert, etc. Lieben Gruß Pörl.
|