Alex Kozlov wrote:
Of course ps or top output much more convenient, but if setproctitle so
expencive and will be called so often, then SIGINFO may be good
compromise.
Regarding speed of setproctitle(), here are some microbenchmark results
from the attached test source:
getpid: 3661124.75 iterations/s
setproctitle: 591357.56 iterations/s
Meaning, setprocitle() is around 6 times more expensive than getpid(),
meaning it can only be pulled off nearly 600,000 calls/s on a 2.3 GHz
Core 2 CPU.
I really want to be enlightened about how it could affect wallclock time
in make(1).
----
#include <sys/time.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#define NITER 1e7
double now() {
struct timeval tp;
gettimeofday(&tp, NULL);
return tp.tv_sec + (double)tp.tv_usec / 1e6f;
}
int main() {
double t1, t2, t3;
int i;
t1 = now();
for (i = 0; i < NITER; i++)
getpid();
t2 = now() - t1;
printf("getpid: %0.2f iterations/s\n", (float)(NITER/t2));
t1 = now();
for (i = 0; i < NITER; i++)
setproctitle("t%d", i);
t3 = now() - t1;
printf("setproctitle: %0.2f iterations/s\n", (float)(NITER/t3));
}
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"