Received: from localhost (unknown [200.46.204.183]) by postgresql.org (Postfix) with ESMTP id 2405A64FF9A for ; Tue, 9 Sep 2008 22:23:08 -0300 (ADT) Received: from postgresql.org ([200.46.204.86]) by localhost (mx1.hub.org [200.46.204.183]) (amavisd-maia, port 10024) with ESMTP id 27446-10 for ; Tue, 9 Sep 2008 22:23:05 -0300 (ADT) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.175]) by postgresql.org (Postfix) with ESMTP id 6C79A64FD15 for ; Tue, 9 Sep 2008 22:23:05 -0300 (ADT) Received: by ug-out-1314.google.com with SMTP id 29so351914ugo.7 for ; Tue, 09 Sep 2008 18:23:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references; bh=GJfoHdOP+wWYcuuxmbZA6RWsTqouWrH8DhDYMVVJ/38=; b=Jcslll3GDmYl1fDt+hv/5iN9T9z5T8NxprXrFiHOliutA/EceLOHRk7gQIXUSLAT6D crjanfHrScGrt92Qho3mLYA/frtpjL731GKYlBG84JolDxI2l1JvNi1Gv1AtG/0Q+S/Q qM/sFcXGD6Ht3CsJkc8qUHe/z0pu2HaBTEv7w= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references; b=ctMGHyfkWIOe6rnk4m1NfaTwcZMgm6jsLLGG09w5Jo0zR06S41ARjOJ8i58XMkFNhS AYB8GZ4+fcSV/GvMRZdVcuVUVkl0XYs+D9xgPjSwUwbs8NdPvFdLmrKuRqfXniwzjUdg WaVGBhzF54nkdfR88QkxciXEfG8VBsbrvkVBs= Received: by 10.187.162.6 with SMTP id p6mr57572fao.9.1221009783425; Tue, 09 Sep 2008 18:23:03 -0700 (PDT) Received: by 10.187.225.11 with HTTP; Tue, 9 Sep 2008 18:23:03 -0700 (PDT) Message-ID: <34d269d40809091823t204e252fl246443be71aed9ff@mail.gmail.com> Date: Tue, 9 Sep 2008 19:23:03 -0600 From: "Alex Hunsaker" To: "Kenneth Marshall" Subject: Re: hash index improving v3 Cc: "Tom Lane" , "Xiao Meng" , "Zdenek Kotala" , pgsql-patches@postgresql.org, "Jonah H. Harris" In-Reply-To: <20080909134839.GC6714@it.is.rice.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <10995.1220577198@sss.pgh.pa.us> <34d269d40809041854g355a8f68ga3a037a69e3d9fcb@mail.gmail.com> <11962.1220581027@sss.pgh.pa.us> <34d269d40809042048m3b532a5ej7a9588f63a788d0c@mail.gmail.com> <34d269d40809050912u33f2afc8mb90e316bc465136e@mail.gmail.com> <34d269d40809051321w2ed16037od0373a4a29c311f1@mail.gmail.com> <34d269d40809052249h59750f83v4b19a50d0555580@mail.gmail.com> <22574.1220728178@sss.pgh.pa.us> <34d269d40809061923k4c731481gf580d46d259defb0@mail.gmail.com> <20080909134839.GC6714@it.is.rice.edu> X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=0 tagged_above=0 required=5 tests=none X-Spam-Level: X-Archive-Number: 200809/104 X-Sequence-Number: 7119 On Tue, Sep 9, 2008 at 7:48 AM, Kenneth Marshall wrote: > I think that the glacial speed for generating a big hash index is > the same problem that the original code faced. Yeah sorry, I was not saying it was a new problem with the patch. Err at least not trying to :) *Both* of them had been running at 18+ (I finally killed them sometime Sunday or around +32 hours...) > It would be useful to have an equivalent test for the hash-only > index without the modified int8 hash function, since that would > be more representative of its performance. The collision rates > that I was observing in my tests of the old and new mix() functions > was about 2 * (1/10000) of what you test generated. You could just > test against the integers between 1 and 2000000. Sure but then its pretty much just a general test of patch vs no patch. i.e. How do we measure how much longer collisions take when the new patch makes things faster? That's what I was trying to measure... Though I apologize I don't think that was clearly stated anywhere... Now of course it still would be interesting... And if its only to 2,000,000 I can still use the modified int8 or just use the int4 one... Anyway Here are the numbers: create table test_hash(num int8); insert into test_hash (num) select generate_series(1, 2000000); create index test_hash_num_idx on test_hash (num); pgbench -c1 -n -t10000 -f bench_index.sql cvs head: tps = 3161.500511 v5: tps = 7248.808839 BTW Im still planning on doing a wide vs narrow test... sometime... :)