Re: use ARM intrinsics in pg_lfind32() where available

2022-08-29 Thread John Naylor
On Mon, Aug 29, 2022 at 3:19 PM John Naylor wrote: > > It turns out MSVC animal drongo doesn't like this cast -- on x86 they > are the same underlying type. Will look into that as more results come > in. Here's the simplest fix I can think of: /* * Exactly like vector8_is_highbi

Re: windows cfbot failing: my_perl

2022-08-26 Thread John Naylor
> mb/pg_wchar.h include out to before we include all the perl stuff. That does > fix the issue. We could also move is_valid_ascii somewhere else. It's only tangentially related to "wide chars" anyway. -- John Naylor EDB: http://www.enterprisedb.com

Re: Insertion Sort Improvements

2022-08-26 Thread John Naylor
and without the patch, to see how the inflection point shifts. That worked pretty well when testing dual-pivot. -- John Naylor EDB: http://www.enterprisedb.com From fd4bfdbee88478fac32838712c112d91f73c5db5 Mon Sep 17 00:00:00 2001 From: John Naylor Date: Wed, 4 May 2022 23:35:06 +0700 Subject: [PATCH

Re: use ARM intrinsics in pg_lfind32() where available

2022-08-29 Thread John Naylor
On Mon, Aug 29, 2022 at 12:44 PM Nathan Bossart wrote: > [v6] Pushed with a couple comment adjustments, let's see what the build farm thinks... -- John Naylor EDB: http://www.enterprisedb.com

Re: Insertion Sort Improvements

2022-08-28 Thread John Naylor
meliorated. As I said in the dual pivot thread, this would be great for dual pivot since we could reuse partial insertion sort for choosing the pivots, reducing binary space. -- John Naylor EDB: http://www.enterprisedb.com

Re: use ARM intrinsics in pg_lfind32() where available

2022-08-28 Thread John Naylor
wonder if we should explain briefly what saturating arithmetic is. I had never encountered it outside of a SIMD programming context. -- John Naylor EDB: http://www.enterprisedb.com

Re: use ARM intrinsics in pg_lfind32() where available

2022-08-29 Thread John Naylor
On Mon, Aug 29, 2022 at 11:25 AM John Naylor wrote: > +static inline bool > +vector32_is_highbit_set(const Vector32 v) > +{ > +#ifdef USE_SSE2 > + return (_mm_movemask_epi8(v) & 0x) != 0; > +#endif > +} > > I'm not sure why we need this function -- AFAICS

Re: use ARM intrinsics in pg_lfind32() where available

2022-08-29 Thread John Naylor
On Mon, Aug 29, 2022 at 4:28 PM John Naylor wrote: > > Here's the simplest fix I can think of: > > /* > * Exactly like vector8_is_highbit_set except for the input type, so > it still looks > * at each _byte_ separately. > * > * XXX x86 uses the same underlying

Re: windows cfbot failing: my_perl

2022-08-26 Thread John Naylor
Putting the > include in plperl.h would keep that aspect transparent, because plperl_utils.h > includes plperl.h. Since plperl_helpers.h already includes plperl.h, I'm not sure why both are included everywhere the former is. If .c/.xs files didn't include plperl.h directly, we could keep pg_wchar.h in plperl_helpers.h. Not sure if that's workable or any better... -- John Naylor EDB: http://www.enterprisedb.com

Re: windows cfbot failing: my_perl

2022-08-26 Thread John Naylor
On Sat, Aug 27, 2022 at 10:02 AM Tom Lane wrote: > > John Naylor writes: > > On Sat, Aug 27, 2022 at 4:15 AM Andres Freund wrote: > >> I think it'd also be needed in hstore_plperl.c, jsonb_plperl.c. Putting the > >> include in plperl.h would keep th

Re: use ARM intrinsics in pg_lfind32() where available

2022-08-27 Thread John Naylor
cast(c)); + result = vector8_has_zero(sub); I think we should invent a helper that does saturating subtraction and call that, inlining the sub var so we don't need to mess with it further. Otherwise seems fine. -- John Naylor EDB: http://www.enterprisedb.com

Re: windows cfbot failing: my_perl

2022-08-26 Thread John Naylor
On Sat, Aug 27, 2022 at 11:20 AM John Naylor wrote: > > Here's a patch with that idea, not tested on Windows yet. Update: I tried taking the CI for a spin, but ran into IT issues with Github when I tried to push my branch to remote. -- John Naylor EDB: http://www.enterprisedb.com

Re: windows cfbot failing: my_perl

2022-08-27 Thread John Naylor
On Sat, Aug 27, 2022 at 2:23 PM Andres Freund wrote: > > Hi, > > On 2022-08-27 12:53:24 +0700, John Naylor wrote: > > Update: I tried taking the CI for a spin, but ran into IT issues with > > Github when I tried to push my branch to remote. > > A github, not a CI is

Re: use ARM intrinsics in pg_lfind32() where available

2022-08-29 Thread John Naylor
On Tue, Aug 30, 2022 at 12:17 AM Nathan Bossart wrote: > Thanks! I've attached a follow-up patch with a couple of small > suggestions. Pushed, thanks! -- John Naylor EDB: http://www.enterprisedb.com

Re: use ARM intrinsics in pg_lfind32() where available

2022-08-21 Thread John Naylor
onal flags? I'm wondering if __aarch64__ would be clearer on that, and if we get windows-on-arm support as has been proposed, could also add _M_ARM64. I also see #if defined(__aarch64__) || defined(__aarch64) in our codebase already, but I'm not sure what recognizes the latter. -- John Naylor EDB: http://www.enterprisedb.com

Re: [PATCH] Optimize json_lex_string by batching character copying

2022-08-21 Thread John Naylor
it has a different API, requires new functions we don't need, and possibly has portability issues. A simple for-loop is better for assertions. - A runtime elog is not appropriate for a compile time check -- use #error instead. -- John Naylor EDB: http://www.enterprisedb.com

Re: [PATCH] Optimize json_lex_string by batching character copying

2022-08-30 Thread John Naylor
On Tue, Aug 23, 2022 at 1:03 PM John Naylor wrote: > > LGTM overall. My plan is to split out the json piece, adding tests for > that, and commit the infrastructure for it fairly soon. Here's the final piece. I debated how many tests to add and decided it was probably enough to add

Re: broken table formatting in psql

2022-09-01 Thread John Naylor
GHT-TO-LEFT MARK;Cf;0;R;N; So maybe we need to take Cf characters in this file into account, in addition to Me and Mn (combining characters). -- John Naylor EDB: http://www.enterprisedb.com

Re: [RFC] building postgres with meson - v12

2022-09-02 Thread John Naylor
ome buildfarm animals recently, it seems the oldest perl there is 5.14? ... which came out in 2011, so it seems later on we could just set that as the minimum. -- John Naylor EDB: http://www.enterprisedb.com

Re: broken table formatting in psql

2022-09-02 Thread John Naylor
On Fri, Sep 2, 2022 at 12:17 PM Kyotaro Horiguchi wrote: > > At Thu, 01 Sep 2022 18:22:06 +0900 (JST), Kyotaro Horiguchi > wrote in > > At Thu, 1 Sep 2022 15:00:38 +0700, John Naylor > > wrote in > > > UnicodeData.txt has this: > > > > > > 200

Re: [PATCH] Optimize json_lex_string by batching character copying

2022-09-01 Thread John Naylor
On Wed, Aug 31, 2022 at 11:17 AM Nathan Bossart wrote: > > On Wed, Aug 31, 2022 at 10:50:39AM +0700, John Naylor wrote: > > Here's the final piece. I debated how many tests to add and decided it > > was probably enough to add one each for checking quotes and > > back

Re: build remaining Flex files standalone

2022-09-02 Thread John Naylor
header > > Subject: [PATCH v4 03/11] Build guc-file.c standalone > > 01-03 are a bit more complicated, but still look not far off. There's a FIXME > about failing headercheck. -- John Naylor EDB: http://www.enterprisedb.com

Re: warning: comparison of integer expressions of different signedness related to simd.h

2022-09-02 Thread John Naylor
r (int i = 0; i < sizeof(Vector8); i++) > | ^ "int" should probably be "Size" -- does that remove the warning? -- John Naylor EDB: http://www.enterprisedb.com

Re: warning: comparison of integer expressions of different signedness related to simd.h

2022-09-03 Thread John Naylor
On Sat, Sep 3, 2022 at 12:57 PM Tom Lane wrote: > > John Naylor writes: > > On Sat, Sep 3, 2022 at 12:30 PM Pavel Stehule > > wrote: > >> /usr/local/pgsql/master/include/server/port/simd.h: In function > >> ‘vector8_has’: > >> /usr/local/pgsql/mast

Re: build remaining Flex files standalone

2022-09-03 Thread John Naylor
o how I did json path in the last patch. Also removed the bogus include from v4 to . Pushed 01 and 02 separately, then squashed and pushed the rest. -- John Naylor EDB: http://www.enterprisedb.com

Re: [RFC] building postgres with meson - v12

2022-09-04 Thread John Naylor
On Fri, Sep 2, 2022 at 11:35 PM Andres Freund wrote: > > Hi, > > On 2022-09-02 14:17:26 +0700, John Naylor wrote: > > On Thu, Sep 1, 2022 at 1:12 AM Andres Freund wrote: > > > [v12] > > > > +# Build a small utility static lib for the parser. This ma

Re: Compilation issue on Solaris.

2022-09-05 Thread John Naylor
arning". > > A positive argument for doing nothing is that there's room to worry > whether -D__STDC_WANT_LIB_EXT1__ might have any side-effects we > *don't* want. This is still listed in the CF as needing review, so I went and marked it rejected. -- John Naylor EDB: http://www.enterprisedb.com

Re: build remaining Flex files standalone

2022-09-06 Thread John Naylor
On Mon, Sep 5, 2022 at 1:18 AM Andres Freund wrote: > > Hi, > > On 2022-09-04 12:16:10 +0700, John Naylor wrote: > > Pushed 01 and 02 separately, then squashed and pushed the rest. > > Thanks a lot! It does look a good bit cleaner to me now. > > I think, as a follow

Re: Minimum bison and flex versions

2022-09-06 Thread John Naylor
Here are autoconf-only patches to that effect. -- John Naylor EDB: http://www.enterprisedb.com From 5e07442ebf728c486536038aecf29aefcc892455 Mon Sep 17 00:00:00 2001 From: John Naylor Date: Tue, 6 Sep 2022 11:41:58 +0700 Subject: [PATCH v2 2/2] Bump minimum version of Flex to 2.5.35 Since the retirement o

Re: [RFC] building postgres with meson - v12

2022-09-06 Thread John Naylor
On Mon, Sep 5, 2022 at 4:11 AM Andres Freund wrote: > > Hi, > > On 2022-09-04 13:12:52 +0700, John Naylor wrote: > > On Fri, Sep 2, 2022 at 11:35 PM Andres Freund wrote: > > > > > > Hi, > > > > > > On 2022-09-02 14:17:26 +0700, John Naylo

Re: use ARM intrinsics in pg_lfind32() where available

2022-08-23 Thread John Naylor
On Tue, Aug 23, 2022 at 4:15 AM Nathan Bossart wrote: > > On Mon, Aug 22, 2022 at 11:50:35AM +0700, John Naylor wrote: > > Is this also ever defined on 32-bit? If so, is it safe, meaning the > > compiler will not emit these instructions without additional flags? > > I'm w

Re: [PATCH] Optimize json_lex_string by batching character copying

2022-08-23 Thread John Naylor
On Wed, Aug 24, 2022 at 12:15 AM Nathan Bossart wrote: > > On Tue, Aug 23, 2022 at 01:03:03PM +0700, John Naylor wrote: > > On Tue, Aug 23, 2022 at 10:32 AM Nathan Bossart > >> Here's a new version of the patch with the 32-bit changes and calls to > >> lfind() rem

Re: fix typo - empty statement ;;

2022-08-22 Thread John Naylor
On Tue, Aug 23, 2022 at 7:14 AM Peter Smith wrote: > > I noticed an accidental ;; > > PSA patch to remove the same. Pushed. -- John Naylor EDB: http://www.enterprisedb.com

Re: Considering additional sort specialisation functions for PG16

2022-08-22 Thread John Naylor
, and (only if there are additional sort keys) once on the null partition. And the pre-partitioning would take care of nulls first/last upfront. I haven't looked into the feasibility of this yet, but the good thing about the concept is that it removes null handling in the comparators without addition

Re: [PATCH] Optimize json_lex_string by batching character copying

2022-08-23 Thread John Naylor
On Tue, Aug 23, 2022 at 10:32 AM Nathan Bossart wrote: > > On Mon, Aug 22, 2022 at 02:22:29PM -0700, Nathan Bossart wrote: > > On Mon, Aug 22, 2022 at 09:35:34AM +0700, John Naylor wrote: > >> Not at all! However, the 32-bit-element changes are irrelevant for > >&

Re: Considering additional sort specialisation functions for PG16

2022-08-23 Thread John Naylor
On Tue, Aug 23, 2022 at 11:24 AM David Rowley wrote: > > On Tue, 23 Aug 2022 at 15:22, John Naylor > wrote: > > Did you happen to see > > > > https://www.postgresql.org/message-id/CAFBsxsFhq8VUSkUL5YO17cFXbCPwtbbxBu%2Bd9MFrrsssfDXm3Q%40mail.gmail.com > > I m

Re: use ARM intrinsics in pg_lfind32() where available

2022-08-25 Thread John Naylor
On Thu, Aug 25, 2022 at 11:57 AM Nathan Bossart wrote: > > On Thu, Aug 25, 2022 at 10:38:34AM +0700, John Naylor wrote: > > On Thu, Aug 25, 2022 at 1:01 AM Nathan Bossart > > wrote: > >> On Wed, Aug 24, 2022 at 11:07:03AM +0700, John Naylor wrote: > >> > -

Re: [PATCH] Optimize json_lex_string by batching character copying

2022-08-25 Thread John Naylor
"==" instead of "<=" for this one? Good catch, will fix. -- John Naylor EDB: http://www.enterprisedb.com

Re: use SSE2 for is_valid_ascii

2022-08-26 Thread John Naylor
On Fri, Aug 26, 2022 at 10:26 AM Nathan Bossart wrote: > > On Thu, Aug 25, 2022 at 04:41:53PM +0700, John Naylor wrote: > > v3 applies on top of the v9 json_lex_string patch in [1] and adds a > > bit more to that, resulting in a simpler patch that is more amenable > > to

Re: [PATCH] Optimize json_lex_string by batching character copying

2022-08-26 Thread John Naylor
On Thu, Aug 25, 2022 at 1:35 PM John Naylor wrote: > > I think I'll go ahead and commit 0001 in a couple days pending further > comments. Pushed with Nathan's correction and some cosmetic rearrangements. -- John Naylor EDB: http://www.enterprisedb.com

Re: [PATCH] Optimize json_lex_string by batching character copying

2022-08-19 Thread John Naylor
On Tue, Aug 16, 2022 at 4:23 AM Nathan Bossart wrote: > > On Mon, Aug 15, 2022 at 08:33:21PM +0700, John Naylor wrote: > > +#ifdef USE_SSE2 > > + chunk = _mm_loadu_si128((const __m128i *) [i]); > > +#else > > + memcpy(, [i

Re: [PoC] Improve dead tuple storage for lazy vacuum

2022-09-28 Thread John Naylor
On Wed, Sep 28, 2022 at 1:18 PM John Naylor wrote: > [stuff about size classes] I kind of buried the lede here on one thing: If we only have 4 kinds regardless of the number of size classes, we can use 2 bits of the pointer for dispatch, which would only require 4-byte alignment. That sho

Re: [RFC] building postgres with meson - v13

2022-09-27 Thread John Naylor
On Tue, Sep 27, 2022 at 2:06 AM Andres Freund wrote: > > On 2022-09-26 15:18:29 +0700, John Naylor wrote: > > Either way it doesn't exist on this machine. I was able to get a working > > build with > > > > /usr/local/Homebrew/Library/Homebrew/os/mac/pkgconfig > &

Re: fixing typo in comment for restriction_is_or_clause

2022-10-24 Thread John Naylor
at the behavior is. > I also took the chance to simplify the code a little bit. It's perfectly clear and simple now, even if it doesn't win at "code golf". -- John Naylor EDB: http://www.enterprisedb.com

Re: fixing typo in comment for restriction_is_or_clause

2022-10-25 Thread John Naylor
On Tue, Oct 25, 2022 at 9:48 AM Richard Guo wrote: > > > On Tue, Oct 25, 2022 at 10:05 AM John Naylor wrote: >> >> It's perfectly clear and simple now, even if it doesn't win at "code golf". > > > Agree with your point. Do you think we can furt

Re: [PoC] Improve dead tuple storage for lazy vacuum

2022-10-26 Thread John Naylor
This would have to change when we implement shrinking of nodes, but might still be useful. + if (!rt_node_search_leaf(node, key, RT_ACTION_FIND, value_p)) + return false; + + return true; Maybe just "return rt_node_search_leaf(...)" ? -- John Naylor EDB: http://www.enterprisedb.com

Re: [PoC] Improve dead tuple storage for lazy vacuum

2022-10-26 Thread John Naylor
info_elem rt_node_kind_info[RT_NODE_KIND_COUNT] = { In the assembly, I see it checks if there is room in the node by doing a runtime lookup in this array, which is not constant. This might not be important just yet, because I want to base the check on the proposed node capacity instead, but I menti

Re: Documentation for building with meson

2022-10-27 Thread John Naylor
a naive user -- it would be good to try running everything documented here. -- John Naylor EDB: http://www.enterprisedb.com

Re: Reducing the chunk header sizes on all memory context types

2022-10-24 Thread John Naylor
On Thu, Oct 20, 2022 at 1:55 AM Andres Freund wrote: > > Hi, > > On 2022-10-11 10:21:17 +0700, John Naylor wrote: > > On Tue, Oct 11, 2022 at 5:31 AM David Rowley wrote: > > > > > > The proposed patches in [1] do aim to make additional usages of the > &

Re: [RFC] building postgres with meson - v13

2022-09-20 Thread John Naylor
homebrew section is still labeled with "find MacPorts libraries". -- John Naylor EDB: http://www.enterprisedb.com

Re: [PoC] Improve dead tuple storage for lazy vacuum

2022-09-21 Thread John Naylor
On Tue, Sep 20, 2022 at 3:19 PM Masahiko Sawada wrote: > > On Fri, Sep 16, 2022 at 4:54 PM John Naylor > wrote: > > Here again, I'd rather put this off and focus on getting the "large > > details" in good enough shape so we can got towards integrating

Re: broken table formatting in psql

2022-09-12 Thread John Naylor
he actual logic/data change is low-risk. The patch renames two files, which seems a bit much this late in the cycle. Maybe that's okay, but I'd like someone else to opine before doing so. -- John Naylor EDB: http://www.enterprisedb.com

Re: build remaining Flex files standalone

2022-09-12 Thread John Naylor
On Fri, Sep 9, 2022 at 12:18 PM John Naylor wrote: > > It seems gramparse.h isn't installed now? In any case, here's a patch > to move gramparse to the backend dir and stop symlinking/ installing > gram.h. Looking more closely at src/include/Makefile, this is incorrect -- all file

Re: minimum perl version

2022-09-13 Thread John Naylor
older Windows and Visual Studio versions, maybe it's low-enough risk defer the check to the Meson conversion? I understand our MSVC process will then go away much more quickly than autoconf... -- John Naylor EDB: http://www.enterprisedb.com From d8e241968395c552d667c1eb393cbaea12f0df6c Mon Sep 17 00

Re: minimum perl version

2022-09-13 Thread John Naylor
On Wed, Sep 14, 2022 at 10:46 AM Tom Lane wrote: > > John Naylor writes: > > On Wed, Sep 14, 2022 at 6:47 AM Tom Lane wrote: > >> I've just switched longfin to use built-from-source perl 5.14.0. > > > In that case, here is a quick update with commit message. N

Re: build remaining Flex files standalone

2022-09-13 Thread John Naylor
On Wed, Sep 14, 2022 at 6:10 AM Andres Freund wrote: > > On 2022-09-12 14:49:50 +0700, John Naylor wrote: > > CI builds fine. For v2 I only adjusted the commit message. I'll push > > in a couple days unless there are objections. > > Makes sense to me. Thanks for work

Re: failing to build preproc.c on solaris with sun studio

2022-09-13 Thread John Naylor
fair, our grammar changes much more often. One other possible deal-breaker of that is that it makes it more painful for forks to maintain additional syntax. -- John Naylor EDB: http://www.enterprisedb.com

Re: New strategies for freezing, advancing relfrozenxid early

2022-09-14 Thread John Naylor
m size, so there is no up front calculation assuming max-tuples-per-page, so it automatically uses less memory for less demanding tables. (But +1 for changing that calculation for as long as we do have the single array.) -- John Naylor EDB: http://www.enterprisedb.com

Re: Inconsistencies in error messages

2022-09-14 Thread John Naylor
rker without shared memory access are not supported", + errmsg("background worker \"%s\": background workers without shared memory access are not supported", is a grammar error so worth backpatching, but the rest are cosmetic. Will commit this way unless there are objections. -- John Naylor EDB: http://www.enterprisedb.com

Re: minimum perl version

2022-09-13 Thread John Naylor
so we can say > "5.14" in the docs without fine print. Until such time as that happens, here is a draft to require 5.14.2. -- John Naylor EDB: http://www.enterprisedb.com config/perl.m4 | 4 ++-- configure| 6 +++--- doc/src/sgm

Re: proposal: possibility to read dumped table's name from file

2022-09-13 Thread John Naylor
> readable. Although for this case, a handy written parser was trivial too. If the hand-written version is trivial, then we should prefer it. -- John Naylor EDB: http://www.enterprisedb.com

Re: broken table formatting in psql

2022-09-13 Thread John Naylor
On Thu, Sep 8, 2022 at 12:39 PM John Naylor wrote: > > On Fri, Sep 2, 2022 at 3:19 PM Kyotaro Horiguchi > wrote: > > > > At Fri, 2 Sep 2022 13:43:50 +0700, John Naylor > > wrote in > > > If there is any doubt about including all of Cf, we could also just &

Re: minimum perl version

2022-09-13 Thread John Naylor
On Tue, Sep 13, 2022 at 5:53 PM John Naylor wrote: > > Until such time as that happens, here is a draft to require 5.14.2. As soon as I hit send, it occurred to me that we don't check the perl version on Windows, since (I seem to recall) 5.8.3 was too old to be an option on that platform.

Re: broken table formatting in psql

2022-09-07 Thread John Naylor
On Fri, Sep 2, 2022 at 3:19 PM Kyotaro Horiguchi wrote: > > At Fri, 2 Sep 2022 13:43:50 +0700, John Naylor > wrote in > > If there is any doubt about including all of Cf, we could also just > > add a branch in wchar.c to hard-code the 200B-200F range. > > If every wa

Re: [RFC] building postgres with meson - v12

2022-09-08 Thread John Naylor
On Wed, Sep 7, 2022 at 3:36 PM Alvaro Herrera wrote: > > On 2022-Sep-06, John Naylor wrote: > > > Note that the indentation hasn't changed. My thought there: perltidy > > will be run again next year, at which time it will be part of a listed > > whitespace-only co

Re: build remaining Flex files standalone

2022-09-08 Thread John Naylor
> > I found in my notes: > > * maybe gram.h and gramparse.h should not be installed > > So, yeah. ;-) It seems gramparse.h isn't installed now? In any case, here's a patch to move gramparse to the backend dir and stop symlinking/ installing gram.h. Confusingly, MSVC didn't seem to copy gram.h t

Re: Minimum bison and flex versions

2022-09-08 Thread John Naylor
On Fri, Sep 9, 2022 at 12:07 AM Andres Freund wrote: > > Hi, > > On 2022-09-06 13:32:32 +0700, John Naylor wrote: > > Here are autoconf-only patches to that effect. > > Looks like you did actually include src/tools/msvc as well :) Ah, in my head I meant "no patches f

Re: Cleaning up historical portability baggage

2022-09-15 Thread John Naylor
AM Thomas Munro wrote: > Remaining things from this thread: > * removing --disable-thread-safety > * removing those vestigial HAVE_XXX macros (one by one analysis and patches) > * making Unix sockets secure for Windows in tests -- John Naylor EDB: http://www.enterprisedb.com

Re: Support for Rust

2022-09-19 Thread John Naylor
ndamental rethinking of memory management, error handling, > and some other things". That's pretty much a non-starter. Added "Rewrite the code in a different language" to "Features We Do Not Want" section of Wiki, referencing the two threads that came up: htt

Re: Typo in xact.c

2022-09-18 Thread John Naylor
On Fri, Sep 16, 2022 at 10:51 AM John Naylor wrote: > > On Fri, Sep 16, 2022 at 10:11 AM Kyotaro Horiguchi > wrote: > > > > The patch seems to me covering all occurances of PG_PROC as PGPROC. > > +1 since this hinders grep-ability. Pushed this. > >

Re: [PoC] Improve dead tuple storage for lazy vacuum

2022-09-22 Thread John Naylor
On Thu, Sep 22, 2022 at 7:52 PM John Naylor wrote: > > > On Thu, Sep 22, 2022 at 1:26 PM Masahiko Sawada wrote: > > Good point. While keeping the chunks in the small nodes in sorted > > order is useful for visiting all keys in sorted order, additional > > branches and

Re: [PoC] Improve dead tuple storage for lazy vacuum

2022-09-22 Thread John Naylor
On Thu, Sep 22, 2022 at 11:46 AM John Naylor wrote: > One thing I want to try soon is storing fewer than 16/32 etc entries, so that the whole node fits comfortably inside a power-of-two allocation. That would allow us to use aset without wasting space for the smaller nodes, which would be fas

Re: [PoC] Improve dead tuple storage for lazy vacuum

2022-09-22 Thread John Naylor
On Thu, Sep 22, 2022 at 1:26 PM Masahiko Sawada wrote: > > On Thu, Sep 22, 2022 at 1:46 PM John Naylor > wrote: > > While on the subject, I wonder how important it is to keep the chunks in the small nodes in sorted order. That adds branches and memmove calls, and is t

Re: [RFC] building postgres with meson - v13

2022-09-26 Thread John Naylor
to get a working build with /usr/local/Homebrew/Library/Homebrew/os/mac/pkgconfig (My homebrew install doesn't seem to have anything relevant for extra_include_dirs or extra_lib_dirs.) 2) Also, "ninja -v install" has the same line count as "ninja install" -- are there versions t

Re: [PoC] Improve dead tuple storage for lazy vacuum

2022-09-16 Thread John Naylor
On Fri, Sep 16, 2022 at 1:01 PM Masahiko Sawada wrote: > > On Mon, Aug 15, 2022 at 10:39 PM John Naylor > wrote: > > > > bool, buth = and <=. Should be pretty close. Also, i believe if you > > left this for last as a possible refactoring, it might save some work. v

Re: Typo in xact.c

2022-09-15 Thread John Naylor
overing all occurances of PG_PROC as PGPROC. +1 since this hinders grep-ability. > I found several uses of PG_PROC as (pg_catalog.)pg_proc, which is > quite confusing, too.. It's pretty obvious to me what that refers to in primnodes.h, although the capitalization of (some, but not all) catalo

Re: Inconsistencies in error messages

2022-09-15 Thread John Naylor
On Wed, Sep 14, 2022 at 5:25 PM John Naylor wrote: > Will commit this way unless there are objections. I forgot to mention yesterday, but this is done. -- John Naylor EDB: http://www.enterprisedb.com

Re: New strategies for freezing, advancing relfrozenxid early

2022-09-15 Thread John Naylor
On Wed, Sep 14, 2022 at 11:33 PM Peter Geoghegan wrote: > > On Wed, Sep 14, 2022 at 3:18 AM John Naylor > > Furthermore, it doesn't have to anticipate the maximum size, so there > > is no up front calculation assuming max-tuples-per-page, so it > > automatically u

Re: [PATCH] Clarify the comments about varlena header encoding

2022-09-07 Thread John Naylor
ings worse in this respect. Do you think we should address this > too? I suspect that describing the difference between the header and > the type tag here will create even more confusion. I said nothing about describing the difference between the header and type tag. The patch added xxx's for the type tag in a comment about the header. This is more misleading than what is there now. -- John Naylor EDB: http://www.enterprisedb.com

Re: failing to build preproc.c on solaris with sun studio

2022-09-07 Thread John Naylor
.) > > The approach with the make targets is better than a configure option, > because it allows you to build a narrow set of things during development > and then build everything for final confirmation, without having to > re-run configure. Also, it's less confusing for packagers. Another point is that the --with-FOO options are intended for building and linking with external library FOO. -- John Naylor EDB: http://www.enterprisedb.com

Re: proposal: possibility to read dumped table's name from file

2022-09-09 Thread John Naylor
uce derivation Filters ↳ 2: Filters Filter ↳ 1: ε • ↳ 5: C_EXCLUDE exclude_object pattern -- John Naylor EDB: http://www.enterprisedb.com

Re: broken table formatting in psql

2022-09-11 Thread John Naylor
. > > > I think it can be fixed just in v15 and master. This issue has no impact on > SQL. Well, if the regressions from v11 are not important enough to backpatch, there is not as much of a case to backpatch the full fix to v15 either. -- John Naylor EDB: http://www.enterprisedb.com

Re: [PATCH] Clarify the comments about varlena header encoding

2022-09-11 Thread John Naylor
ader is at a kind of "local maximum" -- minor adjustments are more likely to make it worse. To significantly improve clarity might require a larger rewriting, but I'm not personally interested in taking part in that. -- John Naylor EDB: http://www.enterprisedb.com

Re: [PoC] Improve dead tuple storage for lazy vacuum

2022-09-21 Thread John Naylor
On Thu, Sep 22, 2022 at 1:01 AM Nathan Bossart wrote: > > On Wed, Sep 21, 2022 at 01:17:21PM +0700, John Naylor wrote: > > > In short, this code needs to be lower level so that we still have full > > control while being portable. I will work on this, and also the rela

Re: [RFC] building postgres with meson - v13

2022-09-29 Thread John Naylor
On Tue, Sep 27, 2022 at 2:41 PM John Naylor wrote: > > On Tue, Sep 27, 2022 at 2:06 AM Andres Freund wrote: > > > > On 2022-09-26 15:18:29 +0700, John Naylor wrote: > > Yea, it's /usr/local on x86-64, based on what was required to make macos CI > > work. I updat

Re: [PoC] Improve dead tuple storage for lazy vacuum

2022-10-05 Thread John Naylor
On Wed, Oct 5, 2022 at 1:46 PM Masahiko Sawada wrote: > > On Wed, Sep 28, 2022 at 12:49 PM Masahiko Sawada wrote: > > > > On Fri, Sep 23, 2022 at 12:11 AM John Naylor > > wrote: > > Yeah, node31 and node256 are bloated. We probably could use slab for > &g

Re: [PoC] Improve dead tuple storage for lazy vacuum

2022-10-06 Thread John Naylor
On Thu, Oct 6, 2022 at 2:53 PM Masahiko Sawada wrote: > > On Wed, Oct 5, 2022 at 6:40 PM John Naylor wrote: > > > > This wasn't the focus of your current email, but while experimenting with v6 I had another thought about local allocation: If we use the default slab block

Re: Reducing the chunk header sizes on all memory context types

2022-10-10 Thread John Naylor
I have proposed in that thread a scheme to squeeze things into power-of-two sizes without wasting quite as much space. That's not a done deal, of course, but it could work today without adding memory management code. [1] https://www.postgresql.org/message-id/20220704220038.at2ane5xkymzzssb%40awork3.anarazel.de

Re: introduce optimized linear search functions that return index of matching element

2022-10-11 Thread John Naylor
On Sat, Sep 17, 2022 at 12:29 PM Nathan Bossart wrote: > > On Fri, Sep 16, 2022 at 02:54:14PM +0700, John Naylor wrote: > > v6 demonstrates why this should have been put off towards the end. (more below) > > Since the SIMD code is fresh in my mind, I wanted to offer my

Re: meson PGXS compatibility

2022-10-12 Thread John Naylor
nds on SSE4.2. We can't assume those currently. -- John Naylor EDB: http://www.enterprisedb.com

Re: [PoC] Improve dead tuple storage for lazy vacuum

2022-10-09 Thread John Naylor
ple: we don't shrink at all now. :-) -- John Naylor EDB: http://www.enterprisedb.com

Re: [PoC] Improve dead tuple storage for lazy vacuum

2022-10-09 Thread John Naylor
On Mon, Oct 10, 2022 at 12:16 PM John Naylor wrote: > Thanks for that! Now I can show clear results on some aspects in a simple way. The attached patches (apply on top of v6) Forgot the patchset... -- John Naylor EDB: http://www.enterprisedb.com radix-v6-addendum-jcn1.tar.gz Descript

Re: Remove unnecessary commas for goto labels

2022-10-10 Thread John Naylor
> You mean semi-colon? +1, and a quick regex later I don't see any other > occurrence. Interestingly, I did find that in C, some statement is needed after a label, even an empty one, otherwise it won't compile. That's not the case here, though, so pushed. -- John Naylor EDB: http://www.enterprisedb.com

Re: Insertion Sort Improvements

2022-09-27 Thread John Naylor
e serious about trying to improve insertion sort performance, the simple idea we discussed at the start of the thread is a much more modest step that has a good chance of justifying the time put into it. That is not to say it's easy, however, because testing is a non-trivial amount of work. --

Re: [PoC] Improve dead tuple storage for lazy vacuum

2022-09-28 Thread John Naylor
air, but it's usually small compared to array size. Somewhat unrelated, we could still implement Andres' idea [1] to dispense with the isset array in inner nodes of the indirect array type (now node128), since we can just test if the pointer is null. [1] https://www.postgresql.org/message-id/20220704

Re: [PoC] Improve dead tuple storage for lazy vacuum

2022-10-06 Thread John Naylor
array_serach_ms -+--+-++---+--+- 100 | 10199040 | 18000 |171 | 107 | 827 | 1400 -- John Naylor EDB: http://www.enterprisedb.com From 43a50a385930ee340d0a3b003910c704a0ff342

Re: fix typos

2022-08-04 Thread John Naylor
On Thu, Aug 4, 2022 at 8:41 PM Tom Lane wrote: > > John Naylor writes: > > RepOriginId is a typedef for uint16, so this can't print the wrong answer, > > but it is inconsistent with other uses. So it seems we don't need to > > backpatch this one? > > Um ..

Re: optimize lookups in snapshot [sub]xip arrays

2022-08-04 Thread John Naylor
On Fri, Aug 5, 2022 at 5:15 AM Nathan Bossart wrote: > > On Thu, Aug 04, 2022 at 02:58:14PM +0700, John Naylor wrote: > > Were you considering adding the new function to simd.h now that that's > > committed? It's a bit up in the air what should go in there, but this new > &g

use SSE2 for is_valid_ascii

2022-08-10 Thread John Naylor
of code and it's difficult to see what's different for each platform, IMO. -- John Naylor EDB: http://www.enterprisedb.com From 69d56a21192ed2f03bc08f078cfff7ba5cb0d80b Mon Sep 17 00:00:00 2001 From: John Naylor Date: Fri, 5 Aug 2022 13:30:47 +0700 Subject: [PATCH v2] Use SSE2 in is_valid_ascii wher

Re: optimize lookups in snapshot [sub]xip arrays

2022-08-09 Thread John Naylor
(). Here > is an example. LGTM, let's see what the buildfarm thinks of 0001. -- John Naylor EDB: http://www.enterprisedb.com

<    4   5   6   7   8   9   10   11   12   13   >