On 02.01.18 14:51, Adam D. Ruppe wrote: > On Tuesday, 2 January 2018 at 10:27:11 UTC, Christian Köstlin wrote: >> After this I analyzed the first step of the process (gunzipping the >> data from a file to memory), and found out, that dlangs UnCompress is >> much slower than java, and ruby and plain c. > > Yeah, std.zlib is VERY poorly written. You can get much better > performance by just calling the C functions yourself instead. (You can > just import import etc.c.zlib; it is included still) > > Improving it would mean changing the public API. I think the one-shot > compress/uncompress functions are ok, but the streaming class does a lot > of unnecessary work inside like copying stuff around. I added a version that uses the gzip lowlevel apis (similar to my example c program). I am still having problems copying the data fast enough to an dlang array.
please see the updated page: https://github.com/gizmomogwai/benchmarks/tree/master/gunzip -- Christian Köstlin