Re: Please report your indexing speed

2012-03-09 Thread Wendall Cada
My first tests for Centos were against erlang R12B, I'm seeing yet 
another speed improvement using R14B04 on Centos 6.


{"couchdb":"Welcome","version":"1.2.0"}

real4m45.824s
user0m0.003s
sys 0m0.003s

Huge improvement over my current production scenario R12B, Spidermonkey 
1.7, Couchdb 1.0.2, index rebuilding takes 13m16.480s


Great job on the speed improvments!

Wendall

On 03/06/2012 01:19 PM, Wendall Cada wrote:
Here is another set of results using a db with ~300k docs and ~10 
views in the design doc.


Fedora Core2Duo 2GHz, 7200RPM disk:
{"couchdb":"Welcome","version":"1.0.3"} (spidermonkey 1.8.5) (stock 
package)

real9m9.086s
user0m0.007s
sys 0m0.016s

{"couchdb":"Welcome","version":"1.1.1"} (spidermonkey 1.8.5) (git-1.1.1)
real7m59.437s
user0m0.007s
sys 0m0.016s

{"couchdb":"Welcome","version":"1.2.0"} (spidermonkey 1.8.5) 
(git-db8335bf2a)


real6m25.469s
user0m0.009s
sys 0m0.027s

Centos Xeon 2.27GHz (2 cores) 15k SCSI/RAID 10:
{"couchdb":"Welcome","version":"1.0.1"} (spidermonkey 1.7.0) (stock 
package)

real13m16.480s
user0m0.001s
sys 0m0.004s

{"couchdb":"Welcome","version":"1.1.1"} (spidermonkey 1.8.5) (git-1.1.1)
real6m14.999s
user0m0.001s
sys 0m0.003s

{"couchdb":"Welcome","version":"1.2.0"} (spidermonkey 1.8.5) 
(git-fb72251bc7)

real5m24.925s
user0m0.002s
sys 0m0.004s

While there are certainly speed improvements over 1.1.1, the biggest 
change is moving to a newer spidermonkey.


Wendall




Re: Please report your indexing speed

2012-03-06 Thread Wendall Cada
Here is another set of results using a db with ~300k docs and ~10 views 
in the design doc.


Fedora Core2Duo 2GHz, 7200RPM disk:
{"couchdb":"Welcome","version":"1.0.3"} (spidermonkey 1.8.5) (stock 
package)

real9m9.086s
user0m0.007s
sys 0m0.016s

{"couchdb":"Welcome","version":"1.1.1"} (spidermonkey 1.8.5) (git-1.1.1)
real7m59.437s
user0m0.007s
sys 0m0.016s

{"couchdb":"Welcome","version":"1.2.0"} (spidermonkey 1.8.5) 
(git-db8335bf2a)


real6m25.469s
user0m0.009s
sys 0m0.027s

Centos Xeon 2.27GHz (2 cores) 15k SCSI/RAID 10:
{"couchdb":"Welcome","version":"1.0.1"} (spidermonkey 1.7.0) (stock package)
real13m16.480s
user0m0.001s
sys 0m0.004s

{"couchdb":"Welcome","version":"1.1.1"} (spidermonkey 1.8.5) (git-1.1.1)
real6m14.999s
user0m0.001s
sys 0m0.003s

{"couchdb":"Welcome","version":"1.2.0"} (spidermonkey 1.8.5) 
(git-fb72251bc7)

real5m24.925s
user0m0.002s
sys 0m0.004s

While there are certainly speed improvements over 1.1.1, the biggest 
change is moving to a newer spidermonkey.


Wendall


Re: Please report your indexing speed

2012-03-05 Thread Bob Dionne
Awesome Filipe, so these two were related, I didn't get that subtlety in your 
original post. This is great, thanks for the patch -- Bob


On Mar 5, 2012, at 2:41 AM, Filipe David Manana wrote:

> On Sun, Mar 4, 2012 at 9:45 AM, Bob Dionne  
> wrote:
>> yes, I was surprised by the 30% claim as my numbers showed it only getting 
>> back to where we were with 1.1.x
>> 
>> I think Bob's suggestion to get to the root code change that caused this 
>> regression is important as it will help us assess all the other cases this 
>> testing hasn't even touched yet
> 
> The explanation I gave in the 1.2.0 second round vote identifies the
> reason, which is that the updater is (depending on timings) collecting
> smaller batches of map results, which makes the btree updates less
> efficient (besides higher number of btree updates). The patch
> addresses this by queuing a batch of map results instead of queuing
> map results one by one. Jan's tests and mine are evidence that this is
> valid in practice and not just theory.
> 
> The original main goal of COUCHDB-1186 was to make the indexing of
> views that emit reasonably large (or complex in structure) map values
> more efficient.
> Here's an example using Jason's slow_couchdb script with wow.tpl and
> map function of  "function(doc) {emit([doc.type, doc.category],
> doc);}":
> 
> 1.1.x:
> 
> fdmanana 07:04:12 ~/git/hub/slow_couchdb (master)> docs=20
> batch=5000 ./bench.sh wow.tpl
> Server: CouchDB/1.1.2a785d32f-git (Erlang OTP/R14B03)
> {"couchdb":"Welcome","version":"1.1.2a785d32f-git"}
> 
> [INFO] Created DB named `db1'
> [INFO] Uploaded 5000 documents via _bulk_docs
> ()
> [INFO] Uploaded 5000 documents via _bulk_docs
> Building view.
> {"total_rows":20,"offset":0,"rows":[
> {"id":"00144af5-9f07-448e-af88-026674e3e3d0","key":["dwarf","assassin"],"value":{"_id":"00144af5-9f07-448e-af88-026674e3e3d0","_rev":"1-785fbf5e641f3d10fa083501ad82a9fe","data3":"Vl6BftQEWY6imvNs0FasOj2CrPCptP70z5d","ratio":1.6,"integers":[48028,3170,54066,95547,70643,23763,25804,33180,89061,35274,48244,91792,37936,11855],"category":"assassin","nested":{"dict":{"3XGVdTTF":31490,"SDxKa54e":40,"XIzUloRH":7,"5Mj9F4bp":192,"1sXfjgYf":1203,"XP5YSqhX":25461,"QJr0Xhxn":9941},"string1":"3Q4tvmhHwKvedKiRnoL6xUz","string2":"dWI1mrrAypRh","values":[33712,57371,88567,88361,70873,6327,17326,91004,41840,86257],"string3":"i7OGysnXvynz41VMQJ","coords":[{"x":65350.46,"y":103881.18},{"x":24180.14,"y":8474.9},{"x":88326.66,"y":43151.76},{"x":120199.77,"y":102270.29},{"x":191924.18,"y":74479.75}]},"level":21,"type":"dwarf","data1":"Vpkplo80LshlcjBE0ySJNNpfgDy2bu8byWrmZ44B","data2":"GnyNbos75Wxm1C5MLdOeXNniHamBjld70vHqoJnEtnlfekuPXJ"}}
> ]}
> 
> real  2m49.227s
> user  0m0.006s
> sys   0m0.005s
> 
> 
> 1.2.x:
> 
> fdmanana 07:13:30 ~/git/hub/slow_couchdb (master)> docs=20
> batch=5000 ./bench.sh wow.tpl
> Server: CouchDB/1.2.0 (Erlang OTP/R14B03)
> {"couchdb":"Welcome","version":"1.2.0"}
> 
> [INFO] Created DB named `db1'
> [INFO] Uploaded 5000 documents via _bulk_docs
> ()
> [INFO] Uploaded 5000 documents via _bulk_docs
> Building view.
> {"total_rows":20,"offset":0,"rows":[
> {"id":"0005cd07-49f4-4a99-b506-acef948f2acc","key":["dwarf","assassin"],"value":{"_id":"0005cd07-49f4-4a99-b506-acef948f2acc","_rev":"1-4b418e69618bf11124a03e1a3845f071","data3":"T0W2JBUET9yzRXHfUqcUBwFhYGKh14YFVxk","ratio":1.6999556,"integers":[25658,7573,47779,43217,49586,57992,13549,90984,45253,49560,1643,64085,38381,62544],"category":"assassin","nested":{"dict":{"oWhW4jJ6":199,"EPSVtKtS":5638,"8WpzvD5x":73714,"stD9Ynfh":8924,"0qh5Nc1g":5994,"pBa5vJyy":18,"s25oAkRc":165270},"string1":"fNNHb8lxtcy7GpwSU3yRyaC","string2":"rilbiZM7yAaK","values":[49632,93665,73258,75675,4229,15742,16965,76825,22049,79829],"string3":"IwX09SiOLMSSyxffMB","coords":[{"x":179620.451164,"y":11539.9899782},{"x":68483.8206985,"y":110559.199709},{"x":67197.9402328,"y":96702.2106403},{"x":25469.8698981,"y":79049.4905239},{"x":157059.899418,"y":34963.4103492}]},"level":6,"type":"dwarf","data1":"njpz38JSfz00p2Lc2Jv0dON7UfTljRgz0J2B7w7K","data2":"4hpsT2szDrssbUCHEirTzHOIhSxTd83i1FO5aNXgoGAfO2srH1"}}
> ]}
> 
> real  1m51.989s
> user  0m0.006s
> sys   0m0.004s
> 
> 
> 1.2.x + patch:
> 
> fdmanana 07:29:11 ~/git/hub/slow_couchdb (master)> docs=20
> batch=5000 ./bench.sh wow.tpl
> Server: CouchDB/1.2.0 (Erlang OTP/R14B03)
> {"couchdb":"Welcome","version":"1.2.0"}
> 
> [INFO] Created DB named `db1'
> [INFO] Uploaded 5000 documents via _bulk_docs
> ()
> [INFO] Uploaded 5000 documents via _bulk_docs
> Building view.
> {"total_rows":20,"offset":0,"rows":[
> {"id":"0005cd07-49f4-4a99-b506-acef948f2acc","key":["dwarf","assassin"],"value":{"_id":"0005cd07-49f4-4a99-b506-acef948f2acc","_rev":"1-4b418e69618bf11124a03e1a3845f071","data3":"T0W2JBUET9yzRXHfUqcUBwFhYGKh14YFVxk","ratio":1.6999556,"integers":[25658,7573,47779,43217,49586,57992,13549,9

Re: Please report your indexing speed

2012-03-05 Thread Robert Newson
go for it! Please mention "COUCHDB-1186" in the commit msg so we can trace it.

On 5 March 2012 10:17, Filipe David Manana  wrote:
> On Mon, Mar 5, 2012 at 2:15 AM, Robert Newson  wrote:
>> Filipe,
>>
>> Thanks for the explanation. I agree on the way forward and will apply
>> your patch to the relevant branches with attribution.
>
> Thanks. I'll do that myself soon unless someone in the meanwhile shows
> worse results with it.
>
>
>>
>> B.
>>
>> On 5 March 2012 07:41, Filipe David Manana  wrote:
>>> On Sun, Mar 4, 2012 at 9:45 AM, Bob Dionne  
>>> wrote:
 yes, I was surprised by the 30% claim as my numbers showed it only getting 
 back to where we were with 1.1.x

 I think Bob's suggestion to get to the root code change that caused this 
 regression is important as it will help us assess all the other cases this 
 testing hasn't even touched yet
>>>
>>> The explanation I gave in the 1.2.0 second round vote identifies the
>>> reason, which is that the updater is (depending on timings) collecting
>>> smaller batches of map results, which makes the btree updates less
>>> efficient (besides higher number of btree updates). The patch
>>> addresses this by queuing a batch of map results instead of queuing
>>> map results one by one. Jan's tests and mine are evidence that this is
>>> valid in practice and not just theory.
>>>
>>> The original main goal of COUCHDB-1186 was to make the indexing of
>>> views that emit reasonably large (or complex in structure) map values
>>> more efficient.
>>> Here's an example using Jason's slow_couchdb script with wow.tpl and
>>> map function of  "function(doc) {emit([doc.type, doc.category],
>>> doc);}":
>>>
>>> 1.1.x:
>>>
>>> fdmanana 07:04:12 ~/git/hub/slow_couchdb (master)> docs=20
>>> batch=5000 ./bench.sh wow.tpl
>>> Server: CouchDB/1.1.2a785d32f-git (Erlang OTP/R14B03)
>>> {"couchdb":"Welcome","version":"1.1.2a785d32f-git"}
>>>
>>> [INFO] Created DB named `db1'
>>> [INFO] Uploaded 5000 documents via _bulk_docs
>>> ()
>>> [INFO] Uploaded 5000 documents via _bulk_docs
>>> Building view.
>>> {"total_rows":20,"offset":0,"rows":[
>>> {"id":"00144af5-9f07-448e-af88-026674e3e3d0","key":["dwarf","assassin"],"value":{"_id":"00144af5-9f07-448e-af88-026674e3e3d0","_rev":"1-785fbf5e641f3d10fa083501ad82a9fe","data3":"Vl6BftQEWY6imvNs0FasOj2CrPCptP70z5d","ratio":1.6,"integers":[48028,3170,54066,95547,70643,23763,25804,33180,89061,35274,48244,91792,37936,11855],"category":"assassin","nested":{"dict":{"3XGVdTTF":31490,"SDxKa54e":40,"XIzUloRH":7,"5Mj9F4bp":192,"1sXfjgYf":1203,"XP5YSqhX":25461,"QJr0Xhxn":9941},"string1":"3Q4tvmhHwKvedKiRnoL6xUz","string2":"dWI1mrrAypRh","values":[33712,57371,88567,88361,70873,6327,17326,91004,41840,86257],"string3":"i7OGysnXvynz41VMQJ","coords":[{"x":65350.46,"y":103881.18},{"x":24180.14,"y":8474.9},{"x":88326.66,"y":43151.76},{"x":120199.77,"y":102270.29},{"x":191924.18,"y":74479.75}]},"level":21,"type":"dwarf","data1":"Vpkplo80LshlcjBE0ySJNNpfgDy2bu8byWrmZ44B","data2":"GnyNbos75Wxm1C5MLdOeXNniHamBjld70vHqoJnEtnlfekuPXJ"}}
>>> ]}
>>>
>>> real    2m49.227s
>>> user    0m0.006s
>>> sys     0m0.005s
>>>
>>>
>>> 1.2.x:
>>>
>>> fdmanana 07:13:30 ~/git/hub/slow_couchdb (master)> docs=20
>>> batch=5000 ./bench.sh wow.tpl
>>> Server: CouchDB/1.2.0 (Erlang OTP/R14B03)
>>> {"couchdb":"Welcome","version":"1.2.0"}
>>>
>>> [INFO] Created DB named `db1'
>>> [INFO] Uploaded 5000 documents via _bulk_docs
>>> ()
>>> [INFO] Uploaded 5000 documents via _bulk_docs
>>> Building view.
>>> {"total_rows":20,"offset":0,"rows":[
>>> {"id":"0005cd07-49f4-4a99-b506-acef948f2acc","key":["dwarf","assassin"],"value":{"_id":"0005cd07-49f4-4a99-b506-acef948f2acc","_rev":"1-4b418e69618bf11124a03e1a3845f071","data3":"T0W2JBUET9yzRXHfUqcUBwFhYGKh14YFVxk","ratio":1.6999556,"integers":[25658,7573,47779,43217,49586,57992,13549,90984,45253,49560,1643,64085,38381,62544],"category":"assassin","nested":{"dict":{"oWhW4jJ6":199,"EPSVtKtS":5638,"8WpzvD5x":73714,"stD9Ynfh":8924,"0qh5Nc1g":5994,"pBa5vJyy":18,"s25oAkRc":165270},"string1":"fNNHb8lxtcy7GpwSU3yRyaC","string2":"rilbiZM7yAaK","values":[49632,93665,73258,75675,4229,15742,16965,76825,22049,79829],"string3":"IwX09SiOLMSSyxffMB","coords":[{"x":179620.451164,"y":11539.9899782},{"x":68483.8206985,"y":110559.199709},{"x":67197.9402328,"y":96702.2106403},{"x":25469.8698981,"y":79049.4905239},{"x":157059.899418,"y":34963.4103492}]},"level":6,"type":"dwarf","data1":"njpz38JSfz00p2Lc2Jv0dON7UfTljRgz0J2B7w7K","data2":"4hpsT2szDrssbUCHEirTzHOIhSxTd83i1FO5aNXgoGAfO2srH1"}}
>>> ]}
>>>
>>> real    1m51.989s
>>> user    0m0.006s
>>> sys     0m0.004s
>>>
>>>
>>> 1.2.x + patch:
>>>
>>> fdmanana 07:29:11 ~/git/hub/slow_couchdb (master)> docs=20
>>> batch=5000 ./bench.sh wow.tpl
>>> Server: CouchDB/1.2.0 (Erlang OTP/R14B03)
>>> {"couchdb":"Welcome","version":"1.2.0"}
>>>
>>> [INFO] Created DB named `db1'
>>> [INFO] Upload

Re: Please report your indexing speed

2012-03-05 Thread Filipe David Manana
On Mon, Mar 5, 2012 at 2:15 AM, Robert Newson  wrote:
> Filipe,
>
> Thanks for the explanation. I agree on the way forward and will apply
> your patch to the relevant branches with attribution.

Thanks. I'll do that myself soon unless someone in the meanwhile shows
worse results with it.


