Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1W7J9b-0006HB-4p for pgsql-hackers@arkaria.postgresql.org; Sun, 26 Jan 2014 06:25:11 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.80) (envelope-from ) id 1W7J9Z-0004wj-FV for pgsql-hackers@arkaria.postgresql.org; Sun, 26 Jan 2014 06:25:09 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1W7J9V-0004vA-Fm for pgsql-hackers@postgresql.org; Sun, 26 Jan 2014 06:25:05 +0000 Received: from mail.gransy.com ([2001:1528:137::f1]) by magus.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1W7J9P-0004lp-SU for pgsql-hackers@postgresql.org; Sun, 26 Jan 2014 06:25:02 +0000 Received: from antispam.gransy.com (antispam.gransy.com [77.78.104.124]) by mail.gransy.com (Postfix) with ESMTP id 400B1508D54 for ; Sun, 26 Jan 2014 07:24:58 +0100 (CET) X-Virus-Scanned: G-Hosting.cz + Station.cz + Klenot.cz + Subreg.cz amavisd-new at antispam.gransy.com X-Spam-Flag: NO X-Spam-Score: 0.226 X-Spam-Level: X-Spam-Status: No, score=0.226 tagged_above=0 required=5 tests=[ALL_TRUSTED=-1, DC_IMAGE_SPAM_HTML=0.141, DC_IMAGE_SPAM_TEXT=0.123, DC_PNG_UNO_LARGO=0.001, NO_DNS_FOR_FROM=0.379, TO_NO_BRKTS_PCNT=0.572, T_TVD_MIME_EPI=0.01] autolearn=disabled Received: from mail.gransy.com ([82.208.29.194]) by antispam.gransy.com (antispam.gransy.com [77.78.104.124]) (amavisd-new, port 10024) with ESMTP id PsY6ibePuyHG for ; Sun, 26 Jan 2014 07:25:01 +0100 (CET) Received: from [192.168.1.227] (ip-78-45-139-138.net.upcbroadband.cz [78.45.139.138]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: tv@fuzzy.cz) by mail.gransy.com (Postfix) with ESMTPSA id A663C508D4A for ; Sun, 26 Jan 2014 07:24:57 +0100 (CET) Message-ID: <52E4AA3A.9000607@fuzzy.cz> Date: Sun, 26 Jan 2014 07:24:58 +0100 From: Tomas Vondra User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.1 MIME-Version: 1.0 To: pgsql-hackers@postgresql.org Subject: Re: GIN improvements part2: fast scan References: <51C16235.3080308@vmware.com> <51C170A8.9060509@vmware.com> <51C4ACC5.2090707@vmware.com> <51D00FB6.9030008@vmware.com> <528533D9.3040501@vmware.com> <52E141BA.5000302@vmware.com> <52E4141E.60609@fuzzy.cz> <52E42AD0.5060600@vmware.com> In-Reply-To: <52E42AD0.5060600@vmware.com> Content-Type: multipart/mixed; boundary="------------030705060302080007090804" X-Pg-Spam-Score: -0.8 (/) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org This is a multi-part message in MIME format. --------------030705060302080007090804 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hi! On 25.1.2014 22:21, Heikki Linnakangas wrote: > Attached is a new version of the patch set, with those bugs fixed. I've done a bunch of tests with all the 4 patches applied, and it seems to work now. I've done tests with various conditions (AND/OR, number of words, number of conditions) and I so far I did not get any crashes, infinite loops or anything like that. I've also compared the results to 9.3 - by dumping the database and running the same set of queries on both machines, and indeed I got 100% match. I also did some performance tests, and that's when I started to worry. For example, I generated and ran 1000 queries that look like this: SELECT id FROM messages WHERE body_tsvector @@ to_tsquery('english','(header & 53 & 32 & useful & dropped)') ORDER BY ts_rank(body_tsvector, to_tsquery('english','(header & 53 & 32 & useful & dropped)')) DESC; i.e. in this case the query always was 5 words connected by AND. This query is a pretty common pattern for fulltext search - sort by a list of words and give me the best ranked results. On 9.3, the script was running for ~23 seconds, on patched HEAD it was ~40. It's perfectly reproducible, I've repeated the test several times with exactly the same results. The test is CPU bound, there's no I/O activity at all. I got the same results with more queries (~100k). Attached is a simple chart with x-axis used for durations measured on 9.3.2, y-axis used for durations measured on patched HEAD. It's obvious a vast majority of queries is up to 2x slower - that's pretty obvious from the chart. Only about 50 queries are faster on HEAD, and >700 queries are more than 50% slower on HEAD (i.e. if the query took 100ms on 9.3, it takes >150ms on HEAD). Typically, the EXPLAIN ANALYZE looks something like this (on 9.3): http://explain.depesz.com/s/5tv and on HEAD (same query): http://explain.depesz.com/s/1lI Clearly the main difference is in the "Bitmap Index Scan" which takes 60ms on 9.3 and 120ms on HEAD. On 9.3 the "perf top" looks like this: 34.79% postgres [.] gingetbitmap 28.96% postgres [.] ginCompareItemPointers 9.36% postgres [.] TS_execute 5.36% postgres [.] check_stack_depth 3.57% postgres [.] FunctionCall8Coll while on 9.4 it looks like this: 28.20% postgres [.] gingetbitmap 21.17% postgres [.] TS_execute 8.08% postgres [.] check_stack_depth 7.11% postgres [.] FunctionCall8Coll 4.34% postgres [.] shimTriConsistentFn Not sure how to interpret that, though. For example where did the ginCompareItemPointers go? I suspect it's thanks to inlining, and that it might be related to the performance decrease. Or maybe not. I've repeated the test several times, checked all I could think of, but I've found nothing so far. The flags were exactly the same in both cases (just --enable-debug and nothing else). regards Tomas --------------030705060302080007090804 Content-Type: image/png; name="gin_query_durations.png" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="gin_query_durations.png" iVBORw0KGgoAAAANSUhEUgAAAp0AAAJrCAYAAACiHig6AABaI0lEQVR42u3d B5TV1b0v8Pvqfb33dt/y3byXFQVhFBBFsaDYgolRIwZLQscuxIJBEzQmKkbs GA0pdk3Mu+oz5l6i0VwTE6kjKIhGRFFUEAExIuJ+/v7M//A//zkzzAzT+XzW Omvm9DNnb9lfd/2zBAAAHezPfAUAAAidAAAInQAAIHQCACB0AgAgdAIAgNAJ AIDQCQAAQicAAEInAABCJwAACJ0AAAidAAAInQAAIHQCACB0AgCA0AkAgNAJ AIDQCQAAQicAAEInAABCJwAACJ0AAAidAAAgdAIAIHQCACB0AgCA0AkAgNAJ AIDQCQAAQicAAEInAAAInQAACJ0AAAidAAAgdAIAIHQCACB0AgCA0AkAgNAJ AABCJwAAQicAAEInAAAInQAACJ0AAAidAAAgdAIAIHQCAIDQCQCA0AkAgNAJ AABCJwAAQicAAEInAAAInQAACJ0AACB0AgAgdAIAIHQCAIDQCQCA0AkAgNAJ AABCJwAAQicAAAidAAAInQAACJ0AACB0AgAgdAIAIHQCAIDQCQCA0AkAAEIn AABCJwAAQicAAAidAAAInQAACJ0AACB0AgAgdAIAgNBJLQsXLkyHHnpo+tf/ +l+n//W//lc644wz0qZNm5p9zl//9V+nYcOGpf/0n/5T+uf//J+nPn36pBtu uCF98sknPfLvKVq5cmX2N/3Zn+2a/3nE393Zf/sTTzyRhg4d2uWfAwChkw5S X1+f/uE//IeVBj6/1NXVpY8//rjmc37yk580enx+ueuuu3rc31M2fPjwXTrw dMXfXus9hU4AoZNe5Kijjsoa9hNOOCG9/PLL6cknn0z77LNPdtsdd9xR8zkj RozIegKnTp2aVqxYkdauXZtmzZqVPef//J//0+P+nqLZs2dXhVWhs/e+JwBC J53oP/yH/5A19s8//3zltl/96lfZbTFEvSMffvhhWrJkSZoyZUr2nH333bfm 4x544IHs/uOOO67q9rget8f94b333kvf+9730iGHHJL+7b/9t+kLX/hC+v73 v582b97c4X/PG2+8kf7Vv/pXlddoSQj6zW9+k4Xaf/bP/lnq169f+vWvf93o uU29Vq3bn3rqqTRw4MD0L/7Fv8heN16v1nMefPDB9D/+x/9Ihx12WNaz+2/+ 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 BcsYTm9uVToaHNQBlD9CJ0JnJuZQFudURi9nLoa7mxv2LobVeA00OKgDKH+E ToTORuK4yXz4PDZ3//qsl1u1ECjmeFp1rsFBHUD5I3QidDarvGK9tZuzxwKg GGJvy6p1NDioAyh/hE52kdBZPP4yei0FRw0O6gDKH4RO2j10hlggFOFT4NTg oA6g/EHopN1Dp5CpwUEdQPmD0EmHhs5YkZ6vOLchuwYHdQDlD0In7RI6Y8FP bAAfl/ys9PwysoNOGUKDgzqA8kfoZBcLncVV6rH5e1P7cqLBQR1A+YPQSZtD ZzFkxiWG1COIRuB0hKUGB3UA5Q9CJ+0SOvNN4OMSe2qiwUEdQPmD0Em7h84Q PZp6NTU4qAMofxA66dDQiQYHdQDlD0InQicaHNQBlD9CJ0InGhzUAZQ/CJ0I nWhwUAeUvy8BoROhEw0O6gDKH6EToRMNDuoAyh+EToRONDioAyh/hE6ETjQ4 qAMof4ROuptPPvkkTZkyJQ0aNCgNHjw4TZ06NW3evFnoRIODOoDyR+ik/dx/ //1p2rRpad26dWnt2rVp1qxZaebMmUInGhzUAZQ/QiftZ9SoUam+vr5yPYJn 3CZ0osFBHUD5I3TSboYNG5b1cuZiaP2ggw4SOtHgoA6g/BE6aT99+vSpmsO5 devWtMceewidaHBQB1D+CJ20n9133z1t2bKlcj1+79u3706HThcXFxcXl864 IHTSQwwdOjRt3Lixcn3Tpk1p+PDhvhgAQOik/Zx00klp5cqVletvvvlmOu20 03wxAIDQSfuZPXt2mjFjRlq/fn3asGFDtmXSAw884IsBAIRO2s+aNWvS5MmT 05AhQ9LAgQOzjeJjw3gAAKETAACh01cAAIDQCQCA0AkAAEInAABCJwAAQicA AAidtE3s7xn7fA4aNCgNHjw4TZ06NW3evNkX00OsXr067bbbbo0uLS3fjr6f jrNu3bpsn97W/jetTvT+OuDfBYROuqX7778/TZs2LfvHa+3atdnpRjNnzvTF 9BBz5sxJEydObHP5dvT9dIw4iezUU0+tChLdpczVia6vA/5dQOikWxo1alSq r6+vXI9/IOI2eob4hzyORW1r+Xb0/XSM4447Li1YsKBm4OjqMlcnur4O+HcB oZNuadiwYdn/jeZiCOSggw7yxfQQo0ePzno0ohyPPfbY9Mgjj6SPP/64xeXb 0ffTMSJshFqBo6vLXJ3o+jrg3wWETrqlPn36VM212bp1a9pjjz18MT1EzJmK Ho133303rVmzJt14443p0UcfbXH5dvT9dKxagaOry1yd6Po64N8FhE66pd13 3z1t2bKlcj1+79u3ry+mh1q1alUaM2ZMi8u3o++n8wNHV5e5OtH1dcC/Cwid dEtDhw5NGzdurFzftGlTGj58uC+mh/rwww/TgAEDWly+HX0/nR84urrM1Ynu Fzr9u4DQSbdw0kknpZUrV1auv/nmm+m0007zxfQQI0aMSK+++mrl+ooVK9LZ Z5/d4vLt6Pvp/MDR1WWuTnR9HfDvAkIn3VLM+5kxY0Zav359tgVHbG3xwAMP +GJ6iHvvvTddcMEFWaMSK0SvueaaqrlbOyrfjr6fzg8cXV3m6kTX1wH/LiB0 0i3FJPPJkyenIUOGZJsMx4a+sbEvPUNM1o9/4A877LBsSKu8TcqOyrej76fz A0dXl7k60fV1wL8LCJ0AAAidvgIAAIROAACETgAAEDoBABA6AQAQOgEAQOgE AEDoBAAAoRMAAKETAAChEwAAhE4AAIROAACETgAAEDoBABA6AQBA6AQAQOgE AEDoBAAAoRMAAKETAAChEwAAhE4AAIROAAAQOgEAEDoBABA6AQBA6AQAQOgE AEDoBAAAoRMAAKETAACETgAAhE4AAIROAAAQOgEAEDoBABA6AQBA6AQAQOgE AAChEwAAoRMAAKETAACETqAbW716ddptt90ql8985jPpiCOOSIsXL26X13/8 8cfTt7/97Q79GzZv3pwuv/zydOihh6Y99tgjjRgxIn3ve99LH3/8cdXj3nrr rXTZZZelL33pS9njhg0bli699NL03nvvNfpO9ttvvxa///Lly9NXv/rV1L9/ /3TKKaekRx99tNF7F33yySdp1qxZ6Ytf/GLad999s88Unw1A6AR6rTlz5qQJ EyZUrm/cuDHdeeed6bjjjmuX1z/kkEPS7373uw79G84555zsMm/evPTBBx+k 1157LQuhF110UeUxTz/9dBYkr7322vS3f/u3acOGDWnVqlXpvvvuy0J2MXiW v5PmxHvttdde6Qc/+EFau3ZteuWVV9LXv/719Dd/8zdNPueOO+5IN998c+Uz nH/++eniiy9WGQGhE+i9Zs6cmW688caq2yIM9enTp3L93XffTeedd17aZ599 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 YII= --------------030705060302080007090804 Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers --------------030705060302080007090804-- --boundary-250847--