Re: Adding CI to our tree - Mailing list pgsql-hackers

From Justin Pryzby
Subject Re: Adding CI to our tree
Date
Msg-id 20220309174723.GA28503@telsasoft.com
Whole thread Raw
In response to Re: Adding CI to our tree  (Justin Pryzby <pryzby@telsasoft.com>)
Responses Re: Adding CI to our tree  (Andres Freund <andres@anarazel.de>)
List 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@telsasoft.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
> 



pgsql-hackers by date:

Previous
From: Álvaro Herrera
Date:
Subject: Re: support for MERGE
Next
From: Andres Freund
Date:
Subject: Re: Adding CI to our tree