aboutsummaryrefslogtreecommitdiffstats
path: root/INSTALL
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2018-03-07 12:25:59 +0100
committerMatthias P. Braendli <matthias.braendli@mpb.li>2018-03-07 12:26:10 +0100
commit0265c80544aac93e238bcfb2d61afc547c48a829 (patch)
treee6380ea560a4f0fde1be7fae6acb7db7640948c1 /INSTALL
parent38db981490655c737dac6ef546f65b1e93d1d99a (diff)
downloaddabmod-0265c80544aac93e238bcfb2d61afc547c48a829.tar.gz
dabmod-0265c80544aac93e238bcfb2d61afc547c48a829.tar.bz2
dabmod-0265c80544aac93e238bcfb2d61afc547c48a829.zip
Remove --enable-debug configure flag
With --enable-debug, compiler flags include -g -O2, i.e. with debugging, with optimisations. Without --enable-debug, compiler flags include -g -O2 -DNDEBUG -g -O2 are defaults according to AC_PROG_CXX The macro NDEBUG has a small performance impact (less than 1%), but can put issues to light. It is beneficial to have assertions always enabled. Remove the flag, and let the user override CFLAGS/CXXFLAGS if he wishes to. This is documented in INSTALL.
Diffstat (limited to 'INSTALL')
-rw-r--r--INSTALL19
1 files changed, 14 insertions, 5 deletions
diff --git a/INSTALL b/INSTALL
index 464eb57..7b18d2c 100644
--- a/INSTALL
+++ b/INSTALL
@@ -27,16 +27,14 @@ The configure script can be launch with a variety of options:
output and remotecontrol.
--disable-output-uhd Disable the binding to the UHD driver for USRPs
--enable-fast-math Compile using the -ffast-math option that gives a substantial
- speedup at the cost of correctness.
+ speedup at the cost of floating point correctness.
--disable-native Do not compile ODR-DabMod with -march=native compiler option.
This is meant for distribution package maintainers who want to
use their own march option, and for people running into compilation
issues due to -march=native. (e.g. GCC bug 70132 on ARM systems)
--enable-edi Enable the EDI input.
-Debugging options: You should not enable debug if you need good performance.
-By default, debug is disabled.
- --enable-debug Do not compile with debugging, and enable optimisations
+Debugging options: You should not enable any debug option if you need good performance.
--enable-trace Create debugging files for each DSP block for data analysis
For more information, call:
@@ -54,10 +52,21 @@ Tricks for best performance:
* Do not use --disable-native
* Use --enable-fast-math
* Add -O3 to compiler flags
+ * Disable assertions with -DNDEBUG
Applying all together:
- % CFLAGS="-O3" CXXFLAGS="-O3" ./configure --enable-fast-math
+ % ./configure CFLAGS="-O3 -DNDEBUG" CXXFLAGS="-O3 -DNDEBUG" --enable-fast-math
+
+Checking for memory usage issues
+--------------------------------
+If your compiler supports it, you can enable the address sanitizer to check for memory
+issues:
+
+ % ./configure CFLAGS="-fsanitize=address -g -O2" CXXFLAGS="-fsanitize=address -g -O2"
+
+The resulting binary will be instrumented with additional memory checks, which have a
+measurable overhead. Please report if you get warnings or errors when using the sanitizer.
Nearly as simple install procedure using repository:
====================================================