Re: Should io_method=worker remain the default?
Nathan Bossart <nathandbossart@gmail.com>
From: Nathan Bossart <nathandbossart@gmail.com>
To: Andres Freund <andres@anarazel.de>
Cc: Jeff Davis <pgsql@j-davis.com>, pgsql-hackers@postgresql.org
Date: 2025-09-08T20:14:01Z
Lists: pgsql-hackers
On Mon, Sep 08, 2025 at 01:43:45PM -0400, Andres Freund wrote:
> On 2025-09-05 16:07:09 -0700, Jeff Davis wrote:
>> On Fri, 2025-09-05 at 13:25 -0700, Jeff Davis wrote:
>>> As an aside, I'm building with meson using -Dc_args="-msse4.2 -Wtype-
>>> limits -Werror=missing-braces". But I notice that the meson build
>>> doesn't seem to use -funroll-loops or -ftree-vectorize when building
>>> checksums.c. Is that intentional? If not, perhaps slower checksum
>>> calculations explain my results.
>
> Yes, that's an oversight.
>
>> Attached a patch. I'm not sure if it's the right way to do things, but
>> the resulting compiler command seems right to me.
>>
>> It doesn't affect my tests in this thread much, but it seems best to be
>> consistent with autoconf.
>
> Yes, we should do this - the patch looks good to me.
I think we need to do something similar for numeric.c.
diff --git a/src/backend/utils/adt/meson.build b/src/backend/utils/adt/meson.build
index dac372c3bea..7d0688ddb87 100644
--- a/src/backend/utils/adt/meson.build
+++ b/src/backend/utils/adt/meson.build
@@ -1,5 +1,14 @@
# Copyright (c) 2022-2025, PostgreSQL Global Development Group
+numeric_backend_lib = static_library('numeric_backend_lib',
+ 'numeric.c',
+ dependencies: backend_build_deps,
+ kwargs: internal_lib_args,
+ c_args: vectorize_cflags,
+)
+
+backend_link_with += numeric_backend_lib
+
backend_sources += files(
'acl.c',
'amutils.c',
@@ -61,7 +70,6 @@ backend_sources += files(
'network_gist.c',
'network_selfuncs.c',
'network_spgist.c',
- 'numeric.c',
'numutils.c',
'oid.c',
'oracle_compat.c',
--
nathan
Commits
-
meson: Build numeric.c with -ftree-vectorize.
- 9016fa7e3bcd 19 (unreleased) landed
- 87ea6e9b66b6 18.0 landed
- 509c779293f2 16.11 landed
- 15f9eeef624f 17.7 landed
-
meson: build checksums with extra optimization flags.
- 2de24ca6ca51 16.11 landed
- e25453a3631f 17.7 landed
- a7024398b80a 18.0 landed
- 9af672bcb245 19 (unreleased) landed