Ik zit met het volgende scenario:
Files (een paar honderdduizend per dag) worden gedownload van een webserver over http door een c# applicatie. Deze files moeten vervolgens uitgepakt worden (bz2) en daarna geparsed/verwerkt.
Dit alles moet zo performant mogelijk gebeuren.
Het probleem stelt zich bij het uitpakken met bz2:
De snelste implementatie die ik kon vinden is http://sevenzipsharp.codeplex.com/ , die probleemloos werkt op windows. Echter, deze werkt niet op mono omwille van hebt gebruik van een unmanaged dll via COM.
Andere implementaties werken wel, maar zijn veel te traag (factor 10 en meer in vergelijking met sevenzipsharp, dus niet echt een oplossing).
Ik zoek een manier om alsnog op een snelle manier te extracten draaiende op mono, zonder naar disk te schrijven (dus met byte array in memory decompression).
Iemand een idee? Heb reeds alle c# libraries afgegaan, en ben niet zon held in heel dit unmanaged gedoe. Ik zou denken dat het hier mee kan: http://www.mono-project.com/Interop_with_Native_Libraries maar ik heb geen idee hoe eraan te beginnen.
Alvast bedankt.
Files (een paar honderdduizend per dag) worden gedownload van een webserver over http door een c# applicatie. Deze files moeten vervolgens uitgepakt worden (bz2) en daarna geparsed/verwerkt.
Dit alles moet zo performant mogelijk gebeuren.
Het probleem stelt zich bij het uitpakken met bz2:
De snelste implementatie die ik kon vinden is http://sevenzipsharp.codeplex.com/ , die probleemloos werkt op windows. Echter, deze werkt niet op mono omwille van hebt gebruik van een unmanaged dll via COM.
Andere implementaties werken wel, maar zijn veel te traag (factor 10 en meer in vergelijking met sevenzipsharp, dus niet echt een oplossing).
Ik zoek een manier om alsnog op een snelle manier te extracten draaiende op mono, zonder naar disk te schrijven (dus met byte array in memory decompression).
Iemand een idee? Heb reeds alle c# libraries afgegaan, en ben niet zon held in heel dit unmanaged gedoe. Ik zou denken dat het hier mee kan: http://www.mono-project.com/Interop_with_Native_Libraries maar ik heb geen idee hoe eraan te beginnen.
Alvast bedankt.