changeset 13:0a35d8de4296

support profiling with gprof
author Henry S. Thompson <ht@inf.ed.ac.uk>
date Fri, 07 Feb 2025 14:43:27 +0000
parents 0e21568dec72
children b7bbc84fe17f
files Makefile cdbget.c cdbtest.c
diffstat 3 files changed, 13 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile	Mon Feb 03 17:31:23 2025 +0000
+++ b/Makefile	Fri Feb 07 14:43:27 2025 +0000
@@ -222,6 +222,9 @@
 it_debug: \
 debug prog install instcheck
 
+it_profile: \
+profile prog install instcheck
+
 load: \
 warn-auto.sh conf-ld
 	( cat warn-auto.sh; \
@@ -264,6 +267,11 @@
 	sed '1s/LDFLAGS/-s/' conf-ld.ac > conf-ld
 	chmod +x conf-??
 
+profile:
+	sed "1s@FIXME@${HOME}@" conf-home.ac > conf-home
+	sed '1s/CFLAGS/-O2 -pg/' conf-cc.ac > conf-cc
+	sed '1s/LDFLAGS/-pg/' conf-ld.ac > conf-ld
+	chmod +x conf-??
 prog: \
 cdbget cdbmake cdbdump cdbstats cdbtest cdbmake-12 cdbmake-sv rts \
 testzero libcdb.a
--- a/cdbget.c	Mon Feb 03 17:31:23 2025 +0000
+++ b/cdbget.c	Fri Feb 07 14:43:27 2025 +0000
@@ -4,6 +4,7 @@
 #include "buffer.h"
 #include "strerr.h"
 #include "cdb.h"
+#include <stdlib.h>
 
 #define FATAL "cdbget: fatal: "
 
@@ -46,7 +47,7 @@
   for (;;) {
     r = cdb_findnext(&c,key,str_len(key));
     if (r == -1) die_read();
-    if (!r) _exit(100);
+    if (!r) exit(100);
     if (!u) break;
     --u;
   }
@@ -63,5 +64,5 @@
     len -= r;
   }
   if (buffer_flush(buffer_1small) == -1) die_write();
-  _exit(0);
+  exit(0);
 }
--- a/cdbtest.c	Mon Feb 03 17:31:23 2025 +0000
+++ b/cdbtest.c	Fri Feb 07 14:43:27 2025 +0000
@@ -5,6 +5,7 @@
 #include "seek.h"
 #include "str.h"
 #include "cdb.h"
+#include <stdlib.h>
 
 #define FATAL "cdbtest: fatal: "
 
@@ -116,5 +117,5 @@
   putnum("not found: ",numnotfound);
   putnum("untested: ",numuntested);
   putflush();
-  _exit(0);
+  exit(0);
 }