>
> B.
>
> On 5 March 2012 07:41, Filipe David Manana  wrote:
>> On Sun, Mar 4, 2012 at 9:45 AM, Bob Dionne  
>> wrote:
>>> yes, I was surprised by the 30% claim as my numbers showed it only getting 
>>> back to where we were with 1.1.x
>>>
>>> I think Bob's suggestion to get to the root code change that caused this 
>>> regression is important as it will help us assess all the other cases this 
>>> testing hasn't even touched yet
>>
>> The explanation I gave in the 1.2.0 second round vote identifies the
>> reason, which is that the updater is (depending on timings) collecting
>> smaller batches of map results, which makes the btree updates less
>> efficient (besides higher number of btree updates). The patch
>> addresses this by queuing a batch of map results instead of queuing
>> map results one by one. Jan's tests and mine are evidence that this is
>> valid in practice and not just theory.
>>
>> The original main goal of COUCHDB-1186 was to make the indexing of
>> views that emit reasonably large (or complex in structure) map values
>> more efficient.
>> Here's an example using Jason's slow_couchdb script with wow.tpl and
>> map function of  "function(doc) {emit([doc.type, doc.category],
>> doc);}":
>>
>> 1.1.x:
>>
>> fdmanana 07:04:12 ~/git/hub/slow_couchdb (master)> docs=20
>> batch=5000 ./bench.sh wow.tpl
>> Server: CouchDB/1.1.2a785d32f-git (Erlang OTP/R14B03)
>> {"couchdb":"Welcome","version":"1.1.2a785d32f-git"}
>>
>> [INFO] Created DB named `db1'
>> [INFO] Uploaded 5000 documents via _bulk_docs
>> ()
>> [INFO] Uploaded 5000 documents via _bulk_docs
>> Building view.
>> {"total_rows":20,"offset":0,"rows":[
>> {"id":"00144af5-9f07-448e-af88-026674e3e3d0","key":["dwarf","assassin"],"value":{"_id":"00144af5-9f07-448e-af88-026674e3e3d0","_rev":"1-785fbf5e641f3d10fa083501ad82a9fe","data3":"Vl6BftQEWY6imvNs0FasOj2CrPCptP70z5d","ratio":1.6,"integers":[48028,3170,54066,95547,70643,23763,25804,33180,89061,35274,48244,91792,37936,11855],"category":"assassin","nested":{"dict":{"3XGVdTTF":31490,"SDxKa54e":40,"XIzUloRH":7,"5Mj9F4bp":192,"1sXfjgYf":1203,"XP5YSqhX":25461,"QJr0Xhxn":9941},"string1":"3Q4tvmhHwKvedKiRnoL6xUz","string2":"dWI1mrrAypRh","values":[33712,57371,88567,88361,70873,6327,17326,91004,41840,86257],"string3":"i7OGysnXvynz41VMQJ","coords":[{"x":65350.46,"y":103881.18},{"x":24180.14,"y":8474.9},{"x":88326.66,"y":43151.76},{"x":120199.77,"y":102270.29},{"x":191924.18,"y":74479.75}]},"level":21,"type":"dwarf","data1":"Vpkplo80LshlcjBE0ySJNNpfgDy2bu8byWrmZ44B","data2":"GnyNbos75Wxm1C5MLdOeXNniHamBjld70vHqoJnEtnlfekuPXJ"}}
>> ]}
>>
>> real    2m49.227s
>> user    0m0.006s
>> sys     0m0.005s
>>
>>
>> 1.2.x:
>>
>> fdmanana 07:13:30 ~/git/hub/slow_couchdb (master)> docs=20
>> batch=5000 ./bench.sh wow.tpl
>> Server: CouchDB/1.2.0 (Erlang OTP/R14B03)
>> {"couchdb":"Welcome","version":"1.2.0"}
>>
>> [INFO] Created DB named `db1'
>> [INFO] Uploaded 5000 documents via _bulk_docs
>> ()
>> [INFO] Uploaded 5000 documents via _bulk_docs
>> Building view.
>> {"total_rows":20,"offset":0,"rows":[
>> {"id":"0005cd07-49f4-4a99-b506-acef948f2acc","key":["dwarf","assassin"],"value":{"_id":"0005cd07-49f4-4a99-b506-acef948f2acc","_rev":"1-4b418e69618bf11124a03e1a3845f071","data3":"T0W2JBUET9yzRXHfUqcUBwFhYGKh14YFVxk","ratio":1.6999556,"integers":[25658,7573,47779,43217,49586,57992,13549,90984,45253,49560,1643,64085,38381,62544],"category":"assassin","nested":{"dict":{"oWhW4jJ6":199,"EPSVtKtS":5638,"8WpzvD5x":73714,"stD9Ynfh":8924,"0qh5Nc1g":5994,"pBa5vJyy":18,"s25oAkRc":165270},"string1":"fNNHb8lxtcy7GpwSU3yRyaC","string2":"rilbiZM7yAaK","values":[49632,93665,73258,75675,4229,15742,16965,76825,22049,79829],"string3":"IwX09SiOLMSSyxffMB","coords":[{"x":179620.451164,"y":11539.9899782},{"x":68483.8206985,"y":110559.199709},{"x":67197.9402328,"y":96702.2106403},{"x":25469.8698981,"y":79049.4905239},{"x":157059.899418,"y":34963.4103492}]},"level":6,"type":"dwarf","data1":"njpz38JSfz00p2Lc2Jv0dON7UfTljRgz0J2B7w7K","data2":"4hpsT2szDrssbUCHEirTzHOIhSxTd83i1FO5aNXgoGAfO2srH1"}}
>> ]}
>>
>> real    1m51.989s
>> user    0m0.006s
>> sys     0m0.004s
>>
>>
>> 1.2.x + patch:
>>
>> fdmanana 07:29:11 ~/git/hub/slow_couchdb (master)> docs=20
>> batch=5000 ./bench.sh wow.tpl
>> Server: CouchDB/1.2.0 (Erlang OTP/R14B03)
>> {"couchdb":"Welcome","version":"1.2.0"}
>>
>> [INFO] Created DB named `db1'
>> [INFO] Uploaded 5000 documents via _bulk_docs
>> ()
>> [INFO] Uploaded 5000 documents via _bulk_docs
>> Building view.
>> {"total_rows":20,"offset":0,"rows":[
>> {"id":"0005cd07-49f4-4a99-b506-acef948f2acc","key":["dwarf","assas

Re: Please report your indexing speed

2012-03-05 Thread Robert Newson
Filipe,

Thanks for the explanation. I agree on the way forward and will apply
your patch to the relevant branches with attribution.

B.

On 5 March 2012 07:41, Filipe David Manana  wrote:
> On Sun, Mar 4, 2012 at 9:45 AM, Bob Dionne  
> wrote:
>> yes, I was surprised by the 30% claim as my numbers showed it only getting 
>> back to where we were with 1.1.x
>>
>> I think Bob's suggestion to get to the root code change that caused this 
>> regression is important as it will help us assess all the other cases this 
>> testing hasn't even touched yet
>
> The explanation I gave in the 1.2.0 second round vote identifies the
> reason, which is that the updater is (depending on timings) collecting
> smaller batches of map results, which makes the btree updates less
> efficient (besides higher number of btree updates). The patch
> addresses this by queuing a batch of map results instead of queuing
> map results one by one. Jan's tests and mine are evidence that this is
> valid in practice and not just theory.
>
> The original main goal of COUCHDB-1186 was to make the indexing of
> views that emit reasonably large (or complex in structure) map values
> more efficient.
> Here's an example using Jason's slow_couchdb script with wow.tpl and
> map function of  "function(doc) {emit([doc.type, doc.category],
> doc);}":
>
> 1.1.x:
>
> fdmanana 07:04:12 ~/git/hub/slow_couchdb (master)> docs=20
> batch=5000 ./bench.sh wow.tpl
> Server: CouchDB/1.1.2a785d32f-git (Erlang OTP/R14B03)
> {"couchdb":"Welcome","version":"1.1.2a785d32f-git"}
>
> [INFO] Created DB named `db1'
> [INFO] Uploaded 5000 documents via _bulk_docs
> ()
> [INFO] Uploaded 5000 documents via _bulk_docs
> Building view.
> {"total_rows":20,"offset":0,"rows":[
> {"id":"00144af5-9f07-448e-af88-026674e3e3d0","key":["dwarf","assassin"],"value":{"_id":"00144af5-9f07-448e-af88-026674e3e3d0","_rev":"1-785fbf5e641f3d10fa083501ad82a9fe","data3":"Vl6BftQEWY6imvNs0FasOj2CrPCptP70z5d","ratio":1.6,"integers":[48028,3170,54066,95547,70643,23763,25804,33180,89061,35274,48244,91792,37936,11855],"category":"assassin","nested":{"dict":{"3XGVdTTF":31490,"SDxKa54e":40,"XIzUloRH":7,"5Mj9F4bp":192,"1sXfjgYf":1203,"XP5YSqhX":25461,"QJr0Xhxn":9941},"string1":"3Q4tvmhHwKvedKiRnoL6xUz","string2":"dWI1mrrAypRh","values":[33712,57371,88567,88361,70873,6327,17326,91004,41840,86257],"string3":"i7OGysnXvynz41VMQJ","coords":[{"x":65350.46,"y":103881.18},{"x":24180.14,"y":8474.9},{"x":88326.66,"y":43151.76},{"x":120199.77,"y":102270.29},{"x":191924.18,"y":74479.75}]},"level":21,"type":"dwarf","data1":"Vpkplo80LshlcjBE0ySJNNpfgDy2bu8byWrmZ44B","data2":"GnyNbos75Wxm1C5MLdOeXNniHamBjld70vHqoJnEtnlfekuPXJ"}}
> ]}
>
> real    2m49.227s
> user    0m0.006s
> sys     0m0.005s
>
>
> 1.2.x:
>
> fdmanana 07:13:30 ~/git/hub/slow_couchdb (master)> docs=20
> batch=5000 ./bench.sh wow.tpl
> Server: CouchDB/1.2.0 (Erlang OTP/R14B03)
> {"couchdb":"Welcome","version":"1.2.0"}
>
> [INFO] Created DB named `db1'
> [INFO] Uploaded 5000 documents via _bulk_docs
> ()
> [INFO] Uploaded 5000 documents via _bulk_docs
> Building view.
> {"total_rows":20,"offset":0,"rows":[
> {"id":"0005cd07-49f4-4a99-b506-acef948f2acc","key":["dwarf","assassin"],"value":{"_id":"0005cd07-49f4-4a99-b506-acef948f2acc","_rev":"1-4b418e69618bf11124a03e1a3845f071","data3":"T0W2JBUET9yzRXHfUqcUBwFhYGKh14YFVxk","ratio":1.6999556,"integers":[25658,7573,47779,43217,49586,57992,13549,90984,45253,49560,1643,64085,38381,62544],"category":"assassin","nested":{"dict":{"oWhW4jJ6":199,"EPSVtKtS":5638,"8WpzvD5x":73714,"stD9Ynfh":8924,"0qh5Nc1g":5994,"pBa5vJyy":18,"s25oAkRc":165270},"string1":"fNNHb8lxtcy7GpwSU3yRyaC","string2":"rilbiZM7yAaK","values":[49632,93665,73258,75675,4229,15742,16965,76825,22049,79829],"string3":"IwX09SiOLMSSyxffMB","coords":[{"x":179620.451164,"y":11539.9899782},{"x":68483.8206985,"y":110559.199709},{"x":67197.9402328,"y":96702.2106403},{"x":25469.8698981,"y":79049.4905239},{"x":157059.899418,"y":34963.4103492}]},"level":6,"type":"dwarf","data1":"njpz38JSfz00p2Lc2Jv0dON7UfTljRgz0J2B7w7K","data2":"4hpsT2szDrssbUCHEirTzHOIhSxTd83i1FO5aNXgoGAfO2srH1"}}
> ]}
>
> real    1m51.989s
> user    0m0.006s
> sys     0m0.004s
>
>
> 1.2.x + patch:
>
> fdmanana 07:29:11 ~/git/hub/slow_couchdb (master)> docs=20
> batch=5000 ./bench.sh wow.tpl
> Server: CouchDB/1.2.0 (Erlang OTP/R14B03)
> {"couchdb":"Welcome","version":"1.2.0"}
>
> [INFO] Created DB named `db1'
> [INFO] Uploaded 5000 documents via _bulk_docs
> ()
> [INFO] Uploaded 5000 documents via _bulk_docs
> Building view.
> {"total_rows":20,"offset":0,"rows":[
> {"id":"0005cd07-49f4-4a99-b506-acef948f2acc","key":["dwarf","assassin"],"value":{"_id":"0005cd07-49f4-4a99-b506-acef948f2acc","_rev":"1-4b418e69618bf11124a03e1a3845f071","data3":"T0W2JBUET9yzRXHfUqcUBwFhYGKh14YFVxk","ratio":1.6999556,"integers":[25658,7573,47779,43217,49586,57992,13549,90984,45253

Re: Please report your indexing speed

2012-03-04 Thread Filipe David Manana
On Sun, Mar 4, 2012 at 9:45 AM, Bob Dionne  wrote:
> yes, I was surprised by the 30% claim as my numbers showed it only getting 
> back to where we were with 1.1.x
>
> I think Bob's suggestion to get to the root code change that caused this 
> regression is important as it will help us assess all the other cases this 
> testing hasn't even touched yet

The explanation I gave in the 1.2.0 second round vote identifies the
reason, which is that the updater is (depending on timings) collecting
smaller batches of map results, which makes the btree updates less
efficient (besides higher number of btree updates). The patch
addresses this by queuing a batch of map results instead of queuing
map results one by one. Jan's tests and mine are evidence that this is
valid in practice and not just theory.

The original main goal of COUCHDB-1186 was to make the indexing of
views that emit reasonably large (or complex in structure) map values
more efficient.
Here's an example using Jason's slow_couchdb script with wow.tpl and
map function of  "function(doc) {emit([doc.type, doc.category],
doc);}":

1.1.x:

fdmanana 07:04:12 ~/git/hub/slow_couchdb (master)> docs=20
batch=5000 ./bench.sh wow.tpl
Server: CouchDB/1.1.2a785d32f-git (Erlang OTP/R14B03)
{"couchdb":"Welcome","version":"1.1.2a785d32f-git"}

[INFO] Created DB named `db1'
[INFO] Uploaded 5000 documents via _bulk_docs
()
[INFO] Uploaded 5000 documents via _bulk_docs
Building view.
{"total_rows":20,"offset":0,"rows":[
{"id":"00144af5-9f07-448e-af88-026674e3e3d0","key":["dwarf","assassin"],"value":{"_id":"00144af5-9f07-448e-af88-026674e3e3d0","_rev":"1-785fbf5e641f3d10fa083501ad82a9fe","data3":"Vl6BftQEWY6imvNs0FasOj2CrPCptP70z5d","ratio":1.6,"integers":[48028,3170,54066,95547,70643,23763,25804,33180,89061,35274,48244,91792,37936,11855],"category":"assassin","nested":{"dict":{"3XGVdTTF":31490,"SDxKa54e":40,"XIzUloRH":7,"5Mj9F4bp":192,"1sXfjgYf":1203,"XP5YSqhX":25461,"QJr0Xhxn":9941},"string1":"3Q4tvmhHwKvedKiRnoL6xUz","string2":"dWI1mrrAypRh","values":[33712,57371,88567,88361,70873,6327,17326,91004,41840,86257],"string3":"i7OGysnXvynz41VMQJ","coords":[{"x":65350.46,"y":103881.18},{"x":24180.14,"y":8474.9},{"x":88326.66,"y":43151.76},{"x":120199.77,"y":102270.29},{"x":191924.18,"y":74479.75}]},"level":21,"type":"dwarf","data1":"Vpkplo80LshlcjBE0ySJNNpfgDy2bu8byWrmZ44B","data2":"GnyNbos75Wxm1C5MLdOeXNniHamBjld70vHqoJnEtnlfekuPXJ"}}
]}

real2m49.227s
user0m0.006s
sys 0m0.005s


1.2.x:

fdmanana 07:13:30 ~/git/hub/slow_couchdb (master)> docs=20
batch=5000 ./bench.sh wow.tpl
Server: CouchDB/1.2.0 (Erlang OTP/R14B03)
{"couchdb":"Welcome","version":"1.2.0"}

[INFO] Created DB named `db1'
[INFO] Uploaded 5000 documents via _bulk_docs
()
[INFO] Uploaded 5000 documents via _bulk_docs
Building view.
{"total_rows":20,"offset":0,"rows":[
{"id":"0005cd07-49f4-4a99-b506-acef948f2acc","key":["dwarf","assassin"],"value":{"_id":"0005cd07-49f4-4a99-b506-acef948f2acc","_rev":"1-4b418e69618bf11124a03e1a3845f071","data3":"T0W2JBUET9yzRXHfUqcUBwFhYGKh14YFVxk","ratio":1.6999556,"integers":[25658,7573,47779,43217,49586,57992,13549,90984,45253,49560,1643,64085,38381,62544],"category":"assassin","nested":{"dict":{"oWhW4jJ6":199,"EPSVtKtS":5638,"8WpzvD5x":73714,"stD9Ynfh":8924,"0qh5Nc1g":5994,"pBa5vJyy":18,"s25oAkRc":165270},"string1":"fNNHb8lxtcy7GpwSU3yRyaC","string2":"rilbiZM7yAaK","values":[49632,93665,73258,75675,4229,15742,16965,76825,22049,79829],"string3":"IwX09SiOLMSSyxffMB","coords":[{"x":179620.451164,"y":11539.9899782},{"x":68483.8206985,"y":110559.199709},{"x":67197.9402328,"y":96702.2106403},{"x":25469.8698981,"y":79049.4905239},{"x":157059.899418,"y":34963.4103492}]},"level":6,"type":"dwarf","data1":"njpz38JSfz00p2Lc2Jv0dON7UfTljRgz0J2B7w7K","data2":"4hpsT2szDrssbUCHEirTzHOIhSxTd83i1FO5aNXgoGAfO2srH1"}}
]}

real1m51.989s
user0m0.006s
sys 0m0.004s


1.2.x + patch:

fdmanana 07:29:11 ~/git/hub/slow_couchdb (master)> docs=20
batch=5000 ./bench.sh wow.tpl
Server: CouchDB/1.2.0 (Erlang OTP/R14B03)
{"couchdb":"Welcome","version":"1.2.0"}

[INFO] Created DB named `db1'
[INFO] Uploaded 5000 documents via _bulk_docs
()
[INFO] Uploaded 5000 documents via _bulk_docs
Building view.
{"total_rows":20,"offset":0,"rows":[
{"id":"0005cd07-49f4-4a99-b506-acef948f2acc","key":["dwarf","assassin"],"value":{"_id":"0005cd07-49f4-4a99-b506-acef948f2acc","_rev":"1-4b418e69618bf11124a03e1a3845f071","data3":"T0W2JBUET9yzRXHfUqcUBwFhYGKh14YFVxk","ratio":1.6999556,"integers":[25658,7573,47779,43217,49586,57992,13549,90984,45253,49560,1643,64085,38381,62544],"category":"assassin","nested":{"dict":{"oWhW4jJ6":199,"EPSVtKtS":5638,"8WpzvD5x":73714,"stD9Ynfh":8924,"0qh5Nc1g":5994,"pBa5vJyy":18,"s25oAkRc":165270},"string1":"fNNHb8lxtcy7GpwSU3yRyaC","string2":"rilbiZM7yAaK","values":[49632,93665,73258,75675,4229,15742,16965,76825,22049,79829],"string3":"IwX

Re: Please report your indexing speed

2012-03-04 Thread Dave Cottlehuber
On 3 March 2012 00:56, Dave Cottlehuber  wrote:
> # localhost, mac with vmware fusion internal network to windows 7 vm
> Disk: /dev/disk0
>   Device / Media Name:      APPLE SSD TS128C Media
>   Solid State:              Yes
> dave@akai slow_couchdb % ./bench.sh small_doc.tpl

With real disk and a low iMac. Some anomalies and differing builds
muddy the results:

http://friendpaste.com/6npWxkdhjqd0p3rHKBa3Kx

Have found Filipe's patch so will redo these tests tomorrow permitting.

A+
Dave


Re: Please report your indexing speed

2012-03-04 Thread Jan Lehnardt

On Mar 4, 2012, at 18:48 , Jan Lehnardt wrote:

> 
> On Mar 4, 2012, at 18:45 , Bob Dionne wrote:
> 
>> yes, I was surprised by the 30% claim as my numbers showed it only getting 
>> back to where we were with 1.1.x
> 
> I see ~10% faster than where 1.1.1 was for small docs and ~30% for large docs.

I got curious whether there was a drop-off (or up, I guess) point for the 
performance improvement between doc size and %-improved.

I re-ran the tests for 300, 500 & 700 byte docs respectively and the numbers 
(updated in the spreadsheet) suggest a ~5% improvement on each iteration.

So, looks linear, no sweet spot.

Moving on.

Cheers
Jan
-- 

> 
> 
>> I think Bob's suggestion to get to the root code change that caused this 
>> regression is important as it will help us assess all the other cases this 
>> testing hasn't even touched yet
> 
> +1
> 
> Cheers
> Jan
> -- 
> 
> 
> 
>> 
>> On Mar 3, 2012, at 5:25 PM, Bob Dionne wrote:
>> 
>>> I ran some tests, using Bob's latest script. The first versus the second 
>>> clearly show the regression. The third is the 1.2.x with the patch
>>> to couch_os_process reverted and it seems to have no impact. The last has 
>>> Filipe's latest patch to couch_view_updater discussed in the
>>> other thread and it brings the performance back to the 1.1.x level.
>>> 
>>> I'd say that patch is a +1
>>> 
>>> 1.2.x
>>> real3m3.093s
>>> user0m0.028s
>>> sys 0m0.008s
>>> ==
>>> 1.1.x
>>> real2m16.609s
>>> user0m0.026s
>>> sys 0m0.007s
>>> =
>>> 1.2.x with patch to couch_os_process reverted
>>> real3m7.012s
>>> user0m0.029s
>>> sys 0m0.008s
>>> =
>>> 1.2.x with Filipe's katest patch to couch_view_updater
>>> real2m11.038s
>>> user0m0.028s
>>> sys 0m0.007s
>>> On Feb 28, 2012, at 8:17 AM, Jason Smith wrote:
>>> 
 Forgive the clean new thread. Hopefully it will not remain so.
 
 If you can, would you please clone https://github.com/jhs/slow_couchdb
 
 And build whatever Erlangs and CouchDB checkouts you see fit, and run
 the test. For example:
 
 docs=50 ./bench.sh small_doc.tpl
 
 That should run the test and, God willing, upload the results to a
 couch in the cloud. We should be able to use that information to
 identify who you are, whether you are on SSD, what Erlang and Couch
 build, and how fast it ran. Modulo bugs.
>>> 
>> 
> 



Re: Please report your indexing speed

2012-03-04 Thread Jan Lehnardt

On Mar 4, 2012, at 18:45 , Bob Dionne wrote:

> yes, I was surprised by the 30% claim as my numbers showed it only getting 
> back to where we were with 1.1.x

I see ~10% faster than where 1.1.1 was for small docs and ~30% for large docs.


> I think Bob's suggestion to get to the root code change that caused this 
> regression is important as it will help us assess all the other cases this 
> testing hasn't even touched yet

+1

Cheers
Jan
-- 



> 
> On Mar 3, 2012, at 5:25 PM, Bob Dionne wrote:
> 
>> I ran some tests, using Bob's latest script. The first versus the second 
>> clearly show the regression. The third is the 1.2.x with the patch
>> to couch_os_process reverted and it seems to have no impact. The last has 
>> Filipe's latest patch to couch_view_updater discussed in the
>> other thread and it brings the performance back to the 1.1.x level.
>> 
>> I'd say that patch is a +1
>> 
>> 1.2.x
>> real 3m3.093s
>> user 0m0.028s
>> sys  0m0.008s
>> ==
>> 1.1.x
>> real 2m16.609s
>> user 0m0.026s
>> sys  0m0.007s
>> =
>> 1.2.x with patch to couch_os_process reverted
>> real 3m7.012s
>> user 0m0.029s
>> sys  0m0.008s
>> =
>> 1.2.x with Filipe's katest patch to couch_view_updater
>> real 2m11.038s
>> user 0m0.028s
>> sys  0m0.007s
>> On Feb 28, 2012, at 8:17 AM, Jason Smith wrote:
>> 
>>> Forgive the clean new thread. Hopefully it will not remain so.
>>> 
>>> If you can, would you please clone https://github.com/jhs/slow_couchdb
>>> 
>>> And build whatever Erlangs and CouchDB checkouts you see fit, and run
>>> the test. For example:
>>> 
>>>  docs=50 ./bench.sh small_doc.tpl
>>> 
>>> That should run the test and, God willing, upload the results to a
>>> couch in the cloud. We should be able to use that information to
>>> identify who you are, whether you are on SSD, what Erlang and Couch
>>> build, and how fast it ran. Modulo bugs.
>> 
> 



Re: Please report your indexing speed

2012-03-04 Thread Jan Lehnardt

On Mar 4, 2012, at 18:40 , Jan Lehnardt wrote:

> 
> On Mar 4, 2012, at 18:24 , Jan Lehnardt wrote:
> 
>> I updated the google doc with results from an EC2 cc1.4xlarge instance 
>> (details are in the spreadsheet)
>> 
>> This on EBS and Ubuntu 11.04/64.
>> 
>> The results are bit different from the previous machine, but that isn't at 
>> all unexpected.
>> 
>> tl;dr: for small docs (10bytes, 100bytes) 1.2.x-filipe beats 1.2.x and 1.1.1 
>> , for large docs (1000bytes), 1.2.x beats 1.2.x-filipe  (6% difference).
> 
> Hah, I re-read through the results to make sure this is correct and I found a 
> mistake. A copy and paste formula error accounted for bigger improvements of 
> 1.2.x-filipe. This includes all my previous results.
> 
> The good thing is 1.2.x-filipe is still faster, across the board than 1.1.1 
> and 1.2.x. Still significantly, but not *as* much as about 30% in all but one 
> case.
> 
> The tl;dr for the EC2 run can now be changed to that 1.2.x-filipe beats 1.1.1 
> and 1.2.x for all docs, it's just that for large docs (1000bytes), 1.2.x is 
> faster than 1.1.1. But 1.2.x-filipe is even faster.
> 
> 
>> So far, across the board, 1.2.x-filipe is ~16% faster (stdev 9%) than 1.1.1 
>> for view builds.

Sorry for misquoting this line, it is new and the most significant of this 
email, I'll just repeat it :)


So far, across the board, 1.2.x-filipe is ~16% faster (stdev 9%) than 1.1.1 for 
view builds.


The bigger the docs, the better the results, on both SSD and spinning disk.

Cheers
Jan
-- 

> 
> 
> If you have any more hardware I could run this on, I'm happy to help with the 
> setup, it isn't hard :)
> 
> Cheers
> Jan
> --
> 
> 
>> 
>> This still makes me want to include Filipe's patch into 1.2.x.
>> 
>> Cheers
>> Jan
>> -- 
>> 
>> On Mar 4, 2012, at 10:24 , Jan Lehnardt wrote:
>> 
>>> Hey all,
>>> 
>>> I made another run with a bit of a different scenario.
>>> 
>>> 
>>> # The Scenario
>>> 
>>> I used a modified benchbulk.sh for inserting data (because it is an order 
>>> of magnitude faster than the other methods we had). I added a command line 
>>> parameter to specify the size of a single document in bytes (this was 
>>> previously hardcoded in the script). Note that this script creates docs in 
>>> a btree-friendly incrementing ID way.
>>> 
>>> I added a new script benchview.sh which is basically the lower part of 
>>> Robert Newson's script. It creates a single view and queries it, measuring 
>>> execution time of curl.
>>> 
>>> And a third matrix.sh (yay) that would run, on my system, different 
>>> configurations.
>>> 
>>> See https://gist.github.com/1971611 for the scripts.
>>> 
>>> I ran ./benchbulk $size && ./benchview.sh for the following combinations, 
>>> all on Mac OS X 10.7.3, Erlang R15B, Spidermonkey 1.8.5:
>>> 
>>> - Doc sizes 10, 100, 1000 bytes
>>> - CouchDB 1.1.1, 1.2.x (as of last night), 1.2.x-filipe (as of last night + 
>>> Filipe's patch from earlier in the thread)
>>> - On an SSD and on a 5400rpm internal drive.
>>> 
>>> I ran each individual test three times and took the average to compare 
>>> numbers. The full report (see below) includes each individual run's numbers)
>>> 
>>> (The gist includes the raw output data from matrix.sh for the 5400rpm run, 
>>> for the SSDs, I don't have the original numbers anymore. I'm happy to 
>>> re-run this, if you want that data as well.)
>>> 
>>> # The Numbers
>>> 
>>> See 
>>> https://docs.google.com/spreadsheet/ccc?key=0AhESVUYnc_sQdDJ1Ry1KMTQ5enBDY0s1dHk2UVEzMHc
>>>  for the full data set. It'd be great to get a second pair of eyes to make 
>>> sure I didn't make any mistakes.
>>> 
>>> See the "Grouped Data" sheet for comparisons.
>>> 
>>> tl;dr: 1.2.x is about 30% slower and 1.2.x-filipe is about 30% faster than 
>>> 1.1.1 in the scenario above.
>>> 
>>> 
>>> # Conclusion
>>> 
>>> +1 to include Filipe's patch into 1.2.x.
>>> 
>>> 
>>> 
>>> I'd love any feedback on methods, calculations and whatnot :)
>>> 
>>> Also, I can run more variations, if you like, other Erlang or SpiderMokney 
>>> versions e.g., just let me know.
>>> 
>>> 
>>> Cheers
>>> Jan
>>> -- 
>>> 
>>> On Feb 28, 2012, at 14:17 , Jason Smith wrote:
>>> 
 Forgive the clean new thread. Hopefully it will not remain so.
 
 If you can, would you please clone https://github.com/jhs/slow_couchdb
 
 And build whatever Erlangs and CouchDB checkouts you see fit, and run
 the test. For example:
 
 docs=50 ./bench.sh small_doc.tpl
 
 That should run the test and, God willing, upload the results to a
 couch in the cloud. We should be able to use that information to
 identify who you are, whether you are on SSD, what Erlang and Couch
 build, and how fast it ran. Modulo bugs.
>>> 
>> 
> 



Re: Please report your indexing speed

2012-03-04 Thread Bob Dionne
yes, I was surprised by the 30% claim as my numbers showed it only getting back 
to where we were with 1.1.x

I think Bob's suggestion to get to the root code change that caused this 
regression is important as it will help us assess all the other cases this 
testing hasn't even touched yet

On Mar 3, 2012, at 5:25 PM, Bob Dionne wrote:

> I ran some tests, using Bob's latest script. The first versus the second 
> clearly show the regression. The third is the 1.2.x with the patch
> to couch_os_process reverted and it seems to have no impact. The last has 
> Filipe's latest patch to couch_view_updater discussed in the
> other thread and it brings the performance back to the 1.1.x level.
> 
> I'd say that patch is a +1
> 
> 1.2.x
> real  3m3.093s
> user  0m0.028s
> sys   0m0.008s
> ==
> 1.1.x
> real  2m16.609s
> user  0m0.026s
> sys   0m0.007s
> =
> 1.2.x with patch to couch_os_process reverted
> real  3m7.012s
> user  0m0.029s
> sys   0m0.008s
> =
> 1.2.x with Filipe's katest patch to couch_view_updater
> real  2m11.038s
> user  0m0.028s
> sys   0m0.007s
> On Feb 28, 2012, at 8:17 AM, Jason Smith wrote:
> 
>> Forgive the clean new thread. Hopefully it will not remain so.
>> 
>> If you can, would you please clone https://github.com/jhs/slow_couchdb
>> 
>> And build whatever Erlangs and CouchDB checkouts you see fit, and run
>> the test. For example:
>> 
>>   docs=50 ./bench.sh small_doc.tpl
>> 
>> That should run the test and, God willing, upload the results to a
>> couch in the cloud. We should be able to use that information to
>> identify who you are, whether you are on SSD, what Erlang and Couch
>> build, and how fast it ran. Modulo bugs.
> 



Re: Please report your indexing speed

2012-03-04 Thread Jan Lehnardt

On Mar 4, 2012, at 18:24 , Jan Lehnardt wrote:

> I updated the google doc with results from an EC2 cc1.4xlarge instance 
> (details are in the spreadsheet)
> 
> This on EBS and Ubuntu 11.04/64.
> 
> The results are bit different from the previous machine, but that isn't at 
> all unexpected.
> 
> tl;dr: for small docs (10bytes, 100bytes) 1.2.x-filipe beats 1.2.x and 1.1.1 
> , for large docs (1000bytes), 1.2.x beats 1.2.x-filipe  (6% difference).

Hah, I re-read through the results to make sure this is correct and I found a 
mistake. A copy and paste formula error accounted for bigger improvements of 
1.2.x-filipe. This includes all my previous results.

The good thing is 1.2.x-filipe is still faster, across the board than 1.1.1 and 
1.2.x. Still significantly, but not *as* much as about 30% in all but one case.

The tl;dr for the EC2 run can now be changed to that 1.2.x-filipe beats 1.1.1 
and 1.2.x for all docs, it's just that for large docs (1000bytes), 1.2.x is 
faster than 1.1.1. But 1.2.x-filipe is even faster.


  > So far, across the board, 1.2.x-filipe is ~16% faster (stdev 9%) than 1.1.1 
for view builds.


If you have any more hardware I could run this on, I'm happy to help with the 
setup, it isn't hard :)

Cheers
Jan
--


> 
> This still makes me want to include Filipe's patch into 1.2.x.
> 
> Cheers
> Jan
> -- 
> 
> On Mar 4, 2012, at 10:24 , Jan Lehnardt wrote:
> 
>> Hey all,
>> 
>> I made another run with a bit of a different scenario.
>> 
>> 
>> # The Scenario
>> 
>> I used a modified benchbulk.sh for inserting data (because it is an order of 
>> magnitude faster than the other methods we had). I added a command line 
>> parameter to specify the size of a single document in bytes (this was 
>> previously hardcoded in the script). Note that this script creates docs in a 
>> btree-friendly incrementing ID way.
>> 
>> I added a new script benchview.sh which is basically the lower part of 
>> Robert Newson's script. It creates a single view and queries it, measuring 
>> execution time of curl.
>> 
>> And a third matrix.sh (yay) that would run, on my system, different 
>> configurations.
>> 
>> See https://gist.github.com/1971611 for the scripts.
>> 
>> I ran ./benchbulk $size && ./benchview.sh for the following combinations, 
>> all on Mac OS X 10.7.3, Erlang R15B, Spidermonkey 1.8.5:
>> 
>> - Doc sizes 10, 100, 1000 bytes
>> - CouchDB 1.1.1, 1.2.x (as of last night), 1.2.x-filipe (as of last night + 
>> Filipe's patch from earlier in the thread)
>> - On an SSD and on a 5400rpm internal drive.
>> 
>> I ran each individual test three times and took the average to compare 
>> numbers. The full report (see below) includes each individual run's numbers)
>> 
>> (The gist includes the raw output data from matrix.sh for the 5400rpm run, 
>> for the SSDs, I don't have the original numbers anymore. I'm happy to re-run 
>> this, if you want that data as well.)
>> 
>> # The Numbers
>> 
>> See 
>> https://docs.google.com/spreadsheet/ccc?key=0AhESVUYnc_sQdDJ1Ry1KMTQ5enBDY0s1dHk2UVEzMHc
>>  for the full data set. It'd be great to get a second pair of eyes to make 
>> sure I didn't make any mistakes.
>> 
>> See the "Grouped Data" sheet for comparisons.
>> 
>> tl;dr: 1.2.x is about 30% slower and 1.2.x-filipe is about 30% faster than 
>> 1.1.1 in the scenario above.
>> 
>> 
>> # Conclusion
>> 
>> +1 to include Filipe's patch into 1.2.x.
>> 
>> 
>> 
>> I'd love any feedback on methods, calculations and whatnot :)
>> 
>> Also, I can run more variations, if you like, other Erlang or SpiderMokney 
>> versions e.g., just let me know.
>> 
>> 
>> Cheers
>> Jan
>> -- 
>> 
>> On Feb 28, 2012, at 14:17 , Jason Smith wrote:
>> 
>>> Forgive the clean new thread. Hopefully it will not remain so.
>>> 
>>> If you can, would you please clone https://github.com/jhs/slow_couchdb
>>> 
>>> And build whatever Erlangs and CouchDB checkouts you see fit, and run
>>> the test. For example:
>>> 
>>>  docs=50 ./bench.sh small_doc.tpl
>>> 
>>> That should run the test and, God willing, upload the results to a
>>> couch in the cloud. We should be able to use that information to
>>> identify who you are, whether you are on SSD, what Erlang and Couch
>>> build, and how fast it ran. Modulo bugs.
>> 
> 



Re: Please report your indexing speed

2012-03-04 Thread Jan Lehnardt

On Mar 4, 2012, at 13:03 , Bob Dionne wrote:

> Great Jan, so this confirms my back of the envelope test using Bob's script 
> and Filipe's results. The patch is definitely helpful. 
> 
> I was wondering why no one had looked at test/bench, perhaps this more 
> rigorous approach could provide the basis for a comprehensive performance tool

Good call!

I'd really like that our current efforts morph into a situation where we can 
`make perf` and get a bunch of good results to compare to other builds' `make 
perf`. Down the road, though, I think we need to write Erlang tools to do that, 
so Windows users can run them without too much trouble. (we could also bundle 
whatever scripting environment or C-based binaries with the builds, but since 
we already ship Erlang, we might as well use it :)

Cheers
Jan
-- 



> 
> On Mar 4, 2012, at 4:24 AM, Jan Lehnardt wrote:
> 
>> Hey all,
>> 
>> I made another run with a bit of a different scenario.
>> 
>> 
>> # The Scenario
>> 
>> I used a modified benchbulk.sh for inserting data (because it is an order of 
>> magnitude faster than the other methods we had). I added a command line 
>> parameter to specify the size of a single document in bytes (this was 
>> previously hardcoded in the script). Note that this script creates docs in a 
>> btree-friendly incrementing ID way.
>> 
>> I added a new script benchview.sh which is basically the lower part of 
>> Robert Newson's script. It creates a single view and queries it, measuring 
>> execution time of curl.
>> 
>> And a third matrix.sh (yay) that would run, on my system, different 
>> configurations.
>> 
>> See https://gist.github.com/1971611 for the scripts.
>> 
>> I ran ./benchbulk $size && ./benchview.sh for the following combinations, 
>> all on Mac OS X 10.7.3, Erlang R15B, Spidermonkey 1.8.5:
>> 
>> - Doc sizes 10, 100, 1000 bytes
>> - CouchDB 1.1.1, 1.2.x (as of last night), 1.2.x-filipe (as of last night + 
>> Filipe's patch from earlier in the thread)
>> - On an SSD and on a 5400rpm internal drive.
>> 
>> I ran each individual test three times and took the average to compare 
>> numbers. The full report (see below) includes each individual run's numbers)
>> 
>> (The gist includes the raw output data from matrix.sh for the 5400rpm run, 
>> for the SSDs, I don't have the original numbers anymore. I'm happy to re-run 
>> this, if you want that data as well.)
>> 
>> # The Numbers
>> 
>> See 
>> https://docs.google.com/spreadsheet/ccc?key=0AhESVUYnc_sQdDJ1Ry1KMTQ5enBDY0s1dHk2UVEzMHc
>>  for the full data set. It'd be great to get a second pair of eyes to make 
>> sure I didn't make any mistakes.
>> 
>> See the "Grouped Data" sheet for comparisons.
>> 
>> tl;dr: 1.2.x is about 30% slower and 1.2.x-filipe is about 30% faster than 
>> 1.1.1 in the scenario above.
>> 
>> 
>> # Conclusion
>> 
>> +1 to include Filipe's patch into 1.2.x.
>> 
>> 
>> 
>> I'd love any feedback on methods, calculations and whatnot :)
>> 
>> Also, I can run more variations, if you like, other Erlang or SpiderMokney 
>> versions e.g., just let me know.
>> 
>> 
>> Cheers
>> Jan
>> -- 
>> 
>> On Feb 28, 2012, at 14:17 , Jason Smith wrote:
>> 
>>> Forgive the clean new thread. Hopefully it will not remain so.
>>> 
>>> If you can, would you please clone https://github.com/jhs/slow_couchdb
>>> 
>>> And build whatever Erlangs and CouchDB checkouts you see fit, and run
>>> the test. For example:
>>> 
>>>  docs=50 ./bench.sh small_doc.tpl
>>> 
>>> That should run the test and, God willing, upload the results to a
>>> couch in the cloud. We should be able to use that information to
>>> identify who you are, whether you are on SSD, what Erlang and Couch
>>> build, and how fast it ran. Modulo bugs.
>> 
> 



Re: Please report your indexing speed

2012-03-04 Thread Jan Lehnardt
I updated the google doc with results from an EC2 cc1.4xlarge instance (details 
are in the spreadsheet)

This on EBS and Ubuntu 11.04/64.

The results are bit different from the previous machine, but that isn't at all 
unexpected.

tl;dr: for small docs (10bytes, 100bytes) 1.2.x-filipe beats 1.2.x and 1.1.1 , 
for large docs (1000bytes), 1.2.x beats 1.2.x-filipe  (6% difference).

This still makes me want to include Filipe's patch into 1.2.x.

Cheers
Jan
-- 

On Mar 4, 2012, at 10:24 , Jan Lehnardt wrote:

> Hey all,
> 
> I made another run with a bit of a different scenario.
> 
> 
> # The Scenario
> 
> I used a modified benchbulk.sh for inserting data (because it is an order of 
> magnitude faster than the other methods we had). I added a command line 
> parameter to specify the size of a single document in bytes (this was 
> previously hardcoded in the script). Note that this script creates docs in a 
> btree-friendly incrementing ID way.
> 
> I added a new script benchview.sh which is basically the lower part of Robert 
> Newson's script. It creates a single view and queries it, measuring execution 
> time of curl.
> 
> And a third matrix.sh (yay) that would run, on my system, different 
> configurations.
> 
> See https://gist.github.com/1971611 for the scripts.
> 
> I ran ./benchbulk $size && ./benchview.sh for the following combinations, all 
> on Mac OS X 10.7.3, Erlang R15B, Spidermonkey 1.8.5:
> 
> - Doc sizes 10, 100, 1000 bytes
> - CouchDB 1.1.1, 1.2.x (as of last night), 1.2.x-filipe (as of last night + 
> Filipe's patch from earlier in the thread)
> - On an SSD and on a 5400rpm internal drive.
> 
> I ran each individual test three times and took the average to compare 
> numbers. The full report (see below) includes each individual run's numbers)
> 
> (The gist includes the raw output data from matrix.sh for the 5400rpm run, 
> for the SSDs, I don't have the original numbers anymore. I'm happy to re-run 
> this, if you want that data as well.)
> 
> # The Numbers
> 
> See 
> https://docs.google.com/spreadsheet/ccc?key=0AhESVUYnc_sQdDJ1Ry1KMTQ5enBDY0s1dHk2UVEzMHc
>  for the full data set. It'd be great to get a second pair of eyes to make 
> sure I didn't make any mistakes.
> 
> See the "Grouped Data" sheet for comparisons.
> 
> tl;dr: 1.2.x is about 30% slower and 1.2.x-filipe is about 30% faster than 
> 1.1.1 in the scenario above.
> 
> 
> # Conclusion
> 
> +1 to include Filipe's patch into 1.2.x.
> 
> 
> 
> I'd love any feedback on methods, calculations and whatnot :)
> 
> Also, I can run more variations, if you like, other Erlang or SpiderMokney 
> versions e.g., just let me know.
> 
> 
> Cheers
> Jan
> -- 
> 
> On Feb 28, 2012, at 14:17 , Jason Smith wrote:
> 
>> Forgive the clean new thread. Hopefully it will not remain so.
>> 
>> If you can, would you please clone https://github.com/jhs/slow_couchdb
>> 
>> And build whatever Erlangs and CouchDB checkouts you see fit, and run
>> the test. For example:
>> 
>>   docs=50 ./bench.sh small_doc.tpl
>> 
>> That should run the test and, God willing, upload the results to a
>> couch in the cloud. We should be able to use that information to
>> identify who you are, whether you are on SSD, what Erlang and Couch
>> build, and how fast it ran. Modulo bugs.
> 



Re: Please report your indexing speed

2012-03-04 Thread Robert Newson
Excellent stuff, thanks Jan. I think it would be prudent to attempt to
identify which patch, or, more likely, which part of the patch, caused
the 30% regression and why. I will attempt that tomorrow or possibly
later today.

B.

On 4 March 2012 12:03, Bob Dionne  wrote:
> Great Jan, so this confirms my back of the envelope test using Bob's script 
> and Filipe's results. The patch is definitely helpful.
>
> I was wondering why no one had looked at test/bench, perhaps this more 
> rigorous approach could provide the basis for a comprehensive performance tool
>
> On Mar 4, 2012, at 4:24 AM, Jan Lehnardt wrote:
>
>> Hey all,
>>
>> I made another run with a bit of a different scenario.
>>
>>
>> # The Scenario
>>
>> I used a modified benchbulk.sh for inserting data (because it is an order of 
>> magnitude faster than the other methods we had). I added a command line 
>> parameter to specify the size of a single document in bytes (this was 
>> previously hardcoded in the script). Note that this script creates docs in a 
>> btree-friendly incrementing ID way.
>>
>> I added a new script benchview.sh which is basically the lower part of 
>> Robert Newson's script. It creates a single view and queries it, measuring 
>> execution time of curl.
>>
>> And a third matrix.sh (yay) that would run, on my system, different 
>> configurations.
>>
>> See https://gist.github.com/1971611 for the scripts.
>>
>> I ran ./benchbulk $size && ./benchview.sh for the following combinations, 
>> all on Mac OS X 10.7.3, Erlang R15B, Spidermonkey 1.8.5:
>>
>> - Doc sizes 10, 100, 1000 bytes
>> - CouchDB 1.1.1, 1.2.x (as of last night), 1.2.x-filipe (as of last night + 
>> Filipe's patch from earlier in the thread)
>> - On an SSD and on a 5400rpm internal drive.
>>
>> I ran each individual test three times and took the average to compare 
>> numbers. The full report (see below) includes each individual run's numbers)
>>
>> (The gist includes the raw output data from matrix.sh for the 5400rpm run, 
>> for the SSDs, I don't have the original numbers anymore. I'm happy to re-run 
>> this, if you want that data as well.)
>>
>> # The Numbers
>>
>> See 
>> https://docs.google.com/spreadsheet/ccc?key=0AhESVUYnc_sQdDJ1Ry1KMTQ5enBDY0s1dHk2UVEzMHc
>>  for the full data set. It'd be great to get a second pair of eyes to make 
>> sure I didn't make any mistakes.
>>
>> See the "Grouped Data" sheet for comparisons.
>>
>> tl;dr: 1.2.x is about 30% slower and 1.2.x-filipe is about 30% faster than 
>> 1.1.1 in the scenario above.
>>
>>
>> # Conclusion
>>
>> +1 to include Filipe's patch into 1.2.x.
>>
>>
>>
>> I'd love any feedback on methods, calculations and whatnot :)
>>
>> Also, I can run more variations, if you like, other Erlang or SpiderMokney 
>> versions e.g., just let me know.
>>
>>
>> Cheers
>> Jan
>> --
>>
>> On Feb 28, 2012, at 14:17 , Jason Smith wrote:
>>
>>> Forgive the clean new thread. Hopefully it will not remain so.
>>>
>>> If you can, would you please clone https://github.com/jhs/slow_couchdb
>>>
>>> And build whatever Erlangs and CouchDB checkouts you see fit, and run
>>> the test. For example:
>>>
>>>   docs=50 ./bench.sh small_doc.tpl
>>>
>>> That should run the test and, God willing, upload the results to a
>>> couch in the cloud. We should be able to use that information to
>>> identify who you are, whether you are on SSD, what Erlang and Couch
>>> build, and how fast it ran. Modulo bugs.
>>
>


Re: Please report your indexing speed

2012-03-04 Thread Bob Dionne
Great Jan, so this confirms my back of the envelope test using Bob's script and 
Filipe's results. The patch is definitely helpful. 

I was wondering why no one had looked at test/bench, perhaps this more rigorous 
approach could provide the basis for a comprehensive performance tool

On Mar 4, 2012, at 4:24 AM, Jan Lehnardt wrote:

> Hey all,
> 
> I made another run with a bit of a different scenario.
> 
> 
> # The Scenario
> 
> I used a modified benchbulk.sh for inserting data (because it is an order of 
> magnitude faster than the other methods we had). I added a command line 
> parameter to specify the size of a single document in bytes (this was 
> previously hardcoded in the script). Note that this script creates docs in a 
> btree-friendly incrementing ID way.
> 
> I added a new script benchview.sh which is basically the lower part of Robert 
> Newson's script. It creates a single view and queries it, measuring execution 
> time of curl.
> 
> And a third matrix.sh (yay) that would run, on my system, different 
> configurations.
> 
> See https://gist.github.com/1971611 for the scripts.
> 
> I ran ./benchbulk $size && ./benchview.sh for the following combinations, all 
> on Mac OS X 10.7.3, Erlang R15B, Spidermonkey 1.8.5:
> 
> - Doc sizes 10, 100, 1000 bytes
> - CouchDB 1.1.1, 1.2.x (as of last night), 1.2.x-filipe (as of last night + 
> Filipe's patch from earlier in the thread)
> - On an SSD and on a 5400rpm internal drive.
> 
> I ran each individual test three times and took the average to compare 
> numbers. The full report (see below) includes each individual run's numbers)
> 
> (The gist includes the raw output data from matrix.sh for the 5400rpm run, 
> for the SSDs, I don't have the original numbers anymore. I'm happy to re-run 
> this, if you want that data as well.)
> 
> # The Numbers
> 
> See 
> https://docs.google.com/spreadsheet/ccc?key=0AhESVUYnc_sQdDJ1Ry1KMTQ5enBDY0s1dHk2UVEzMHc
>  for the full data set. It'd be great to get a second pair of eyes to make 
> sure I didn't make any mistakes.
> 
> See the "Grouped Data" sheet for comparisons.
> 
> tl;dr: 1.2.x is about 30% slower and 1.2.x-filipe is about 30% faster than 
> 1.1.1 in the scenario above.
> 
> 
> # Conclusion
> 
> +1 to include Filipe's patch into 1.2.x.
> 
> 
> 
> I'd love any feedback on methods, calculations and whatnot :)
> 
> Also, I can run more variations, if you like, other Erlang or SpiderMokney 
> versions e.g., just let me know.
> 
> 
> Cheers
> Jan
> -- 
> 
> On Feb 28, 2012, at 14:17 , Jason Smith wrote:
> 
>> Forgive the clean new thread. Hopefully it will not remain so.
>> 
>> If you can, would you please clone https://github.com/jhs/slow_couchdb
>> 
>> And build whatever Erlangs and CouchDB checkouts you see fit, and run
>> the test. For example:
>> 
>>   docs=50 ./bench.sh small_doc.tpl
>> 
>> That should run the test and, God willing, upload the results to a
>> couch in the cloud. We should be able to use that information to
>> identify who you are, whether you are on SSD, what Erlang and Couch
>> build, and how fast it ran. Modulo bugs.
> 



Re: Please report your indexing speed

2012-03-04 Thread Jan Lehnardt
Hey all,

I made another run with a bit of a different scenario.


# The Scenario

I used a modified benchbulk.sh for inserting data (because it is an order of 
magnitude faster than the other methods we had). I added a command line 
parameter to specify the size of a single document in bytes (this was 
previously hardcoded in the script). Note that this script creates docs in a 
btree-friendly incrementing ID way.

I added a new script benchview.sh which is basically the lower part of Robert 
Newson's script. It creates a single view and queries it, measuring execution 
time of curl.

And a third matrix.sh (yay) that would run, on my system, different 
configurations.

See https://gist.github.com/1971611 for the scripts.

I ran ./benchbulk $size && ./benchview.sh for the following combinations, all 
on Mac OS X 10.7.3, Erlang R15B, Spidermonkey 1.8.5:

- Doc sizes 10, 100, 1000 bytes
- CouchDB 1.1.1, 1.2.x (as of last night), 1.2.x-filipe (as of last night + 
Filipe's patch from earlier in the thread)
- On an SSD and on a 5400rpm internal drive.

I ran each individual test three times and took the average to compare numbers. 
The full report (see below) includes each individual run's numbers)

(The gist includes the raw output data from matrix.sh for the 5400rpm run, for 
the SSDs, I don't have the original numbers anymore. I'm happy to re-run this, 
if you want that data as well.)

# The Numbers

See 
https://docs.google.com/spreadsheet/ccc?key=0AhESVUYnc_sQdDJ1Ry1KMTQ5enBDY0s1dHk2UVEzMHc
 for the full data set. It'd be great to get a second pair of eyes to make sure 
I didn't make any mistakes.

See the "Grouped Data" sheet for comparisons.

tl;dr: 1.2.x is about 30% slower and 1.2.x-filipe is about 30% faster than 
1.1.1 in the scenario above.


# Conclusion

+1 to include Filipe's patch into 1.2.x.



I'd love any feedback on methods, calculations and whatnot :)

Also, I can run more variations, if you like, other Erlang or SpiderMokney 
versions e.g., just let me know.


Cheers
Jan
-- 

On Feb 28, 2012, at 14:17 , Jason Smith wrote:

> Forgive the clean new thread. Hopefully it will not remain so.
> 
> If you can, would you please clone https://github.com/jhs/slow_couchdb
> 
> And build whatever Erlangs and CouchDB checkouts you see fit, and run
> the test. For example:
> 
>docs=50 ./bench.sh small_doc.tpl
> 
> That should run the test and, God willing, upload the results to a
> couch in the cloud. We should be able to use that information to
> identify who you are, whether you are on SSD, what Erlang and Couch
> build, and how fast it ran. Modulo bugs.



Re: Please report your indexing speed

2012-03-03 Thread Bob Dionne
I ran some tests, using Bob's latest script. The first versus the second 
clearly show the regression. The third is the 1.2.x with the patch
to couch_os_process reverted and it seems to have no impact. The last has 
Filipe's latest patch to couch_view_updater discussed in the
other thread and it brings the performance back to the 1.1.x level.

I'd say that patch is a +1

1.2.x
real3m3.093s
user0m0.028s
sys 0m0.008s
==
1.1.x
real2m16.609s
user0m0.026s
sys 0m0.007s
=
1.2.x with patch to couch_os_process reverted
real3m7.012s
user0m0.029s
sys 0m0.008s
=
1.2.x with Filipe's katest patch to couch_view_updater
real2m11.038s
user0m0.028s
sys 0m0.007s
On Feb 28, 2012, at 8:17 AM, Jason Smith wrote:

> Forgive the clean new thread. Hopefully it will not remain so.
> 
> If you can, would you please clone https://github.com/jhs/slow_couchdb
> 
> And build whatever Erlangs and CouchDB checkouts you see fit, and run
> the test. For example:
> 
>docs=50 ./bench.sh small_doc.tpl
> 
> That should run the test and, God willing, upload the results to a
> couch in the cloud. We should be able to use that information to
> identify who you are, whether you are on SSD, what Erlang and Couch
> build, and how fast it ran. Modulo bugs.



Re: Please report your indexing speed

2012-03-02 Thread Dave Cottlehuber
# localhost, mac with vmware fusion internal network to windows 7 vm
Disk: /dev/disk0
   Device / Media Name:  APPLE SSD TS128C Media
   Solid State:  Yes
dave@akai slow_couchdb % ./bench.sh small_doc.tpl

Testing 5 of small_doc.tpl in batches of 1
all with js 1.8.5, I can compare 1.8.0 if interested.

Server: CouchDB/1.1.1 (Erlang OTP/R14B03)
real0m13.800s
user0m0.006s
sys 0m0.003s

Server: CouchDB/1.2.0 (Erlang OTP/R14B04)
real0m19.185s
user0m0.006s
sys 0m0.003s

Server: CouchDB/1.2.0 (Erlang OTP/R15B)
Date: Thu, 01 Mar 2012 12:50:47 GMT
real0m18.428s
user0m0.006s
sys 0m0.003s

Should get spinning disk (on a 2006 iMac) over the weekend with luck.

Is there a jira for this investigation?

A+
Dave


Re: Please report your indexing speed

2012-03-01 Thread Wendall Cada

Here are my 1.1.1 results on the same hardware/kernel/spidermonkey:

{"couchdb":"Welcome","version":"1.1.1"}
real0m32.029s
user0m0.000s
sys 0m0.006s

Wendall

On 02/29/2012 01:30 PM, Robert Newson wrote:

Benoit, could you run the 1.7.0 test for longer? Say, double the size
of BULK_COUNT?

Wendall, that's a useful new data point. Any chance you could compare
1.1.1 with 1.2 so we can line it up with the other results?

B.

On 29 February 2012 19:40, Wendall Cada  wrote:

I'm using the bash script provided by Robert Newson.

Linux version 3.2.7-1.fc16.i686.PAE
(mockbu...@x86-16.phx2.fedoraproject.org) (gcc version 4.6.2 20111027 (Red
Hat 4.6.2-1) (GCC) )
spidermonkey 1.8.5
i686

{"couchdb":"Welcome","version":"1.0.3"} (from stock fedora rpm Release:
2.fc16)
real0m35.652s
user0m0.001s
sys 0m0.006s

{"couchdb":"Welcome","version":"1.2.0"} git 4cd60f3d1683
real0m20.134s
user0m0.002s
sys 0m0.004s

Wendall


On 02/28/2012 05:17 AM, Jason Smith wrote:

Forgive the clean new thread. Hopefully it will not remain so.

If you can, would you please clone https://github.com/jhs/slow_couchdb

And build whatever Erlangs and CouchDB checkouts you see fit, and run
the test. For example:

 docs=50 ./bench.sh small_doc.tpl

That should run the test and, God willing, upload the results to a
couch in the cloud. We should be able to use that information to
identify who you are, whether you are on SSD, what Erlang and Couch
build, and how fast it ran. Modulo bugs.






Re: Please report your indexing speed

2012-02-29 Thread Robert Newson
Benoit, could you run the 1.7.0 test for longer? Say, double the size
of BULK_COUNT?

Wendall, that's a useful new data point. Any chance you could compare
1.1.1 with 1.2 so we can line it up with the other results?

B.

On 29 February 2012 19:40, Wendall Cada  wrote:
> I'm using the bash script provided by Robert Newson.
>
> Linux version 3.2.7-1.fc16.i686.PAE
> (mockbu...@x86-16.phx2.fedoraproject.org) (gcc version 4.6.2 20111027 (Red
> Hat 4.6.2-1) (GCC) )
> spidermonkey 1.8.5
> i686
>
> {"couchdb":"Welcome","version":"1.0.3"} (from stock fedora rpm Release:
> 2.fc16)
> real    0m35.652s
> user    0m0.001s
> sys     0m0.006s
>
> {"couchdb":"Welcome","version":"1.2.0"} git 4cd60f3d1683
> real    0m20.134s
> user    0m0.002s
> sys     0m0.004s
>
> Wendall
>
>
> On 02/28/2012 05:17 AM, Jason Smith wrote:
>>
>> Forgive the clean new thread. Hopefully it will not remain so.
>>
>> If you can, would you please clone https://github.com/jhs/slow_couchdb
>>
>> And build whatever Erlangs and CouchDB checkouts you see fit, and run
>> the test. For example:
>>
>>     docs=50 ./bench.sh small_doc.tpl
>>
>> That should run the test and, God willing, upload the results to a
>> couch in the cloud. We should be able to use that information to
>> identify who you are, whether you are on SSD, what Erlang and Couch
>> build, and how fast it ran. Modulo bugs.
>
>


Re: Please report your indexing speed

2012-02-29 Thread Wendall Cada

I'm using the bash script provided by Robert Newson.

Linux version 3.2.7-1.fc16.i686.PAE 
(mockbu...@x86-16.phx2.fedoraproject.org) (gcc version 4.6.2 20111027 
(Red Hat 4.6.2-1) (GCC) )

spidermonkey 1.8.5
i686

{"couchdb":"Welcome","version":"1.0.3"} (from stock fedora rpm Release: 
2.fc16)

real0m35.652s
user0m0.001s
sys 0m0.006s

{"couchdb":"Welcome","version":"1.2.0"} git 4cd60f3d1683
real0m20.134s
user0m0.002s
sys 0m0.004s

Wendall

On 02/28/2012 05:17 AM, Jason Smith wrote:

Forgive the clean new thread. Hopefully it will not remain so.

If you can, would you please clone https://github.com/jhs/slow_couchdb

And build whatever Erlangs and CouchDB checkouts you see fit, and run
the test. For example:

 docs=50 ./bench.sh small_doc.tpl

That should run the test and, God willing, upload the results to a
couch in the cloud. We should be able to use that information to
identify who you are, whether you are on SSD, what Erlang and Couch
build, and how fast it ran. Modulo bugs.




Re: Please report your indexing speed

2012-02-29 Thread Benoit Chesneau
On Wed, Feb 29, 2012 at 6:25 PM, Benoit Chesneau  wrote:
> On Wed, Feb 29, 2012 at 6:07 PM, Benoit Chesneau  wrote:
>> On Wed, Feb 29, 2012 at 5:53 PM, Benoit Chesneau  wrote:
>>> On Wed, Feb 29, 2012 at 4:03 PM, Robert Newson  wrote:
 I've produced a new script that reproduces the view regression. I
 apologize in advance for exposing my awful Bash scripting abilities
 (also my inability to write "pure" shell. Your "Bashism" is my "it
 works").

 I get 0m56.521s for 1.1.x and 1m17.108s for 1.2.x. That is, 1.1.x
 complete the same task in only 72% of the time that 1.2.x takes.

 http://friendpaste.com/UI1OcECLEzR6i4D75LqQy

>>>
>>> hrm with the same script:
>>>
>>> 1.2.0 :
>>> real    0m23.842s
>>> user    0m0.007s
>>> sys     0m0.004s
>>>
>>> 1.1.1:
>>> real    0m28.625s
>>> user    0m0.008s
>>> sys     0m0.005s
>>>
>>> hw specs :
>>> $ uname -a
>>> Darwin enki.local 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12
>>> 18:47:41 PST 2012; root:xnu-1699.24.23~1/RELEASE_X86_64 x86_64
>>> mba 2011:  i7  4 GB SSD 256 GB
>>>
>>>
>>> - benoît
>>
>> Just for my curiosity I tested it in the  couchdb based distribution I
>> maintain (head, last mochiweb + jiffy) :
>>
>>
>> real    0m19.539s
>> user    0m0.007s
>> sys     0m0.005s
>> done
>
> I launched the tests a second time and same results:
>
> 1.1.1 :
> real    0m29.155s
> user    0m0.009s
> sys     0m0.006s
>
> 1.2.0 :
>
> real    0m25.466s
> user    0m0.008s
> sys     0m0.005s

tested with 10 docs :

1.1.1:

real1m2.352s
user0m0.007s
sys 0m0.013s

1.2.0:

real0m52.005s
user0m0.009s
sys 0m0.008s


All previous tests were with 1.8.5 . With 1.7.0 on 5 docs:

1.1.1:

real2m3.828s
user0m0.009s
sys 0m0.011s


1.2.0:

real2m49.243s
user0m0.009s
sys 0m0.011s


- benoît


Re: Please report your indexing speed

2012-02-29 Thread Jan Lehnardt

On Feb 29, 2012, at 18:44 , Jan Lehnardt wrote:

> 
> On Feb 29, 2012, at 18:42 , Robert Newson wrote:
> 
>> My new test again;
>> 
>> Filling db.
>> done
>> server is;
>> {"couchdb":"Welcome","version":"1.1.2a785d32f-git"}
>> Building views.
>> 
>> real 0m24.973s
>> user 0m0.006s
>> sys  0m0.004s
>> done
>> ~/Source/sandbox $ ./bench.sh
>> Filling db.
>> done
>> server is;
>> {"couchdb":"Welcome","version":"1.2.0"}
>> Building views.
>> 
>> real 0m21.925s
>> user 0m0.006s
>> sys  0m0.003s
>> done
>> 
>> Important Note: The builds that show *regression* were all using
>> SpiderMonkey 1.7.0. The tests above were 1.8.5. I think that's
>> significant. Can other people who saw regressions report their
>> spidermonkey version?
> 
> 
> Good observation!
> 
> Except for the linux VPS one that had 1.8.0, all previous reports have been
> on 1.8.5.

On the Mac from earlier, using 1.7.0 via homebrew:

1.1.1: 0m54.203s
1.2.x: 0m55.639s

Cheers
Jan
-- 


> 
> Cheers
> Jan
> -- 
> 
>> 
>> B.
>> 
>> On 29 February 2012 17:25, Benoit Chesneau  wrote:
>>> On Wed, Feb 29, 2012 at 6:07 PM, Benoit Chesneau  
>>> wrote:
 On Wed, Feb 29, 2012 at 5:53 PM, Benoit Chesneau  
 wrote:
> On Wed, Feb 29, 2012 at 4:03 PM, Robert Newson  wrote:
>> I've produced a new script that reproduces the view regression. I
>> apologize in advance for exposing my awful Bash scripting abilities
>> (also my inability to write "pure" shell. Your "Bashism" is my "it
>> works").
>> 
>> I get 0m56.521s for 1.1.x and 1m17.108s for 1.2.x. That is, 1.1.x
>> complete the same task in only 72% of the time that 1.2.x takes.
>> 
>> http://friendpaste.com/UI1OcECLEzR6i4D75LqQy
>> 
> 
> hrm with the same script:
> 
> 1.2.0 :
> real0m23.842s
> user0m0.007s
> sys 0m0.004s
> 
> 1.1.1:
> real0m28.625s
> user0m0.008s
> sys 0m0.005s
> 
> hw specs :
> $ uname -a
> Darwin enki.local 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12
> 18:47:41 PST 2012; root:xnu-1699.24.23~1/RELEASE_X86_64 x86_64
> mba 2011:  i7  4 GB SSD 256 GB
> 
> 
> - benoît
 
 Just for my curiosity I tested it in the  couchdb based distribution I
 maintain (head, last mochiweb + jiffy) :
 
 
 real0m19.539s
 user0m0.007s
 sys 0m0.005s
 done
>>> 
>>> I launched the tests a second time and same results:
>>> 
>>> 1.1.1 :
>>> real0m29.155s
>>> user0m0.009s
>>> sys 0m0.006s
>>> 
>>> 1.2.0 :
>>> 
>>> real0m25.466s
>>> user0m0.008s
>>> sys 0m0.005s
> 



Re: Please report your indexing speed

2012-02-29 Thread Jan Lehnardt

On Feb 29, 2012, at 18:42 , Robert Newson wrote:

> My new test again;
> 
> Filling db.
> done
> server is;
> {"couchdb":"Welcome","version":"1.1.2a785d32f-git"}
> Building views.
> 
> real  0m24.973s
> user  0m0.006s
> sys   0m0.004s
> done
> ~/Source/sandbox $ ./bench.sh
> Filling db.
> done
> server is;
> {"couchdb":"Welcome","version":"1.2.0"}
> Building views.
> 
> real  0m21.925s
> user  0m0.006s
> sys   0m0.003s
> done
> 
> Important Note: The builds that show *regression* were all using
> SpiderMonkey 1.7.0. The tests above were 1.8.5. I think that's
> significant. Can other people who saw regressions report their
> spidermonkey version?


Good observation!

Except for the linux VPS one that had 1.8.0, all previous reports have been
on 1.8.5.

Cheers
Jan
-- 

> 
> B.
> 
> On 29 February 2012 17:25, Benoit Chesneau  wrote:
>> On Wed, Feb 29, 2012 at 6:07 PM, Benoit Chesneau  wrote:
>>> On Wed, Feb 29, 2012 at 5:53 PM, Benoit Chesneau  
>>> wrote:
 On Wed, Feb 29, 2012 at 4:03 PM, Robert Newson  wrote:
> I've produced a new script that reproduces the view regression. I
> apologize in advance for exposing my awful Bash scripting abilities
> (also my inability to write "pure" shell. Your "Bashism" is my "it
> works").
> 
> I get 0m56.521s for 1.1.x and 1m17.108s for 1.2.x. That is, 1.1.x
> complete the same task in only 72% of the time that 1.2.x takes.
> 
> http://friendpaste.com/UI1OcECLEzR6i4D75LqQy
> 
 
 hrm with the same script:
 
 1.2.0 :
 real0m23.842s
 user0m0.007s
 sys 0m0.004s
 
 1.1.1:
 real0m28.625s
 user0m0.008s
 sys 0m0.005s
 
 hw specs :
 $ uname -a
 Darwin enki.local 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12
 18:47:41 PST 2012; root:xnu-1699.24.23~1/RELEASE_X86_64 x86_64
 mba 2011:  i7  4 GB SSD 256 GB
 
 
 - benoît
>>> 
>>> Just for my curiosity I tested it in the  couchdb based distribution I
>>> maintain (head, last mochiweb + jiffy) :
>>> 
>>> 
>>> real0m19.539s
>>> user0m0.007s
>>> sys 0m0.005s
>>> done
>> 
>> I launched the tests a second time and same results:
>> 
>> 1.1.1 :
>> real0m29.155s
>> user0m0.009s
>> sys 0m0.006s
>> 
>> 1.2.0 :
>> 
>> real0m25.466s
>> user0m0.008s
>> sys 0m0.005s



Re: Please report your indexing speed

2012-02-29 Thread Jan Lehnardt
And one more on a Linux Ubuntu VPS, spinning disk dual core cpu: 

1.1.1: 0m54.721s
1.2.x: 0m40.356s

(SpiderMonkey 1.8.0)


On Feb 29, 2012, at 18:25 , Benoit Chesneau wrote:

> On Wed, Feb 29, 2012 at 6:07 PM, Benoit Chesneau  wrote:
>> On Wed, Feb 29, 2012 at 5:53 PM, Benoit Chesneau  wrote:
>>> On Wed, Feb 29, 2012 at 4:03 PM, Robert Newson  wrote:
 I've produced a new script that reproduces the view regression. I
 apologize in advance for exposing my awful Bash scripting abilities
 (also my inability to write "pure" shell. Your "Bashism" is my "it
 works").
 
 I get 0m56.521s for 1.1.x and 1m17.108s for 1.2.x. That is, 1.1.x
 complete the same task in only 72% of the time that 1.2.x takes.
 
 http://friendpaste.com/UI1OcECLEzR6i4D75LqQy
 
>>> 
>>> hrm with the same script:
>>> 
>>> 1.2.0 :
>>> real0m23.842s
>>> user0m0.007s
>>> sys 0m0.004s
>>> 
>>> 1.1.1:
>>> real0m28.625s
>>> user0m0.008s
>>> sys 0m0.005s
>>> 
>>> hw specs :
>>> $ uname -a
>>> Darwin enki.local 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12
>>> 18:47:41 PST 2012; root:xnu-1699.24.23~1/RELEASE_X86_64 x86_64
>>> mba 2011:  i7  4 GB SSD 256 GB
>>> 
>>> 
>>> - benoît
>> 
>> Just for my curiosity I tested it in the  couchdb based distribution I
>> maintain (head, last mochiweb + jiffy) :
>> 
>> 
>> real0m19.539s
>> user0m0.007s
>> sys 0m0.005s
>> done
> 
> I launched the tests a second time and same results:
> 
> 1.1.1 :
> real  0m29.155s
> user  0m0.009s
> sys   0m0.006s
> 
> 1.2.0 :
> 
> real  0m25.466s
> user  0m0.008s
> sys   0m0.005s



Re: Please report your indexing speed

2012-02-29 Thread Robert Newson
My new test again;

Filling db.
done
server is;
{"couchdb":"Welcome","version":"1.1.2a785d32f-git"}
Building views.

real0m24.973s
user0m0.006s
sys 0m0.004s
done
~/Source/sandbox $ ./bench.sh
Filling db.
done
server is;
{"couchdb":"Welcome","version":"1.2.0"}
Building views.

real0m21.925s
user0m0.006s
sys 0m0.003s
done

Important Note: The builds that show *regression* were all using
SpiderMonkey 1.7.0. The tests above were 1.8.5. I think that's
significant. Can other people who saw regressions report their
spidermonkey version?

B.

On 29 February 2012 17:25, Benoit Chesneau  wrote:
> On Wed, Feb 29, 2012 at 6:07 PM, Benoit Chesneau  wrote:
>> On Wed, Feb 29, 2012 at 5:53 PM, Benoit Chesneau  wrote:
>>> On Wed, Feb 29, 2012 at 4:03 PM, Robert Newson  wrote:
 I've produced a new script that reproduces the view regression. I
 apologize in advance for exposing my awful Bash scripting abilities
 (also my inability to write "pure" shell. Your "Bashism" is my "it
 works").

 I get 0m56.521s for 1.1.x and 1m17.108s for 1.2.x. That is, 1.1.x
 complete the same task in only 72% of the time that 1.2.x takes.

 http://friendpaste.com/UI1OcECLEzR6i4D75LqQy

>>>
>>> hrm with the same script:
>>>
>>> 1.2.0 :
>>> real    0m23.842s
>>> user    0m0.007s
>>> sys     0m0.004s
>>>
>>> 1.1.1:
>>> real    0m28.625s
>>> user    0m0.008s
>>> sys     0m0.005s
>>>
>>> hw specs :
>>> $ uname -a
>>> Darwin enki.local 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12
>>> 18:47:41 PST 2012; root:xnu-1699.24.23~1/RELEASE_X86_64 x86_64
>>> mba 2011:  i7  4 GB SSD 256 GB
>>>
>>>
>>> - benoît
>>
>> Just for my curiosity I tested it in the  couchdb based distribution I
>> maintain (head, last mochiweb + jiffy) :
>>
>>
>> real    0m19.539s
>> user    0m0.007s
>> sys     0m0.005s
>> done
>
> I launched the tests a second time and same results:
>
> 1.1.1 :
> real    0m29.155s
> user    0m0.009s
> sys     0m0.006s
>
> 1.2.0 :
>
> real    0m25.466s
> user    0m0.008s
> sys     0m0.005s


Re: Please report your indexing speed

2012-02-29 Thread Benoit Chesneau
On Wed, Feb 29, 2012 at 6:07 PM, Benoit Chesneau  wrote:
> On Wed, Feb 29, 2012 at 5:53 PM, Benoit Chesneau  wrote:
>> On Wed, Feb 29, 2012 at 4:03 PM, Robert Newson  wrote:
>>> I've produced a new script that reproduces the view regression. I
>>> apologize in advance for exposing my awful Bash scripting abilities
>>> (also my inability to write "pure" shell. Your "Bashism" is my "it
>>> works").
>>>
>>> I get 0m56.521s for 1.1.x and 1m17.108s for 1.2.x. That is, 1.1.x
>>> complete the same task in only 72% of the time that 1.2.x takes.
>>>
>>> http://friendpaste.com/UI1OcECLEzR6i4D75LqQy
>>>
>>
>> hrm with the same script:
>>
>> 1.2.0 :
>> real    0m23.842s
>> user    0m0.007s
>> sys     0m0.004s
>>
>> 1.1.1:
>> real    0m28.625s
>> user    0m0.008s
>> sys     0m0.005s
>>
>> hw specs :
>> $ uname -a
>> Darwin enki.local 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12
>> 18:47:41 PST 2012; root:xnu-1699.24.23~1/RELEASE_X86_64 x86_64
>> mba 2011:  i7  4 GB SSD 256 GB
>>
>>
>> - benoît
>
> Just for my curiosity I tested it in the  couchdb based distribution I
> maintain (head, last mochiweb + jiffy) :
>
>
> real    0m19.539s
> user    0m0.007s
> sys     0m0.005s
> done

I launched the tests a second time and same results:

1.1.1 :
real0m29.155s
user0m0.009s
sys 0m0.006s

1.2.0 :

real0m25.466s
user0m0.008s
sys 0m0.005s


Re: Please report your indexing speed

2012-02-29 Thread Jan Lehnardt
Mac OS X 10.7.3, 2.6Ghz i7 (2x2 cores), R14B04

SSD:
1.1.1: 0m31.337s
1.2.x: 0m21.229s

Spinning disk, 5400rpm:
1.1.1: 0m32.807s
1.2.x: 0m21.172s

Cheers
Jan
-- 




On Feb 29, 2012, at 16:03 , Robert Newson wrote:

> I've produced a new script that reproduces the view regression. I
> apologize in advance for exposing my awful Bash scripting abilities
> (also my inability to write "pure" shell. Your "Bashism" is my "it
> works").
> 
> I get 0m56.521s for 1.1.x and 1m17.108s for 1.2.x. That is, 1.1.x
> complete the same task in only 72% of the time that 1.2.x takes.
> 
> http://friendpaste.com/UI1OcECLEzR6i4D75LqQy
> 
> It would be very useful if others could reproduce (or contradict!) this 
> finding.
> 
> B.
> 
> On 29 February 2012 00:56, Jan Lehnardt  wrote:
>> One more report.
>> 
>> I got suspicious of the rather short runtimes, so I picked the
>> default_doc and ran it at 500k:
>> 
>> bench_R14B04_1.1.1_default_doc.tpl.log 2m19.139s
>> bench_R14B04_1.2.x_default_doc.tpl.log 2m18.875s
>> 
>> It seems to me that we need more variation in what we test,
>> more OSs, larger ddocs, like the one Stefan linked to. Can
>> anyone help providing this?
>> 
>> Cheers
>> Jan
>> --
>> 
>> 
>> On Feb 29, 2012, at 00:23 , Jan Lehnardt wrote:
>> 
>>> For Robert Newson, avoiding bulk inserts to populate the dbs:
>>> 
>>> bench_R14B04_1.1.1_default_doc.tpl.log 0m19.692s
>>> bench_R14B04_1.2.x_default_doc.tpl.log 0m17.033s
>>> 
>>> bench_R14B04_1.1.1_nested_6k.tpl.log   1m31.393s
>>> bench_R14B04_1.2.x_nested_6k.tpl.log   0m42.010s
>>> 
>>> bench_R14B04_1.1.1_small_doc.tpl.log   0m8.103s
>>> bench_R14B04_1.2.x_small_doc.tpl.log   0m10.597s
>>> 
>>> bench_R14B04_1.1.1_wow.tpl.log 0m33.944s
>>> bench_R14B04_1.2.x_wow.tpl.log 0m27.087s
>>> 
>>> (Just R14B04, full logs available on demand)
>>> 
>>> Cheers
>>> Jan
>>> --
>>> 
>>> 
>>> On Feb 28, 2012, at 23:09 , Jan Lehnardt wrote:
>>> 
 Same story, but spinning disk, 5400rpm:
 
 bench_R14B04_1.1.1_default_doc.tpl.log 0m19.175s
 bench_R14B04_1.2.x_default_doc.tpl.log 0m16.821s
 bench_R15B_1.1.1_default_doc.tpl.log   0m13.050s
 bench_R15B_1.2.x_default_doc.tpl.log   0m13.292s
 
 bench_R14B04_1.1.1_nested_6k.tpl.log   1m26.941s
 bench_R14B04_1.2.x_nested_6k.tpl.log   0m39.178s
 bench_R15B_1.1.1_nested_6k.tpl.log 0m47.766s
 bench_R15B_1.2.x_nested_6k.tpl.log 0m31.697s
 
 bench_R14B04_1.1.1_small_doc.tpl.log   1m19.851s
 bench_R14B04_1.2.x_small_doc.tpl.log   1m43.057s
 bench_R15B_1.1.1_small_doc.tpl.log 0m52.249s
 bench_R15B_1.2.x_small_doc.tpl.log 1m8.195s
 
 bench_R14B04_1.1.1_wow.tpl.log 0m29.589s
 bench_R14B04_1.2.x_wow.tpl.log 0m24.867s
 bench_R15B_1.1.1_wow.tpl.log   0m20.171s
 bench_R15B_1.2.x_wow.tpl.log   0m18.800s
 
 Full logs at http://jan.prima.de/slow_couch/rust/
 
 Cheers
 Jan
 --
 
 
 On Feb 28, 2012, at 21:22 , Jan Lehnardt wrote:
 
> 
> # tl;dr:
> 
> bench_R14B04_1.1.1_default_doc.tpl.log 0m18.749s
> bench_R14B04_1.2.x_default_doc.tpl.log 0m16.304s
> bench_R15B_1.1.1_default_doc.tpl.log   0m12.946s
> bench_R15B_1.2.x_default_doc.tpl.log   0m13.616s
> 
> bench_R14B04_1.1.1_nested_6k.tpl.log   1m27.267s
> bench_R14B04_1.2.x_nested_6k.tpl.log   0m37.910s
> bench_R15B_1.1.1_nested_6k.tpl.log 0m46.963s
> bench_R15B_1.2.x_nested_6k.tpl.log 0m33.011s
> 
> bench_R14B04_1.1.1_small_doc.tpl.log   1m17.212s
> bench_R14B04_1.2.x_small_doc.tpl.log   1m41.383s
> bench_R15B_1.1.1_small_doc.tpl.log 0m52.858s
> bench_R15B_1.2.x_small_doc.tpl.log 1m9.043s
> 
> bench_R14B04_1.1.1_wow.tpl.log 0m29.842s
> bench_R14B04_1.2.x_wow.tpl.log 0m24.178s
> bench_R15B_1.1.1_wow.tpl.log   0m20.493s
> bench_R15B_1.2.x_wow.tpl.log   0m19.584s
> 
> (Full logs at [5])
> 
> 
> # Description
> 
> All of these are on Mac OS X 10.7.3 on an SSD.
> 
> I'll be running the same set on spinning disk and then Robert N asked
> me to populate the DBs not using builk docs. Since that's gonna take
> a while, I'll probably run this overnight.
> 
> All of the results are generated by my fork of Jason's slow_couchdb[1]
> and Filipe's seatoncouch[2].
> 
> The changes I've made is have the small_doc test run with 500k instead
> of 50k docs, added .view files to match the tpl files in
> seatoncouch/templates/* so we can have similar views use the different
> doc structures.
> 
> I also added two scripts to orchestrate the above testing in a more
> automated fashion. It also allows you to run the full matrix yourself.
> All you need is set up ho

Re: Please report your indexing speed

2012-02-29 Thread Benoit Chesneau
On Wed, Feb 29, 2012 at 5:53 PM, Benoit Chesneau  wrote:
> On Wed, Feb 29, 2012 at 4:03 PM, Robert Newson  wrote:
>> I've produced a new script that reproduces the view regression. I
>> apologize in advance for exposing my awful Bash scripting abilities
>> (also my inability to write "pure" shell. Your "Bashism" is my "it
>> works").
>>
>> I get 0m56.521s for 1.1.x and 1m17.108s for 1.2.x. That is, 1.1.x
>> complete the same task in only 72% of the time that 1.2.x takes.
>>
>> http://friendpaste.com/UI1OcECLEzR6i4D75LqQy
>>
>
> hrm with the same script:
>
> 1.2.0 :
> real    0m23.842s
> user    0m0.007s
> sys     0m0.004s
>
> 1.1.1:
> real    0m28.625s
> user    0m0.008s
> sys     0m0.005s
>
> hw specs :
> $ uname -a
> Darwin enki.local 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12
> 18:47:41 PST 2012; root:xnu-1699.24.23~1/RELEASE_X86_64 x86_64
> mba 2011:  i7  4 GB SSD 256 GB
>
>
> - benoît

Just for my curiosity I tested it in the  couchdb based distribution I
maintain (head, last mochiweb + jiffy) :


real0m19.539s
user0m0.007s
sys 0m0.005s
done


Re: Please report your indexing speed

2012-02-29 Thread Robert Newson
That same time but for 10x doc count;

1.1.x: 10m3.734s
1.2.x: 14m17.877s

My machine is a Macbook Air 1.7 GHz Intel Core i5 with 4 GB 1333 MHz
DDR3 running OS X 10.7.3.

On 29 February 2012 15:03, Robert Newson  wrote:
> I've produced a new script that reproduces the view regression. I
> apologize in advance for exposing my awful Bash scripting abilities
> (also my inability to write "pure" shell. Your "Bashism" is my "it
> works").
>
> I get 0m56.521s for 1.1.x and 1m17.108s for 1.2.x. That is, 1.1.x
> complete the same task in only 72% of the time that 1.2.x takes.
>
> http://friendpaste.com/UI1OcECLEzR6i4D75LqQy
>
> It would be very useful if others could reproduce (or contradict!) this 
> finding.
>
> B.
>
> On 29 February 2012 00:56, Jan Lehnardt  wrote:
>> One more report.
>>
>> I got suspicious of the rather short runtimes, so I picked the
>> default_doc and ran it at 500k:
>>
>> bench_R14B04_1.1.1_default_doc.tpl.log     2m19.139s
>> bench_R14B04_1.2.x_default_doc.tpl.log     2m18.875s
>>
>> It seems to me that we need more variation in what we test,
>> more OSs, larger ddocs, like the one Stefan linked to. Can
>> anyone help providing this?
>>
>> Cheers
>> Jan
>> --
>>
>>
>> On Feb 29, 2012, at 00:23 , Jan Lehnardt wrote:
>>
>>> For Robert Newson, avoiding bulk inserts to populate the dbs:
>>>
>>> bench_R14B04_1.1.1_default_doc.tpl.log     0m19.692s
>>> bench_R14B04_1.2.x_default_doc.tpl.log     0m17.033s
>>>
>>> bench_R14B04_1.1.1_nested_6k.tpl.log       1m31.393s
>>> bench_R14B04_1.2.x_nested_6k.tpl.log       0m42.010s
>>>
>>> bench_R14B04_1.1.1_small_doc.tpl.log       0m8.103s
>>> bench_R14B04_1.2.x_small_doc.tpl.log       0m10.597s
>>>
>>> bench_R14B04_1.1.1_wow.tpl.log             0m33.944s
>>> bench_R14B04_1.2.x_wow.tpl.log             0m27.087s
>>>
>>> (Just R14B04, full logs available on demand)
>>>
>>> Cheers
>>> Jan
>>> --
>>>
>>>
>>> On Feb 28, 2012, at 23:09 , Jan Lehnardt wrote:
>>>
 Same story, but spinning disk, 5400rpm:

 bench_R14B04_1.1.1_default_doc.tpl.log     0m19.175s
 bench_R14B04_1.2.x_default_doc.tpl.log     0m16.821s
 bench_R15B_1.1.1_default_doc.tpl.log       0m13.050s
 bench_R15B_1.2.x_default_doc.tpl.log       0m13.292s

 bench_R14B04_1.1.1_nested_6k.tpl.log       1m26.941s
 bench_R14B04_1.2.x_nested_6k.tpl.log       0m39.178s
 bench_R15B_1.1.1_nested_6k.tpl.log         0m47.766s
 bench_R15B_1.2.x_nested_6k.tpl.log         0m31.697s

 bench_R14B04_1.1.1_small_doc.tpl.log       1m19.851s
 bench_R14B04_1.2.x_small_doc.tpl.log       1m43.057s
 bench_R15B_1.1.1_small_doc.tpl.log         0m52.249s
 bench_R15B_1.2.x_small_doc.tpl.log         1m8.195s

 bench_R14B04_1.1.1_wow.tpl.log             0m29.589s
 bench_R14B04_1.2.x_wow.tpl.log             0m24.867s
 bench_R15B_1.1.1_wow.tpl.log               0m20.171s
 bench_R15B_1.2.x_wow.tpl.log               0m18.800s

 Full logs at http://jan.prima.de/slow_couch/rust/

 Cheers
 Jan
 --


 On Feb 28, 2012, at 21:22 , Jan Lehnardt wrote:

>
> # tl;dr:
>
> bench_R14B04_1.1.1_default_doc.tpl.log     0m18.749s
> bench_R14B04_1.2.x_default_doc.tpl.log     0m16.304s
> bench_R15B_1.1.1_default_doc.tpl.log       0m12.946s
> bench_R15B_1.2.x_default_doc.tpl.log       0m13.616s
>
> bench_R14B04_1.1.1_nested_6k.tpl.log       1m27.267s
> bench_R14B04_1.2.x_nested_6k.tpl.log       0m37.910s
> bench_R15B_1.1.1_nested_6k.tpl.log         0m46.963s
> bench_R15B_1.2.x_nested_6k.tpl.log         0m33.011s
>
> bench_R14B04_1.1.1_small_doc.tpl.log       1m17.212s
> bench_R14B04_1.2.x_small_doc.tpl.log       1m41.383s
> bench_R15B_1.1.1_small_doc.tpl.log         0m52.858s
> bench_R15B_1.2.x_small_doc.tpl.log         1m9.043s
>
> bench_R14B04_1.1.1_wow.tpl.log             0m29.842s
> bench_R14B04_1.2.x_wow.tpl.log             0m24.178s
> bench_R15B_1.1.1_wow.tpl.log               0m20.493s
> bench_R15B_1.2.x_wow.tpl.log               0m19.584s
>
> (Full logs at [5])
>
>
> # Description
>
> All of these are on Mac OS X 10.7.3 on an SSD.
>
> I'll be running the same set on spinning disk and then Robert N asked
> me to populate the DBs not using builk docs. Since that's gonna take
> a while, I'll probably run this overnight.
>
> All of the results are generated by my fork of Jason's slow_couchdb[1]
> and Filipe's seatoncouch[2].
>
> The changes I've made is have the small_doc test run with 500k instead
> of 50k docs, added .view files to match the tpl files in
> seatoncouch/templates/* so we can have similar views use the different
> doc structures.
>
> I also added two scripts to orchestrate the above testing in a more
> automated fashion. It also allows you to run the full matrix yourself.
> All you need is set up homebrew allow `brew switch erlang R14B04

Re: Please report your indexing speed

2012-02-29 Thread Benoit Chesneau
On Wed, Feb 29, 2012 at 4:03 PM, Robert Newson  wrote:
> I've produced a new script that reproduces the view regression. I
> apologize in advance for exposing my awful Bash scripting abilities
> (also my inability to write "pure" shell. Your "Bashism" is my "it
> works").
>
> I get 0m56.521s for 1.1.x and 1m17.108s for 1.2.x. That is, 1.1.x
> complete the same task in only 72% of the time that 1.2.x takes.
>
> http://friendpaste.com/UI1OcECLEzR6i4D75LqQy
>

hrm with the same script:

1.2.0 :
real0m23.842s
user0m0.007s
sys 0m0.004s

1.1.1:
real0m28.625s
user0m0.008s
sys 0m0.005s

hw specs :
$ uname -a
Darwin enki.local 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12
18:47:41 PST 2012; root:xnu-1699.24.23~1/RELEASE_X86_64 x86_64
mba 2011:  i7  4 GB SSD 256 GB


- benoît


Re: Please report your indexing speed

2012-02-29 Thread Robert Newson
I've produced a new script that reproduces the view regression. I
apologize in advance for exposing my awful Bash scripting abilities
(also my inability to write "pure" shell. Your "Bashism" is my "it
works").

I get 0m56.521s for 1.1.x and 1m17.108s for 1.2.x. That is, 1.1.x
complete the same task in only 72% of the time that 1.2.x takes.

http://friendpaste.com/UI1OcECLEzR6i4D75LqQy

It would be very useful if others could reproduce (or contradict!) this finding.

B.

On 29 February 2012 00:56, Jan Lehnardt  wrote:
> One more report.
>
> I got suspicious of the rather short runtimes, so I picked the
> default_doc and ran it at 500k:
>
> bench_R14B04_1.1.1_default_doc.tpl.log     2m19.139s
> bench_R14B04_1.2.x_default_doc.tpl.log     2m18.875s
>
> It seems to me that we need more variation in what we test,
> more OSs, larger ddocs, like the one Stefan linked to. Can
> anyone help providing this?
>
> Cheers
> Jan
> --
>
>
> On Feb 29, 2012, at 00:23 , Jan Lehnardt wrote:
>
>> For Robert Newson, avoiding bulk inserts to populate the dbs:
>>
>> bench_R14B04_1.1.1_default_doc.tpl.log     0m19.692s
>> bench_R14B04_1.2.x_default_doc.tpl.log     0m17.033s
>>
>> bench_R14B04_1.1.1_nested_6k.tpl.log       1m31.393s
>> bench_R14B04_1.2.x_nested_6k.tpl.log       0m42.010s
>>
>> bench_R14B04_1.1.1_small_doc.tpl.log       0m8.103s
>> bench_R14B04_1.2.x_small_doc.tpl.log       0m10.597s
>>
>> bench_R14B04_1.1.1_wow.tpl.log             0m33.944s
>> bench_R14B04_1.2.x_wow.tpl.log             0m27.087s
>>
>> (Just R14B04, full logs available on demand)
>>
>> Cheers
>> Jan
>> --
>>
>>
>> On Feb 28, 2012, at 23:09 , Jan Lehnardt wrote:
>>
>>> Same story, but spinning disk, 5400rpm:
>>>
>>> bench_R14B04_1.1.1_default_doc.tpl.log     0m19.175s
>>> bench_R14B04_1.2.x_default_doc.tpl.log     0m16.821s
>>> bench_R15B_1.1.1_default_doc.tpl.log       0m13.050s
>>> bench_R15B_1.2.x_default_doc.tpl.log       0m13.292s
>>>
>>> bench_R14B04_1.1.1_nested_6k.tpl.log       1m26.941s
>>> bench_R14B04_1.2.x_nested_6k.tpl.log       0m39.178s
>>> bench_R15B_1.1.1_nested_6k.tpl.log         0m47.766s
>>> bench_R15B_1.2.x_nested_6k.tpl.log         0m31.697s
>>>
>>> bench_R14B04_1.1.1_small_doc.tpl.log       1m19.851s
>>> bench_R14B04_1.2.x_small_doc.tpl.log       1m43.057s
>>> bench_R15B_1.1.1_small_doc.tpl.log         0m52.249s
>>> bench_R15B_1.2.x_small_doc.tpl.log         1m8.195s
>>>
>>> bench_R14B04_1.1.1_wow.tpl.log             0m29.589s
>>> bench_R14B04_1.2.x_wow.tpl.log             0m24.867s
>>> bench_R15B_1.1.1_wow.tpl.log               0m20.171s
>>> bench_R15B_1.2.x_wow.tpl.log               0m18.800s
>>>
>>> Full logs at http://jan.prima.de/slow_couch/rust/
>>>
>>> Cheers
>>> Jan
>>> --
>>>
>>>
>>> On Feb 28, 2012, at 21:22 , Jan Lehnardt wrote:
>>>

 # tl;dr:

 bench_R14B04_1.1.1_default_doc.tpl.log     0m18.749s
 bench_R14B04_1.2.x_default_doc.tpl.log     0m16.304s
 bench_R15B_1.1.1_default_doc.tpl.log       0m12.946s
 bench_R15B_1.2.x_default_doc.tpl.log       0m13.616s

 bench_R14B04_1.1.1_nested_6k.tpl.log       1m27.267s
 bench_R14B04_1.2.x_nested_6k.tpl.log       0m37.910s
 bench_R15B_1.1.1_nested_6k.tpl.log         0m46.963s
 bench_R15B_1.2.x_nested_6k.tpl.log         0m33.011s

 bench_R14B04_1.1.1_small_doc.tpl.log       1m17.212s
 bench_R14B04_1.2.x_small_doc.tpl.log       1m41.383s
 bench_R15B_1.1.1_small_doc.tpl.log         0m52.858s
 bench_R15B_1.2.x_small_doc.tpl.log         1m9.043s

 bench_R14B04_1.1.1_wow.tpl.log             0m29.842s
 bench_R14B04_1.2.x_wow.tpl.log             0m24.178s
 bench_R15B_1.1.1_wow.tpl.log               0m20.493s
 bench_R15B_1.2.x_wow.tpl.log               0m19.584s

 (Full logs at [5])


 # Description

 All of these are on Mac OS X 10.7.3 on an SSD.

 I'll be running the same set on spinning disk and then Robert N asked
 me to populate the DBs not using builk docs. Since that's gonna take
 a while, I'll probably run this overnight.

 All of the results are generated by my fork of Jason's slow_couchdb[1]
 and Filipe's seatoncouch[2].

 The changes I've made is have the small_doc test run with 500k instead
 of 50k docs, added .view files to match the tpl files in
 seatoncouch/templates/* so we can have similar views use the different
 doc structures.

 I also added two scripts to orchestrate the above testing in a more
 automated fashion. It also allows you to run the full matrix yourself.
 All you need is set up homebrew allow `brew switch erlang R14B04` and
 R15B (which is controlled in matrix.sh[3]) and have a git checkout of the
 CouchDB sources that allow you to do `git checkout 1.1.1` or `1.2.x`
 (which is controlled in runner.sh[4], adjust the path to the git checkout
 there as well).

 matrix.sh also allows you to specify which docs to run.

 Please shout if you need any mo

Re: Please report your indexing speed

2012-02-28 Thread Jan Lehnardt
One more report.

I got suspicious of the rather short runtimes, so I picked the
default_doc and ran it at 500k:

bench_R14B04_1.1.1_default_doc.tpl.log 2m19.139s
bench_R14B04_1.2.x_default_doc.tpl.log 2m18.875s

It seems to me that we need more variation in what we test,
more OSs, larger ddocs, like the one Stefan linked to. Can
anyone help providing this?

Cheers
Jan
-- 


On Feb 29, 2012, at 00:23 , Jan Lehnardt wrote:

> For Robert Newson, avoiding bulk inserts to populate the dbs:
> 
> bench_R14B04_1.1.1_default_doc.tpl.log 0m19.692s
> bench_R14B04_1.2.x_default_doc.tpl.log 0m17.033s
> 
> bench_R14B04_1.1.1_nested_6k.tpl.log   1m31.393s
> bench_R14B04_1.2.x_nested_6k.tpl.log   0m42.010s
> 
> bench_R14B04_1.1.1_small_doc.tpl.log   0m8.103s
> bench_R14B04_1.2.x_small_doc.tpl.log   0m10.597s
> 
> bench_R14B04_1.1.1_wow.tpl.log 0m33.944s
> bench_R14B04_1.2.x_wow.tpl.log 0m27.087s
> 
> (Just R14B04, full logs available on demand)
> 
> Cheers
> Jan
> -- 
> 
> 
> On Feb 28, 2012, at 23:09 , Jan Lehnardt wrote:
> 
>> Same story, but spinning disk, 5400rpm:
>> 
>> bench_R14B04_1.1.1_default_doc.tpl.log 0m19.175s
>> bench_R14B04_1.2.x_default_doc.tpl.log 0m16.821s
>> bench_R15B_1.1.1_default_doc.tpl.log   0m13.050s
>> bench_R15B_1.2.x_default_doc.tpl.log   0m13.292s
>> 
>> bench_R14B04_1.1.1_nested_6k.tpl.log   1m26.941s
>> bench_R14B04_1.2.x_nested_6k.tpl.log   0m39.178s
>> bench_R15B_1.1.1_nested_6k.tpl.log 0m47.766s
>> bench_R15B_1.2.x_nested_6k.tpl.log 0m31.697s
>> 
>> bench_R14B04_1.1.1_small_doc.tpl.log   1m19.851s
>> bench_R14B04_1.2.x_small_doc.tpl.log   1m43.057s
>> bench_R15B_1.1.1_small_doc.tpl.log 0m52.249s
>> bench_R15B_1.2.x_small_doc.tpl.log 1m8.195s
>> 
>> bench_R14B04_1.1.1_wow.tpl.log 0m29.589s
>> bench_R14B04_1.2.x_wow.tpl.log 0m24.867s
>> bench_R15B_1.1.1_wow.tpl.log   0m20.171s
>> bench_R15B_1.2.x_wow.tpl.log   0m18.800s
>> 
>> Full logs at http://jan.prima.de/slow_couch/rust/
>> 
>> Cheers
>> Jan
>> -- 
>> 
>> 
>> On Feb 28, 2012, at 21:22 , Jan Lehnardt wrote:
>> 
>>> 
>>> # tl;dr:
>>> 
>>> bench_R14B04_1.1.1_default_doc.tpl.log 0m18.749s
>>> bench_R14B04_1.2.x_default_doc.tpl.log 0m16.304s
>>> bench_R15B_1.1.1_default_doc.tpl.log   0m12.946s
>>> bench_R15B_1.2.x_default_doc.tpl.log   0m13.616s
>>> 
>>> bench_R14B04_1.1.1_nested_6k.tpl.log   1m27.267s
>>> bench_R14B04_1.2.x_nested_6k.tpl.log   0m37.910s
>>> bench_R15B_1.1.1_nested_6k.tpl.log 0m46.963s
>>> bench_R15B_1.2.x_nested_6k.tpl.log 0m33.011s
>>> 
>>> bench_R14B04_1.1.1_small_doc.tpl.log   1m17.212s
>>> bench_R14B04_1.2.x_small_doc.tpl.log   1m41.383s
>>> bench_R15B_1.1.1_small_doc.tpl.log 0m52.858s
>>> bench_R15B_1.2.x_small_doc.tpl.log 1m9.043s
>>> 
>>> bench_R14B04_1.1.1_wow.tpl.log 0m29.842s
>>> bench_R14B04_1.2.x_wow.tpl.log 0m24.178s
>>> bench_R15B_1.1.1_wow.tpl.log   0m20.493s
>>> bench_R15B_1.2.x_wow.tpl.log   0m19.584s
>>> 
>>> (Full logs at [5])
>>> 
>>> 
>>> # Description
>>> 
>>> All of these are on Mac OS X 10.7.3 on an SSD.
>>> 
>>> I'll be running the same set on spinning disk and then Robert N asked
>>> me to populate the DBs not using builk docs. Since that's gonna take
>>> a while, I'll probably run this overnight.
>>> 
>>> All of the results are generated by my fork of Jason's slow_couchdb[1]
>>> and Filipe's seatoncouch[2].
>>> 
>>> The changes I've made is have the small_doc test run with 500k instead
>>> of 50k docs, added .view files to match the tpl files in
>>> seatoncouch/templates/* so we can have similar views use the different
>>> doc structures.
>>> 
>>> I also added two scripts to orchestrate the above testing in a more
>>> automated fashion. It also allows you to run the full matrix yourself.
>>> All you need is set up homebrew allow `brew switch erlang R14B04` and
>>> R15B (which is controlled in matrix.sh[3]) and have a git checkout of the
>>> CouchDB sources that allow you to do `git checkout 1.1.1` or `1.2.x`
>>> (which is controlled in runner.sh[4], adjust the path to the git checkout
>>> there as well).
>>> 
>>> matrix.sh also allows you to specify which docs to run.
>>> 
>>> Please shout if you need any more info about this test run or how to
>>> run this yourself.
>>> 
>>> 
>>> # Analysis
>>> 
>>> Inconclusive, I'l like to run this on larger dbs in general to see if
>>> there are more differences that shake out and I've yet have to run this
>>> on a spinning disk let alone another OS* or more complex view functions
>>> or larger design docs (like the one Stefan had).
>>> 
>>> * It shouldn't be too much work to port slow_couchdb to other OSs, I'll
>>> definitely be looking into that, but we can do with every bit of help :)
>>> 
>>> So far, I'm happy to conclude that while there are definitely provable
>>> differences, 

Re: Please report your indexing speed

2012-02-28 Thread Jan Lehnardt
For Robert Newson, avoiding bulk inserts to populate the dbs:

bench_R14B04_1.1.1_default_doc.tpl.log 0m19.692s
bench_R14B04_1.2.x_default_doc.tpl.log 0m17.033s

bench_R14B04_1.1.1_nested_6k.tpl.log   1m31.393s
bench_R14B04_1.2.x_nested_6k.tpl.log   0m42.010s

bench_R14B04_1.1.1_small_doc.tpl.log   0m8.103s
bench_R14B04_1.2.x_small_doc.tpl.log   0m10.597s

bench_R14B04_1.1.1_wow.tpl.log 0m33.944s
bench_R14B04_1.2.x_wow.tpl.log 0m27.087s

(Just R14B04, full logs available on demand)

Cheers
Jan
-- 


On Feb 28, 2012, at 23:09 , Jan Lehnardt wrote:

> Same story, but spinning disk, 5400rpm:
> 
> bench_R14B04_1.1.1_default_doc.tpl.log 0m19.175s
> bench_R14B04_1.2.x_default_doc.tpl.log 0m16.821s
> bench_R15B_1.1.1_default_doc.tpl.log   0m13.050s
> bench_R15B_1.2.x_default_doc.tpl.log   0m13.292s
> 
> bench_R14B04_1.1.1_nested_6k.tpl.log   1m26.941s
> bench_R14B04_1.2.x_nested_6k.tpl.log   0m39.178s
> bench_R15B_1.1.1_nested_6k.tpl.log 0m47.766s
> bench_R15B_1.2.x_nested_6k.tpl.log 0m31.697s
> 
> bench_R14B04_1.1.1_small_doc.tpl.log   1m19.851s
> bench_R14B04_1.2.x_small_doc.tpl.log   1m43.057s
> bench_R15B_1.1.1_small_doc.tpl.log 0m52.249s
> bench_R15B_1.2.x_small_doc.tpl.log 1m8.195s
> 
> bench_R14B04_1.1.1_wow.tpl.log 0m29.589s
> bench_R14B04_1.2.x_wow.tpl.log 0m24.867s
> bench_R15B_1.1.1_wow.tpl.log   0m20.171s
> bench_R15B_1.2.x_wow.tpl.log   0m18.800s
> 
> Full logs at http://jan.prima.de/slow_couch/rust/
> 
> Cheers
> Jan
> -- 
> 
> 
> On Feb 28, 2012, at 21:22 , Jan Lehnardt wrote:
> 
>> 
>> # tl;dr:
>> 
>> bench_R14B04_1.1.1_default_doc.tpl.log 0m18.749s
>> bench_R14B04_1.2.x_default_doc.tpl.log 0m16.304s
>> bench_R15B_1.1.1_default_doc.tpl.log   0m12.946s
>> bench_R15B_1.2.x_default_doc.tpl.log   0m13.616s
>> 
>> bench_R14B04_1.1.1_nested_6k.tpl.log   1m27.267s
>> bench_R14B04_1.2.x_nested_6k.tpl.log   0m37.910s
>> bench_R15B_1.1.1_nested_6k.tpl.log 0m46.963s
>> bench_R15B_1.2.x_nested_6k.tpl.log 0m33.011s
>> 
>> bench_R14B04_1.1.1_small_doc.tpl.log   1m17.212s
>> bench_R14B04_1.2.x_small_doc.tpl.log   1m41.383s
>> bench_R15B_1.1.1_small_doc.tpl.log 0m52.858s
>> bench_R15B_1.2.x_small_doc.tpl.log 1m9.043s
>> 
>> bench_R14B04_1.1.1_wow.tpl.log 0m29.842s
>> bench_R14B04_1.2.x_wow.tpl.log 0m24.178s
>> bench_R15B_1.1.1_wow.tpl.log   0m20.493s
>> bench_R15B_1.2.x_wow.tpl.log   0m19.584s
>> 
>> (Full logs at [5])
>> 
>> 
>> # Description
>> 
>> All of these are on Mac OS X 10.7.3 on an SSD.
>> 
>> I'll be running the same set on spinning disk and then Robert N asked
>> me to populate the DBs not using builk docs. Since that's gonna take
>> a while, I'll probably run this overnight.
>> 
>> All of the results are generated by my fork of Jason's slow_couchdb[1]
>> and Filipe's seatoncouch[2].
>> 
>> The changes I've made is have the small_doc test run with 500k instead
>> of 50k docs, added .view files to match the tpl files in
>> seatoncouch/templates/* so we can have similar views use the different
>> doc structures.
>> 
>> I also added two scripts to orchestrate the above testing in a more
>> automated fashion. It also allows you to run the full matrix yourself.
>> All you need is set up homebrew allow `brew switch erlang R14B04` and
>> R15B (which is controlled in matrix.sh[3]) and have a git checkout of the
>> CouchDB sources that allow you to do `git checkout 1.1.1` or `1.2.x`
>> (which is controlled in runner.sh[4], adjust the path to the git checkout
>> there as well).
>> 
>> matrix.sh also allows you to specify which docs to run.
>> 
>> Please shout if you need any more info about this test run or how to
>> run this yourself.
>> 
>> 
>> # Analysis
>> 
>> Inconclusive, I'l like to run this on larger dbs in general to see if
>> there are more differences that shake out and I've yet have to run this
>> on a spinning disk let alone another OS* or more complex view functions
>> or larger design docs (like the one Stefan had).
>> 
>> * It shouldn't be too much work to port slow_couchdb to other OSs, I'll
>> definitely be looking into that, but we can do with every bit of help :)
>> 
>> So far, I'm happy to conclude that while there are definitely provable
>> differences, that we can live with them.
>> 
>> Cheers
>> Jan
>> -- 
>> 
>> 
>> [1]: https://github.com/janl/slow_couchdb
>> [2]: https://github.com/janl/seatoncouch
>> [3]: https://github.com/janl/slow_couchdb/blob/master/matrix.sh
>> [4]: https://github.com/janl/slow_couchdb/blob/master/runner.sh
>> [5]: http://jan.prima.de/slow_couch/ssd/
>> 
>> 
>> On Feb 28, 2012, at 18:53 , Filipe David Manana wrote:
>> 
>>> Jason, repeated my last test with the 1Kb docs (
>>> https://gist.github.com/1930804, map function
>>> http://friendpaste.com/5C99aqXocN6N6H1BAYIigs ) to cover branch 1.1.x
>>

Re: Please report your indexing speed

2012-02-28 Thread Jan Lehnardt
Same story, but spinning disk, 5400rpm:

bench_R14B04_1.1.1_default_doc.tpl.log 0m19.175s
bench_R14B04_1.2.x_default_doc.tpl.log 0m16.821s
bench_R15B_1.1.1_default_doc.tpl.log   0m13.050s
bench_R15B_1.2.x_default_doc.tpl.log   0m13.292s

bench_R14B04_1.1.1_nested_6k.tpl.log   1m26.941s
bench_R14B04_1.2.x_nested_6k.tpl.log   0m39.178s
bench_R15B_1.1.1_nested_6k.tpl.log 0m47.766s
bench_R15B_1.2.x_nested_6k.tpl.log 0m31.697s

bench_R14B04_1.1.1_small_doc.tpl.log   1m19.851s
bench_R14B04_1.2.x_small_doc.tpl.log   1m43.057s
bench_R15B_1.1.1_small_doc.tpl.log 0m52.249s
bench_R15B_1.2.x_small_doc.tpl.log 1m8.195s

bench_R14B04_1.1.1_wow.tpl.log 0m29.589s
bench_R14B04_1.2.x_wow.tpl.log 0m24.867s
bench_R15B_1.1.1_wow.tpl.log   0m20.171s
bench_R15B_1.2.x_wow.tpl.log   0m18.800s

Full logs at http://jan.prima.de/slow_couch/rust/

Cheers
Jan
-- 


On Feb 28, 2012, at 21:22 , Jan Lehnardt wrote:

> 
> # tl;dr:
> 
> bench_R14B04_1.1.1_default_doc.tpl.log 0m18.749s
> bench_R14B04_1.2.x_default_doc.tpl.log 0m16.304s
> bench_R15B_1.1.1_default_doc.tpl.log   0m12.946s
> bench_R15B_1.2.x_default_doc.tpl.log   0m13.616s
> 
> bench_R14B04_1.1.1_nested_6k.tpl.log   1m27.267s
> bench_R14B04_1.2.x_nested_6k.tpl.log   0m37.910s
> bench_R15B_1.1.1_nested_6k.tpl.log 0m46.963s
> bench_R15B_1.2.x_nested_6k.tpl.log 0m33.011s
> 
> bench_R14B04_1.1.1_small_doc.tpl.log   1m17.212s
> bench_R14B04_1.2.x_small_doc.tpl.log   1m41.383s
> bench_R15B_1.1.1_small_doc.tpl.log 0m52.858s
> bench_R15B_1.2.x_small_doc.tpl.log 1m9.043s
> 
> bench_R14B04_1.1.1_wow.tpl.log 0m29.842s
> bench_R14B04_1.2.x_wow.tpl.log 0m24.178s
> bench_R15B_1.1.1_wow.tpl.log   0m20.493s
> bench_R15B_1.2.x_wow.tpl.log   0m19.584s
> 
> (Full logs at [5])
> 
> 
> # Description
> 
> All of these are on Mac OS X 10.7.3 on an SSD.
> 
> I'll be running the same set on spinning disk and then Robert N asked
> me to populate the DBs not using builk docs. Since that's gonna take
> a while, I'll probably run this overnight.
> 
> All of the results are generated by my fork of Jason's slow_couchdb[1]
> and Filipe's seatoncouch[2].
> 
> The changes I've made is have the small_doc test run with 500k instead
> of 50k docs, added .view files to match the tpl files in
> seatoncouch/templates/* so we can have similar views use the different
> doc structures.
> 
> I also added two scripts to orchestrate the above testing in a more
> automated fashion. It also allows you to run the full matrix yourself.
> All you need is set up homebrew allow `brew switch erlang R14B04` and
> R15B (which is controlled in matrix.sh[3]) and have a git checkout of the
> CouchDB sources that allow you to do `git checkout 1.1.1` or `1.2.x`
> (which is controlled in runner.sh[4], adjust the path to the git checkout
> there as well).
> 
> matrix.sh also allows you to specify which docs to run.
> 
> Please shout if you need any more info about this test run or how to
> run this yourself.
> 
> 
> # Analysis
> 
> Inconclusive, I'l like to run this on larger dbs in general to see if
> there are more differences that shake out and I've yet have to run this
> on a spinning disk let alone another OS* or more complex view functions
> or larger design docs (like the one Stefan had).
> 
> * It shouldn't be too much work to port slow_couchdb to other OSs, I'll
> definitely be looking into that, but we can do with every bit of help :)
> 
> So far, I'm happy to conclude that while there are definitely provable
> differences, that we can live with them.
> 
> Cheers
> Jan
> -- 
> 
> 
> [1]: https://github.com/janl/slow_couchdb
> [2]: https://github.com/janl/seatoncouch
> [3]: https://github.com/janl/slow_couchdb/blob/master/matrix.sh
> [4]: https://github.com/janl/slow_couchdb/blob/master/runner.sh
> [5]: http://jan.prima.de/slow_couch/ssd/
> 
> 
> On Feb 28, 2012, at 18:53 , Filipe David Manana wrote:
> 
>> Jason, repeated my last test with the 1Kb docs (
>> https://gist.github.com/1930804, map function
>> http://friendpaste.com/5C99aqXocN6N6H1BAYIigs ) to cover branch 1.1.x
>> as well. Here are the full results (also in
>> https://gist.github.com/1930807):
>> 
>> 
>> Before COUCHDB-1186
>> 
>> fdmanana 23:21:05 ~/git/hub/slow_couchdb (master)> docs=50
>> batch=5000 ./bench.sh wow.tpl
>> Server: CouchDB/1.2.0a-a68a792-git (Erlang OTP/R14B03)
>> {"couchdb":"Welcome","version":"1.2.0a-a68a792-git"}
>> 
>> [INFO] Created DB named `db1'
>> [INFO] Uploaded 5000 documents via _bulk_docs
>> ()
>> [INFO] Uploaded 5000 documents via _bulk_docs
>> Building view.
>> {"total_rows":50,"offset":0,"rows":[
>> {"id":"00051ef7-d735-48d7-9ba8-5a21a86e8d57","key":["dwarf","assassin"],"value":[{"x":31227.35,"y":31529.73},{"x":116667.85,"y":82008.25},{"x":224.11,"y":36652.41},{"x":128565.95,"y":6780.2},{"x":165230.43,"y":

Re: Please report your indexing speed

2012-02-28 Thread Jan Lehnardt

# tl;dr:

bench_R14B04_1.1.1_default_doc.tpl.log 0m18.749s
bench_R14B04_1.2.x_default_doc.tpl.log 0m16.304s
bench_R15B_1.1.1_default_doc.tpl.log   0m12.946s
bench_R15B_1.2.x_default_doc.tpl.log   0m13.616s

bench_R14B04_1.1.1_nested_6k.tpl.log   1m27.267s
bench_R14B04_1.2.x_nested_6k.tpl.log   0m37.910s
bench_R15B_1.1.1_nested_6k.tpl.log 0m46.963s
bench_R15B_1.2.x_nested_6k.tpl.log 0m33.011s

bench_R14B04_1.1.1_small_doc.tpl.log   1m17.212s
bench_R14B04_1.2.x_small_doc.tpl.log   1m41.383s
bench_R15B_1.1.1_small_doc.tpl.log 0m52.858s
bench_R15B_1.2.x_small_doc.tpl.log 1m9.043s

bench_R14B04_1.1.1_wow.tpl.log 0m29.842s
bench_R14B04_1.2.x_wow.tpl.log 0m24.178s
bench_R15B_1.1.1_wow.tpl.log   0m20.493s
bench_R15B_1.2.x_wow.tpl.log   0m19.584s

(Full logs at [5])


# Description

All of these are on Mac OS X 10.7.3 on an SSD.

I'll be running the same set on spinning disk and then Robert N asked
me to populate the DBs not using builk docs. Since that's gonna take
a while, I'll probably run this overnight.

All of the results are generated by my fork of Jason's slow_couchdb[1]
and Filipe's seatoncouch[2].

The changes I've made is have the small_doc test run with 500k instead
of 50k docs, added .view files to match the tpl files in
seatoncouch/templates/* so we can have similar views use the different
doc structures.

I also added two scripts to orchestrate the above testing in a more
automated fashion. It also allows you to run the full matrix yourself.
All you need is set up homebrew allow `brew switch erlang R14B04` and
R15B (which is controlled in matrix.sh[3]) and have a git checkout of the
CouchDB sources that allow you to do `git checkout 1.1.1` or `1.2.x`
(which is controlled in runner.sh[4], adjust the path to the git checkout
there as well).

matrix.sh also allows you to specify which docs to run.

Please shout if you need any more info about this test run or how to
run this yourself.


# Analysis

Inconclusive, I'l like to run this on larger dbs in general to see if
there are more differences that shake out and I've yet have to run this
on a spinning disk let alone another OS* or more complex view functions
or larger design docs (like the one Stefan had).

* It shouldn't be too much work to port slow_couchdb to other OSs, I'll
definitely be looking into that, but we can do with every bit of help :)

So far, I'm happy to conclude that while there are definitely provable
differences, that we can live with them.

Cheers
Jan
-- 


[1]: https://github.com/janl/slow_couchdb
[2]: https://github.com/janl/seatoncouch
[3]: https://github.com/janl/slow_couchdb/blob/master/matrix.sh
[4]: https://github.com/janl/slow_couchdb/blob/master/runner.sh
[5]: http://jan.prima.de/slow_couch/ssd/


On Feb 28, 2012, at 18:53 , Filipe David Manana wrote:

> Jason, repeated my last test with the 1Kb docs (
> https://gist.github.com/1930804, map function
> http://friendpaste.com/5C99aqXocN6N6H1BAYIigs ) to cover branch 1.1.x
> as well. Here are the full results (also in
> https://gist.github.com/1930807):
> 
> 
> Before COUCHDB-1186
> 
> fdmanana 23:21:05 ~/git/hub/slow_couchdb (master)> docs=50
> batch=5000 ./bench.sh wow.tpl
> Server: CouchDB/1.2.0a-a68a792-git (Erlang OTP/R14B03)
> {"couchdb":"Welcome","version":"1.2.0a-a68a792-git"}
> 
> [INFO] Created DB named `db1'
> [INFO] Uploaded 5000 documents via _bulk_docs
> ()
> [INFO] Uploaded 5000 documents via _bulk_docs
> Building view.
> {"total_rows":50,"offset":0,"rows":[
> {"id":"00051ef7-d735-48d7-9ba8-5a21a86e8d57","key":["dwarf","assassin"],"value":[{"x":31227.35,"y":31529.73},{"x":116667.85,"y":82008.25},{"x":224.11,"y":36652.41},{"x":128565.95,"y":6780.2},{"x":165230.43,"y":176208.63}]}
> ]}
> 
> real  5m6.676s
> user  0m0.009s
> sys   0m0.010s
> 
> 
> After COUCHDB-1186
> 
> fdmanana 23:50:07 ~/git/hub/slow_couchdb (master)> docs=50
> batch=5000 ./bench.sh wow.tpl
> Server: CouchDB/1.2.0a-f023052-git (Erlang OTP/R14B03)
> {"couchdb":"Welcome","version":"1.2.0a-f023052-git"}
> 
> [INFO] Created DB named `db1'
> [INFO] Uploaded 5000 documents via _bulk_docs
> ()
> [INFO] Uploaded 5000 documents via _bulk_docs
> Building view.
> {"total_rows":50,"offset":0,"rows":[
> {"id":"00051ef7-d735-48d7-9ba8-5a21a86e8d57","key":["dwarf","assassin"],"value":[{"x":31227.35,"y":31529.73},{"x":116667.85,"y":82008.25},{"x":224.11,"y":36652.41},{"x":128565.95,"y":6780.2},{"x":165230.43,"y":176208.63}]}
> ]}
> 
> real  5m1.395s
> user  0m0.008s
> sys   0m0.010s
> 
> 
> After COUCHDB-1186 + better queueing patch
> (http://friendpaste.com/178nPFgfyyeGf2vtNRpL0w)
> 
> fdmanana 00:14:25 ~/git/hub/slow_couchdb (master)> docs=50
> batch=5000 ./bench.sh wow.tpl
> Server: CouchDB/1.2.0a-f023052-git (Erlang OTP/R14B03)
> {"couchdb":"Welcome","version":"1.2.0a-f023052-git"}
> 
> [INFO] Created DB named `db1'
> [INFO] Uploaded 5000 documents via _bulk_docs
> (..

Re: Please report your indexing speed

2012-02-28 Thread Filipe David Manana
Jason, repeated my last test with the 1Kb docs (
https://gist.github.com/1930804, map function
http://friendpaste.com/5C99aqXocN6N6H1BAYIigs ) to cover branch 1.1.x
as well. Here are the full results (also in
https://gist.github.com/1930807):


Before COUCHDB-1186

fdmanana 23:21:05 ~/git/hub/slow_couchdb (master)> docs=50
batch=5000 ./bench.sh wow.tpl
Server: CouchDB/1.2.0a-a68a792-git (Erlang OTP/R14B03)
{"couchdb":"Welcome","version":"1.2.0a-a68a792-git"}

[INFO] Created DB named `db1'
[INFO] Uploaded 5000 documents via _bulk_docs
()
[INFO] Uploaded 5000 documents via _bulk_docs
Building view.
{"total_rows":50,"offset":0,"rows":[
{"id":"00051ef7-d735-48d7-9ba8-5a21a86e8d57","key":["dwarf","assassin"],"value":[{"x":31227.35,"y":31529.73},{"x":116667.85,"y":82008.25},{"x":224.11,"y":36652.41},{"x":128565.95,"y":6780.2},{"x":165230.43,"y":176208.63}]}
]}

real5m6.676s
user0m0.009s
sys 0m0.010s


After COUCHDB-1186

fdmanana 23:50:07 ~/git/hub/slow_couchdb (master)> docs=50
batch=5000 ./bench.sh wow.tpl
Server: CouchDB/1.2.0a-f023052-git (Erlang OTP/R14B03)
{"couchdb":"Welcome","version":"1.2.0a-f023052-git"}

[INFO] Created DB named `db1'
[INFO] Uploaded 5000 documents via _bulk_docs
()
[INFO] Uploaded 5000 documents via _bulk_docs
Building view.
{"total_rows":50,"offset":0,"rows":[
{"id":"00051ef7-d735-48d7-9ba8-5a21a86e8d57","key":["dwarf","assassin"],"value":[{"x":31227.35,"y":31529.73},{"x":116667.85,"y":82008.25},{"x":224.11,"y":36652.41},{"x":128565.95,"y":6780.2},{"x":165230.43,"y":176208.63}]}
]}

real5m1.395s
user0m0.008s
sys 0m0.010s


After COUCHDB-1186 + better queueing patch
(http://friendpaste.com/178nPFgfyyeGf2vtNRpL0w)

fdmanana 00:14:25 ~/git/hub/slow_couchdb (master)> docs=50
batch=5000 ./bench.sh wow.tpl
Server: CouchDB/1.2.0a-f023052-git (Erlang OTP/R14B03)
{"couchdb":"Welcome","version":"1.2.0a-f023052-git"}

[INFO] Created DB named `db1'
[INFO] Uploaded 5000 documents via _bulk_docs
()
[INFO] Uploaded 5000 documents via _bulk_docs
Building view.
{"total_rows":50,"offset":0,"rows":[
{"id":"00051ef7-d735-48d7-9ba8-5a21a86e8d57","key":["dwarf","assassin"],"value":[{"x":31227.35,"y":31529.73},{"x":116667.85,"y":82008.25},{"x":224.11,"y":36652.41},{"x":128565.95,"y":6780.2},{"x":165230.43,"y":176208.63}]}
]}

real4m48.175s
user0m0.008s
sys 0m0.009s


CouchDB branch 1.1.x

fdmanana 08:16:58 ~/git/hub/slow_couchdb (master)> docs=50
batch=5000 ./bench.sh wow.tpl
Server: CouchDB/1.1.2a785d32f-git (Erlang OTP/R14B03)
{"couchdb":"Welcome","version":"1.1.2a785d32f-git"}

[INFO] Created DB named `db1'
[INFO] Uploaded 5000 documents via _bulk_docs
()
[INFO] Uploaded 5000 documents via _bulk_docs
Building view.
{"total_rows":50,"offset":0,"rows":[
{"id":"0001c0a1-edcb-4dbc-aa9d-533c73d980cb","key":["dwarf","assassin"],"value":[{"x":62038.32,"y":105825.29},{"x":90713.13,"y":128570.97},{"x":43836.37,"y":80517.12},{"x":71610.97,"y":143739.99},{"x":86038.39,"y":84731.8}]}
]}

real5m44.374s
user0m0.008s
sys 0m0.010s


Disk model APPLE SSD TS128C, quad core machine, 8Gb of ram.



On Tue, Feb 28, 2012 at 5:17 AM, Jason Smith  wrote:
> Forgive the clean new thread. Hopefully it will not remain so.
>
> If you can, would you please clone https://github.com/jhs/slow_couchdb
>
> And build whatever Erlangs and CouchDB checkouts you see fit, and run
> the test. For example:
>
>    docs=50 ./bench.sh small_doc.tpl
>
> That should run the test and, God willing, upload the results to a
> couch in the cloud. We should be able to use that information to
> identify who you are, whether you are on SSD, what Erlang and Couch
> build, and how fast it ran. Modulo bugs.



-- 
Filipe David Manana,

"Reasonable men adapt themselves to the world.
 Unreasonable men adapt the world to themselves.
 That's why all progress depends on unreasonable men."


Please report your indexing speed

2012-02-28 Thread Jason Smith
Forgive the clean new thread. Hopefully it will not remain so.

If you can, would you please clone https://github.com/jhs/slow_couchdb

And build whatever Erlangs and CouchDB checkouts you see fit, and run
the test. For example:

docs=50 ./bench.sh small_doc.tpl

That should run the test and, God willing, upload the results to a
couch in the cloud. We should be able to use that information to
identify who you are, whether you are on SSD, what Erlang and Couch
build, and how fast it ran. Modulo bugs.