On Tuesday, 2 January 2018 at 10:27:11 UTC, Christian Köstlin wrote:
Hi all,

over the holidays, I played around with processing some gzipped json data. First version was implemented in ruby, but took too long, so I tried, dlang. This was already faster, but not really satisfactory fast. Then I wrote another version in java, which was much faster.

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.

There was some discussion on the forum a while ago: http://forum.dlang.org/thread/pihxxhjgnveulcdta...@forum.dlang.org

The code I used and the numbers I got are here: https://github.com/gizmomogwai/benchmarks/tree/master/gunzip

I used an i7 macbook with os x 10.13.2, ruby 2.5.0 built via rvm, python3 installed by homebrew, builtin clang compiler, ldc-1.7.0-beta1, java 1.8.0_152.

Is there anything I can do to speed up the dlang stuff?

Thanks in advance,
Christian

Yes indeed. You can make it much faster by using a sliced static array as buffer.
I suspect that most of the slowdown is caused by the gc.
As there should be only calls to the gzip library
  • Help optimizing UnCompress fo... Christian Köstlin via Digitalmars-d-learn
    • Re: Help optimizing UnCo... Stefan Koch via Digitalmars-d-learn
      • Re: Help optimizing ... Adam D. Ruppe via Digitalmars-d-learn
        • Re: Help optimiz... Steven Schveighoffer via Digitalmars-d-learn
          • Re: Help opt... Christian Köstlin via Digitalmars-d-learn
            • Re: Hel... Steven Schveighoffer via Digitalmars-d-learn
              • Re:... Steven Schveighoffer via Digitalmars-d-learn
                • ... Christian Köstlin via Digitalmars-d-learn
              • Re:... Christian Köstlin via Digitalmars-d-learn
                • ... Steven Schveighoffer via Digitalmars-d-learn
                • ... Steven Schveighoffer via Digitalmars-d-learn
                • ... Steven Schveighoffer via Digitalmars-d-learn

Reply via email to