Make process title - % complete
Robert Noland
rnoland at FreeBSD.org
Tue Oct 20 13:22:36 UTC 2009
On Tue, 2009-10-20 at 14:42 +0200, Ivan Voras wrote:
> 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).
What is the relative difference in buildworld time with and without?
robert.
> ----
>
> #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 at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"
--
Robert Noland <rnoland at FreeBSD.org>
FreeBSD
More information about the freebsd-hackers
mailing list