4233 - no real difference between -O2 or -O3
Neither in compile time, nor in the performance of the generated code. (Triggered by https://developers.redhat.com/blog/2018/03/21/compiler-and-linker-flags-gcc)
This commit is contained in:
parent
6b1bd1ffad
commit
34514ae8a6
8
build0
8
build0
|
@ -21,12 +21,12 @@ cd tangle
|
|||
grep -h "^[[:space:]]*void test_" [0-9]*.cc |sed 's/^\s*void \(.*\)() {$/\1,/' > test_list
|
||||
# }
|
||||
# Now that we have all the _lists, compile 'tangle'
|
||||
g++ -g -O3 boot.cc -o tangle
|
||||
g++ -g -O2 boot.cc -o tangle
|
||||
cd ..
|
||||
|
||||
cd termbox
|
||||
gcc -g -O3 -c termbox.c
|
||||
gcc -g -O3 -c utf8.c
|
||||
gcc -g -O2 -c termbox.c
|
||||
gcc -g -O2 -c utf8.c
|
||||
ar rcs libtermbox.a *.o
|
||||
cd ..
|
||||
|
||||
|
@ -38,6 +38,6 @@ cd ..
|
|||
grep -h "^[^[:space:]#].*) {$" mu.cc |grep -v ":.*(" |sed 's/ {.*/;/' > function_list
|
||||
# auto-generate list of tests to run
|
||||
grep -h "^\s*void test_" mu.cc |sed 's/^\s*void \(.*\)() {.*/\1,/' > test_list
|
||||
g++ -g -O3 mu.cc termbox/libtermbox.a -o mu_bin
|
||||
g++ -g -O2 mu.cc termbox/libtermbox.a -o mu_bin
|
||||
|
||||
cat [0-9]*.mu > core.mu
|
||||
|
|
2
build1
2
build1
|
@ -12,7 +12,7 @@ set -e # stop immediately on error
|
|||
# $ CFLAGS=-g ./build1
|
||||
test "$CXX" || export CXX=c++
|
||||
test "$CC" || export CC=cc
|
||||
test "$CFLAGS" || export CFLAGS="-g -O3"
|
||||
test "$CFLAGS" || export CFLAGS="-g -O2"
|
||||
export CFLAGS="$CFLAGS -Wall -Wextra -ftrapv -fno-strict-aliasing"
|
||||
|
||||
# Outline:
|
||||
|
|
4
build2
4
build2
|
@ -12,7 +12,7 @@ set -e # stop immediately on error
|
|||
# $ CFLAGS=-g ./build2
|
||||
test "$CXX" || export CXX=c++
|
||||
test "$CC" || export CC=cc
|
||||
test "$CFLAGS" || export CFLAGS="-g -O3"
|
||||
test "$CFLAGS" || export CFLAGS="-g -O2"
|
||||
export CFLAGS="$CFLAGS -Wall -Wextra -ftrapv -fno-strict-aliasing"
|
||||
|
||||
# Outline:
|
||||
|
@ -113,7 +113,7 @@ older_than mu.cc $LAYERS enumerate/enumerate tangle/tangle && {
|
|||
}
|
||||
|
||||
older_than cleave/cleave cleave/cleave.cc && {
|
||||
$CXX -O3 -Wall -Wextra -fno-strict-aliasing cleave/cleave.cc -o cleave/cleave
|
||||
$CXX $CFLAGS cleave/cleave.cc -o cleave/cleave
|
||||
rm -rf .build
|
||||
}
|
||||
|
||||
|
|
4
build3
4
build3
|
@ -9,7 +9,7 @@ set -e # stop immediately on error
|
|||
# $ CFLAGS=-g ./build3
|
||||
test "$CXX" || export CXX=c++
|
||||
test "$CC" || export CC=cc
|
||||
test "$CFLAGS" || export CFLAGS="-g -O3"
|
||||
test "$CFLAGS" || export CFLAGS="-g -O2"
|
||||
export CFLAGS="$CFLAGS -Wall -Wextra -ftrapv -fno-strict-aliasing"
|
||||
|
||||
# Outline:
|
||||
|
@ -138,7 +138,7 @@ older_than mu.cc $LAYERS enumerate/enumerate tangle/tangle && {
|
|||
}
|
||||
|
||||
older_than cleave/cleave cleave/cleave.cc && {
|
||||
$CXX -O3 -Wall -Wextra -fno-strict-aliasing cleave/cleave.cc -o cleave/cleave
|
||||
$CXX $CFLAGS cleave/cleave.cc -o cleave/cleave
|
||||
rm -rf .build
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue