So your code is running slow. How can you figure out what's wrong? machine code -- sampling/statistical vs. complete/deterministic/instrumentation -- clock precision issues -- scheduling issues -- call delay issues (event occurs, then slight delay to make gettime call) -- gprof -- compilation flags -- gprof & gmon.out -- other tools exist... -- timing info -- cumulative times -- call graphs -- profile, cProfile Python modules -- dtrace/instruments(mac dtrace)/netbeans dtrace -- performance counters -- time command cpu overuse -- ps -- top network -- ping -- netstat -- ntop -- ethereal -- congestion issues disk/fs -- iostat -- iozone -- nfsstat vm -- vmstat -- slabtop -- pmap -- /proc/meminfo db -- changing cache sizes -- query optimization -- proper indexing -- framework issues (depend on slow web proxy) mention sysinternals