-
Committer:
John Arbash Meinel
-
Date:
2011-06-18 21:28:36 UTC
-
Revision ID:
john@arbash-meinel.com-20110618212836-9vwakxaf6qtbp11b
stub out some bits that aren't available in gccgo
Unfortunately, while gccgo is clearly better at CPU computations
(MurmurHash3 got as fast as the C++ code), it seems to be
*slower* at goroutines, etc. Specifically, parsing the minitest.json.gz:
$ ./read_zjson ../minitest.json.gz
Read 100000 lines in 7.370s
Peak Mem: 134.1MiB
$ ./read_zjson_gccgo ../minitest.json.gz
Read 100000 lines in 11.937s
Peak Mem: 103.3MiB
$ ./read_zjson_gccgo_static ../minitest.json.gz
Read 100000 lines in 10.990s
Peak Mem: 104.7MiB
static seems to help a little bit, but both are still slower
than the 6g version. Also notice this:
$ GOMAXPROCS=2 ./read_zjson ../minitest.json.gz
Read 100000 lines in 7.965s
Peak Mem: 91.4MiB
In theory we have 2 CPU bound actions (the decompression and
the json parsing). I might try a bit more buffering in
the channels, and see if that changes anything.