couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Davis <paul.joseph.da...@gmail.com>
Subject Re: There is no spoon.
Date Fri, 17 Jul 2009 07:44:06 GMT
Crap.

Also should mention this is an Mac Mini, Intel Core 2 Duo 2.26 GHz and
4GiB of RAM. I don't remember what speed this harddrive is off the top
of my head.

Paul

And now time for bed.

On Fri, Jul 17, 2009 at 3:38 AM, Paul Davis<paul.joseph.davis@gmail.com> wrote:
> I should've mentioned that the code is online at [1].
>
> Don't look too hard at the code. Its pretty shitty as I was just
> trying to tear through to be able to measure it.
>
> Paul
>
> [1] http://github.com/davisp/couchdb/commit/f6019cceb068dc4f3df3a48c253ad460f2619332
>
> On Fri, Jul 17, 2009 at 3:35 AM, Paul Davis<paul.joseph.davis@gmail.com> wrote:
>> Hiya,
>>
>> I had me an idea the other day I got around to trying. We've been
>> going over how to make JSON parsing ├╝ber fast between Erlang and the
>> View servers. Instead of making JSON parsing faster I decided to just
>> drop it completely. I wrote enough code in couch_js.c tonight to get
>> the basics of converting the ErlJSON -> Spidermonkey objects and back.
>> Quite a few of the pertinent tests are passing. There was an issue
>> with object iteration that prevent view collation from working
>> correctly. And the show/list tests are broken because I didn't add XML
>> serialization. Either way it was enough for me to collect some numbers
>> with the same script I used on my blog a couple weeks ago.
>>
>> The huge ass caveat on the tail end for Patch at 10K 8KiB docs is that
>> this is best case scenario. I was just beefing up the document size by
>> adding a large string on them. In the conversion process this ends up
>> being a fairly quick pass using EncodeString and DecodeString.
>>
>> Another thing to notice is that once compiled with +native the numbers
>> for small docs don't change too drastically.
>>
>> And here are numbers:
>>
>> Straight up trunk: 10K tiny docs
>> --------------------------------
>>
>> Inserting: 0.955830
>> Map only: 4.296859
>> With reduce: 4.014233
>> With erlang reduce: 3.199325
>>
>> Inserting: 0.970745
>> Map only: 3.961110
>> With reduce: 4.550082
>> With erlang reduce: 3.493316
>>
>> Inserting: 0.992892
>> Map only: 4.747793
>> With reduce: 4.552446
>> With erlang reduce: 3.681820
>>
>>
>> Straight up trunk: 1OK 4KiB Documents
>> -------------------------------------
>>
>> Inserting: 5.895689
>> Map only: 11.716073
>> With reduce: 12.127348
>> With erlang reduce: 11.069352
>>
>> Inserting: 6.221656
>> Map only: 12.074525
>> With reduce: 11.500115
>> With erlang reduce: 10.680610
>>
>> Inserting: 5.974915
>> Map only: 11.240969
>> With reduce: 11.620035
>> With erlang reduce: 10.458795
>>
>>
>> Straight up trunk: 10K 8KiB Documents
>> -------------------------------------
>>
>> Inserting: 9.533340
>> Map only: 16.273873
>> With reduce: 16.647050
>> With erlang reduce: 14.529038
>>
>> Inserting: 9.828476
>> Map only: 15.772620
>> With reduce: 15.707862
>> With erlang reduce: 14.577865
>>
>> Inserting: 9.598872
>> Map only: 15.251671
>> With reduce: 15.930784
>> With erlang reduce: 14.445052
>>
>> Trunk +native 10K Tiny docs
>> ---------------------------
>>
>> Inserting: 0.953937
>> Map only: 2.524961
>> With reduce: 2.411511
>> With erlang reduce: 1.541173
>>
>> Inserting: 0.963175
>> Map only: 2.486752
>> With reduce: 2.354808
>> With erlang reduce: 1.534005
>>
>> Inserting: 0.949138
>> Map only: 2.429267
>> With reduce: 2.385016
>> With erlang reduce: 1.525428
>>
>>
>> Trunk +native 10K 4KiB docs
>> ---------------------------
>>
>> Inserting: 3.952355
>> Map only: 10.106112
>> With reduce: 9.687787
>> With erlang reduce: 8.781025
>>
>> Inserting: 3.968877
>> Map only: 9.552732
>> With reduce: 9.626942
>> With erlang reduce: 8.537417
>>
>> Inserting: 4.359648
>> Map only: 9.472417
>> With reduce: 9.719609
>> With erlang reduce: 8.771725
>>
>>
>> Trunk +native 10K 8KiB docs
>> ---------------------------
>>
>> Inserting: 7.046171
>> Map only: 12.111946
>> With reduce: 11.566371
>> With erlang reduce: 10.571792
>>
>> Inserting: 7.183114
>> Map only: 12.177807
>> With reduce: 11.619149
>> With erlang reduce: 10.461091
>>
>> Inserting: 6.867450
>> Map only: 11.358312
>> With reduce: 11.420452
>> With erlang reduce: 10.452706
>>
>>
>> Patched 10K Tiny docs
>> ---------------------
>>
>> Inserting: 0.954482
>> Map only: 2.339038
>> With reduce: 2.311544
>> With erlang reduce: 1.513258
>>
>> Inserting: 0.942735
>> Map only: 2.543295
>> With reduce: 2.522470
>> With erlang reduce: 1.514119
>>
>> Inserting: 0.961381
>> Map only: 2.372250
>> With reduce: 2.336503
>> With erlang reduce: 1.558217
>>
>>
>> Patched 10K 4KiB docs
>> ---------------------
>>
>> Inserting: 5.933259
>> Map only: 5.484083
>> With reduce: 5.693180
>> With erlang reduce: 4.502828
>>
>> Inserting: 5.980323
>> Map only: 5.251158
>> With reduce: 5.290837
>> With erlang reduce: 4.530348
>>
>> Inserting: 6.067070
>> Map only: 5.501945
>> With reduce: 5.314363
>> With erlang reduce: 4.409588
>>
>> Patched 10K 8KiB docs
>> ---------------------
>>
>> Inserting: 7.096909
>> Map only: 5.293864
>> With reduce: 5.254415
>> With erlang reduce: 4.437001
>>
>> Inserting: 6.847729
>> Map only: 5.191201
>> With reduce: 5.161696
>> With erlang reduce: 4.256955
>>
>> Inserting: 7.168672
>> Map only: 5.294789
>> With reduce: 5.195616
>> With erlang reduce: 4.323075
>>
>> Patched +native 10K Tiny docs
>> -----------------------------
>>
>> Inserting: 0.945826
>> Map only: 2.451693
>> With reduce: 2.383522
>> With erlang reduce: 1.578508
>>
>> Inserting: 0.972655
>> Map only: 2.504448
>> With reduce: 2.343594
>> With erlang reduce: 1.512512
>>
>> Inserting: 0.952105
>> Map only: 2.391866
>> With reduce: 2.329651
>> With erlang reduce: 1.505249
>>
>>
>> Patched +native 10K 4KiB docs
>> -----------------------------
>>
>> Inserting: 4.060498
>> Map only: 5.937243
>> With reduce: 5.611110
>> With erlang reduce: 4.813867
>>
>> Inserting: 3.979680
>> Map only: 5.720481
>> With reduce: 5.602648
>> With erlang reduce: 4.734298
>>
>> Inserting: 3.892947
>> Map only: 6.140995
>> With reduce: 5.565891
>> With erlang reduce: 4.736162
>>
>>
>> Patched +native 10K 8KiB docs
>> -----------------------------
>>
>> Inserting: 7.040456
>> Map only: 5.302867
>> With reduce: 5.269647
>> With erlang reduce: 4.433941
>>
>> Inserting: 6.808467
>> Map only: 5.371900
>> With reduce: 5.203042
>> With erlang reduce: 4.347747
>>
>> Inserting: 6.977694
>> Map only: 5.393854
>> With reduce: 5.368036
>> With erlang reduce: 4.368916
>>
>

Mime
View raw message