Setup to use Callgrind profiler
[stockfish] / src / main.cpp
index ac46659..01fb478 100644 (file)
@@ -17,6 +17,8 @@
   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+// To profile with callgrind uncomment following line
+//#define USE_CALLGRIND
 
 ////
 //// Includes
 #include "uci.h"
 #include "ucioption.h"
 
+#ifdef USE_CALLGRIND
+#include <valgrind/callgrind.h>
+#endif
+
 using std::string;
 
 ////
@@ -63,6 +69,10 @@ int main(int argc, char *argv[]) {
   init_bitbases();
   init_threads();
 
+#ifdef USE_CALLGRIND
+  CALLGRIND_START_INSTRUMENTATION;
+#endif
+
   // Make random number generation less deterministic, for book moves
   for (int i = abs(get_system_time() % 10000); i > 0; i--)
       genrand_int32();