<s> import getrusage <EOL> import string <EOL> def format_rusage ( l ) : <EOL> times = map ( lambda x : "<STR_LIT>" % x , l [ : <NUM_LIT:3> ] ) <EOL> nums = ( <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" <EOL> "<STR_LIT>" % tuple ( l [ <NUM_LIT:3> : ] ) <EOL> ) <EOL> return string . join ( times + [ nums ] , '<STR_LIT:|>' ) <EOL> def diff_timeval ( a , b ) : <EOL> r = [ <NUM_LIT:0> , <NUM_LIT:0> ] <EOL> r [ <NUM_LIT:0> ] = b [ <NUM_LIT:0> ] - a [ <NUM_LIT:0> ] <EOL> r [ <NUM_LIT:1> ] = b [ <NUM_LIT:1> ] - a [ <NUM_LIT:1> ] <EOL> if ( r [ <NUM_LIT:1> ] < <NUM_LIT:0> ) : <EOL> r [ <NUM_LIT:0> ] -= <NUM_LIT:1> <EOL> r [ <NUM_LIT:1> ] += <NUM_LIT> <EOL> return tuple ( r ) <EOL> def diff_rusage ( a , b ) : <EOL> rrt , rut , rst = map ( diff_timeval , a [ : <NUM_LIT:3> ] , b [ : <NUM_LIT:3> ] ) <EOL> return ( <EOL> rrt , <EOL> rut , <EOL> rst , <EOL> b [ <NUM_LIT:3> ] , <EOL> b [ <NUM_LIT:4> ] , <EOL> b [ <NUM_LIT:5> ] , <EOL> b [ <NUM_LIT:6> ] , <EOL> b [ <NUM_LIT:7> ] - a [ <NUM_LIT:7> ] , <EOL> b [ <NUM_LIT:8> ] - a [ <NUM_LIT:8> ] , <EOL> b [ <NUM_LIT:9> ] - a [ <NUM_LIT:9> ] , <EOL> b [ <NUM_LIT:10> ] - a [ <NUM_LIT:10> ] , <EOL> b [ <NUM_LIT:11> ] - a [ <NUM_LIT:11> ] , <EOL> b [ <NUM_LIT:12> ] - a [ <NUM_LIT:12> ] , <EOL> b [ <NUM_LIT> ] - a [ <NUM_LIT> ] , <EOL> b [ <NUM_LIT> ] - a [ <NUM_LIT> ] , <EOL> b [ <NUM_LIT:15> ] - a [ <NUM_LIT:15> ] , <EOL> b [ <NUM_LIT:16> ] - a [ <NUM_LIT:16> ] , <EOL> ) <EOL> class real_timer : <EOL> def __init__ ( self ) : <EOL> self . start = getrusage . getrusage ( ) <EOL> def mark ( self ) : <EOL> self . start = getrusage . getrusage ( ) <EOL> def bench ( self ) : <EOL> now = getrusage . getrusage ( ) <EOL> return diff_rusage ( self . start , now ) <EOL> def dump_stats_by_line ( ) : <EOL> import sys <EOL> d = sys . statistical_profiling_data . items ( ) <EOL> d . sort ( lambda a , b : cmp ( b [ <NUM_LIT:1> ] , a [ <NUM_LIT:1> ] ) ) <EOL> for ( co , line ) , count in d [ : <NUM_LIT:100> ] : <EOL> print '<STR_LIT>' % ( count , co . co_filename , co . co_name , line ) <EOL> def dump_stats_by_fun ( ) : <EOL> import sys <EOL> d = sys . statistical_profiling_data . items ( ) <EOL> d2 = { } <EOL> for ( co , line ) , count in d : <EOL> n = d2 . get ( co , <NUM_LIT:0> ) <EOL> d2 [ co ] = count + n <EOL> d2 = d2 . items ( ) <EOL> d2 . sort ( lambda a , b : cmp ( b [ <NUM_LIT:1> ] , a [ <NUM_LIT:1> ] ) ) <EOL> for co , count in d2 [ : <NUM_LIT:100> ] : <EOL> print '<STR_LIT>' % ( count , co . co_filename , co . co_name ) </s>
