From d4aa23722843d20ec5537fa1ac14e4e8f1345fe1 Mon Sep 17 00:00:00 2001 From: Bruce Evans Date: Sat, 8 Jun 1996 12:29:57 +0000 Subject: [PATCH] Print times/call in ns if hz >= 10e7. hz will be this large for high resolution profiling on Pentiums. On a 100MHz Pentium, the resolution is at best 10 ns and actually a few hundred ns, but units of 10's or 100's of ns would be inconvenient and the current units of 1 us are a bit too coarse. --- usr.bin/gprof/printgprof.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/usr.bin/gprof/printgprof.c b/usr.bin/gprof/printgprof.c index 716fd8b22aa2..0b039df23d65 100644 --- a/usr.bin/gprof/printgprof.c +++ b/usr.bin/gprof/printgprof.c @@ -110,8 +110,9 @@ flatprofheader() "% " , "cumulative" , "self " , "" , "self " , "total " , "" ); printf( "%5.5s %10.10s %8.8s %8.8s %8.8s %8.8s %-8.8s\n" , "time" , "seconds " , "seconds" , "calls" , - hz >= 10000 ? "us/call" : "ms/call" , - hz >= 10000 ? "us/call" : "ms/call" , "name" ); + hz >= 10000000 ? "ns/call" : hz >= 10000 ? "us/call" : "ms/call" , + hz >= 10000000 ? "ns/call" : hz >= 10000 ? "us/call" : "ms/call" , + "name" ); } flatprofline( np ) @@ -129,7 +130,11 @@ flatprofline( np ) printf( "%5.1f %10.2f %8.2f" , 100 * np -> time / totime , actime / hz , np -> time / hz ); if ( np -> ncall != 0 ) { - if (hz >= 10000) + if (hz >= 10000000) + printf( " %8d %8.0f %8.0f " , np -> ncall , + 1e9 * np -> time / hz / np -> ncall , + 1e9 * ( np -> time + np -> childtime ) / hz / np -> ncall ); + else if (hz >= 10000) printf( " %8d %8.0f %8.0f " , np -> ncall , 1e6 * np -> time / hz / np -> ncall , 1e6 * ( np -> time + np -> childtime ) / hz / np -> ncall );