adding support for google performance tools to the build sytem, it can be enabled...
authorDejan Jovanović <dejan.jovanovic@gmail.com>
Mon, 14 Mar 2011 22:14:47 +0000 (22:14 +0000)
committerDejan Jovanović <dejan.jovanovic@gmail.com>
Mon, 14 Mar 2011 22:14:47 +0000 (22:14 +0000)
--with-google-perftools

to use it on ubuntu, you need to install packages google-perftools and libgoogle-perftools0

to run the profiling of the heap, you can run it for example with

HEAPPROFILE=/tmp/profile ./builds/bin/cvc4 test/regress/regress0/lemmas/clocksynchro_5clocks.main_invar.base.smt

this will create some files  /tmp/profile* that you can then

to get the pdf of the profile you can then run

google-pprof --pdf ./builds/bin/cvc4 /tmp/profile.0001.heap > profile.pdf

or for other options check http://goog-perftools.sourceforge.net/doc/

configure.ac

index 707cbea002ca145ee9242ff5e3a9bc09dd2900ec..66e8acd7dc3279010aa4fb2fbb6aff8e6a5e6507 100644 (file)
@@ -173,8 +173,23 @@ AC_PROG_CC
 AC_PROG_CXX
 AC_PROG_INSTALL
 
-# determine whether to use CLN or GMP.
-# we do this here so it can affect the build directory
+# Whether to compile with google profiling tools
+cvc4_use_google_perftools=0
+AC_ARG_WITH(
+    [google_perftools],
+    AS_HELP_STRING(
+        [--with-google-perftools],
+        [use Google Performance Tools]
+    ),
+    [if test "$withval" != no; then
+        cvc4_use_google_perftools=1
+     fi
+    ]
+)
+
+if test $cvc4_use_google_perftools = 1; then
+  LIBS="${LIBS:+$LIBS } -ltcmalloc -lpthread "
+fi
 
 # [chris 8/24/2010] The user *must* specify --with-cln to get CLN
 # (and, thus, opt in to the GPL dependency).