Re: Adding CI to our tree

From: Justin Pryzby <pryzby(at)telsasoft(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Robert Haas <robertmhaas(at)gmail(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>, pgsql-hackers(at)postgresql(dot)org, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Melanie Plageman <melanieplageman(at)gmail(dot)com>, Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>, Daniel Gustafsson <daniel(at)yesql(dot)se>
Subject: Re: Adding CI to our tree
Date: 2022-03-09 17:47:23
Message-ID: 20220309174723.GA28503@telsasoft.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I'm curious what you think of this patch.

It makes check-world on freebsd over 30% faster - saving 5min.

Apparently gcc -Og was added in gcc 4.8 (c. 2013).

On Wed, Mar 02, 2022 at 02:50:58PM -0600, Justin Pryzby wrote:
> From d180953d273c221a30c5e9ad8d74b1b4dfc60bd1 Mon Sep 17 00:00:00 2001
> From: Justin Pryzby <pryzbyj(at)telsasoft(dot)com>
> Date: Sun, 27 Feb 2022 15:17:50 -0600
> Subject: [PATCH 7/7] cirrus: compile with -Og..
>
> To improve performance of check-world, and improve debugging, without
> significantly slower builds (they're cached anyway).
>
> This makes freebsd check-world run in 8.5 minutes rather than 15 minutes.
> ---
> .cirrus.yml | 12 +++++++-----
> src/tools/msvc/MSBuildProject.pm | 4 ++--
> 2 files changed, 9 insertions(+), 7 deletions(-)
>
> diff --git a/.cirrus.yml b/.cirrus.yml
> index 6f05d420c85..8b673bf58cf 100644
> --- a/.cirrus.yml
> +++ b/.cirrus.yml
> @@ -113,7 +113,7 @@ task:
> \
> CC="ccache cc" \
> CXX="ccache c++" \
> - CFLAGS="-O0 -ggdb"
> + CFLAGS="-Og -ggdb"
> EOF
> build_script: su postgres -c "gmake -s -j${BUILD_JOBS} world-bin"
> upload_caches: ccache
> @@ -208,8 +208,8 @@ task:
> CC="ccache gcc" \
> CXX="ccache g++" \
> CLANG="ccache clang" \
> - CFLAGS="-O0 -ggdb" \
> - CXXFLAGS="-O0 -ggdb"
> + CFLAGS="-Og -ggdb" \
> + CXXFLAGS="-Og -ggdb"
> EOF
> build_script: su postgres -c "make -s -j${BUILD_JOBS} world-bin"
> upload_caches: ccache
> @@ -329,8 +329,8 @@ task:
> CC="ccache cc" \
> CXX="ccache c++" \
> CLANG="ccache ${brewpath}/llvm/bin/ccache" \
> - CFLAGS="-O0 -ggdb" \
> - CXXFLAGS="-O0 -ggdb" \
> + CFLAGS="-Og -ggdb" \
> + CXXFLAGS="-Og -ggdb" \
> \
> LLVM_CONFIG=${brewpath}/llvm/bin/llvm-config \
> PYTHON=python3
> @@ -383,6 +383,8 @@ task:
> # -fileLoggerParameters1: write to msbuild.warn.log.
> MSBFLAGS: -m -verbosity:minimal "-consoleLoggerParameters:Summary;ForceNoAlign" /p:TrackFileAccess=false -nologo -fileLoggerParameters1:warningsonly;logfile=msbuild.warn.log
>
> + MSBUILD_OPTIMIZE: MaxSpeed
> +
> # If tests hang forever, cirrus eventually times out. In that case log
> # output etc is not uploaded, making the problem hard to debug. Of course
> # tests internally should have shorter timeouts, but that's proven to not
> diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm
> index 5e312d232e9..05e0c41eb5c 100644
> --- a/src/tools/msvc/MSBuildProject.pm
> +++ b/src/tools/msvc/MSBuildProject.pm
> @@ -85,7 +85,7 @@ EOF
> $f, 'Debug',
> {
> defs => "_DEBUG;DEBUG=1",
> - opt => 'Disabled',
> + opt => $ENV{MSBUILD_OPTIMIZE} || 'Disabled',
> strpool => 'false',
> runtime => 'MultiThreadedDebugDLL'
> });
> @@ -94,7 +94,7 @@ EOF
> 'Release',
> {
> defs => "",
> - opt => 'Full',
> + opt => $ENV{MSBUILD_OPTIMIZE} || 'Full',
> strpool => 'true',
> runtime => 'MultiThreadedDLL'
> });
> --
> 2.17.1
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2022-03-09 18:12:54 Re: Adding CI to our tree
Previous Message Álvaro Herrera 2022-03-09 17:44:42 Re: support for MERGE