Return-Path: X-Original-To: apmail-couchdb-user-archive@www.apache.org Delivered-To: apmail-couchdb-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 10076101A6 for ; Sun, 28 Jul 2013 17:49:22 +0000 (UTC) Received: (qmail 98256 invoked by uid 500); 28 Jul 2013 17:49:20 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 97833 invoked by uid 500); 28 Jul 2013 17:49:15 -0000 Mailing-List: contact user-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@couchdb.apache.org Delivered-To: mailing list user@couchdb.apache.org Received: (qmail 97825 invoked by uid 99); 28 Jul 2013 17:49:14 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 28 Jul 2013 17:49:14 +0000 X-ASF-Spam-Status: No, hits=0.0 required=5.0 tests=RCVD_IN_DNSWL_NONE X-Spam-Check-By: apache.org Received-SPF: error (nike.apache.org: local policy) Received: from [212.27.42.2] (HELO smtp2-g21.free.fr) (212.27.42.2) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 28 Jul 2013 17:49:06 +0000 Received: from [192.168.0.5] (unknown [82.246.236.191]) (Authenticated sender: aurelien.benel) by smtp2-g21.free.fr (Postfix) with ESMTPSA id B0D754B005A for ; Sun, 28 Jul 2013 19:48:21 +0200 (CEST) From: =?iso-8859-1?Q?Aur=E9lien_B=E9nel?= Content-Type: multipart/signed; boundary="Apple-Mail=_C539725C-8737-4597-A036-DB6261A6BD70"; protocol="application/pkcs7-signature"; micalg=sha1 Message-Id: Mime-Version: 1.0 (Mac OS X Mail 6.5 \(1508\)) Subject: Re: CouchDB: Counting Total Occurrences of Unique Items Date: Sun, 28 Jul 2013 19:48:19 +0200 References: To: user@couchdb.apache.org In-Reply-To: X-Mailer: Apple Mail (2.1508) X-Virus-Checked: Checked by ClamAV on apache.org --Apple-Mail=_C539725C-8737-4597-A036-DB6261A6BD70 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=iso-8859-1 Hi Hank, > For performance reasons, should anything be moved from the reduce = function to the map function or to an additional reduce function? Indeed.=20 Here is my tip: always try to change your map so that you can use a = builtin reduce function. MAP =3D=3D=3D function (o) { if (o.fruit) { emit(o.fruit, null) } } REDUCE =3D=3D=3D=3D=3D=3D _count In the case you wouldn't like the resulting format, use a list on it.=20 Regards, Aur=E9lien=20= --Apple-Mail=_C539725C-8737-4597-A036-DB6261A6BD70 Content-Disposition: attachment; filename=smime.p7s Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 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 --Apple-Mail=_C539725C-8737-4597-A036-DB6261A6BD70--