/*
// A useful command from the people at Portals.
// I think Huthar wrote this one.
// 94-07-24 : Pallando added utime and stime bits from TMI
*/
#include <lib.h>
inherit LIB_DAEMON;
mixed cmd(string args) {
object act_ob;
mapping before, after;
int stime, usertime, eval_cost;
if(query_os_type() == "windows"){
write("This command does not work on Microsoft Windows.");
return 1;
}
if( !args || args == "" ) return "You must specify a command to execute.";
before = rusage();
catch(eval_cost = (int)previous_object()->eventForce(args));
after = rusage();
usertime = after["utime"] - before["utime"];
stime = after["stime"] - before["stime"];
message("system", "\n" + stime + " ms system time, " + usertime +
" ms user time, and " + eval_cost + " CPU cycles eval cost.",
this_player());
return 1;
}
int help()
{
write( @EndText
Syntax: gauge <command>
Effect: Gauges how many CPU cycles <command> takes to execute.
and how much system and user time.
Nota Bene: <command> must be typed in full (no aliases)
EndText
);
return 1;
}