1The following are examples of py_cputime.d. 2 3This script traces the on-CPU time of JavaScript functions and prints a 4report. Here it traces the example program, Code/Python/func_slow.py 5 6# py_cputime.d 7Tracing... Hit Ctrl-C to end. 8^C 9 10Count, 11 FILE TYPE NAME COUNT 12 UserDict.py func ? 1 13 UserDict.py func DictMixin 1 14 UserDict.py func IterableUserDict 1 15 UserDict.py func UserDict 1 16 UserDict.py func __init__ 1 17 __init__.py func ? 1 18 __init__.py func CodecRegistryError 1 19 __init__.py func normalize_encoding 1 20 __init__.py func search_function 1 21 aliases.py func ? 1 22 ascii.py func ? 1 23 ascii.py func Codec 1 24 ascii.py func StreamConverter 1 25 ascii.py func StreamReader 1 26 ascii.py func StreamWriter 1 27 ascii.py func getregentry 1 28 codecs.py func ? 1 29 codecs.py func Codec 1 30 codecs.py func StreamReader 1 31 codecs.py func StreamReaderWriter 1 32 codecs.py func StreamRecoder 1 33 codecs.py func StreamWriter 1 34 copy_reg.py func ? 1 35 func_slow.py func ? 1 36 func_slow.py func func_a 1 37 func_slow.py func func_b 1 38 func_slow.py func func_c 1 39 linecache.py func ? 1 40 os.py func ? 1 41 os.py func _Environ 1 42 os.py func __init__ 1 43 os.py func _get_exports_list 1 44 posixpath.py func ? 1 45 posixpath.py func basename 1 46 posixpath.py func dirname 1 47 site.py func ? 1 48 site.py func _Helper 1 49 site.py func _Printer 1 50 site.py func _init_pathinfo 1 51 site.py func abs__file__ 1 52 site.py func addsitepackages 1 53 site.py func aliasmbcs 1 54 site.py func execsitecustomize 1 55 site.py func main 1 56 site.py func removeduppaths 1 57 site.py func setcopyright 1 58 site.py func setencoding 1 59 site.py func sethelper 1 60 site.py func setquit 1 61 stat.py func ? 1 62 types.py func ? 1 63 types.py func _C 1 64 warnings.py func ? 1 65 warnings.py func _OptionError 1 66 warnings.py func _processoptions 1 67 posixpath.py func exists 2 68 posixpath.py func split 2 69 site.py func addsitedir 2 70 warnings.py func simplefilter 2 71 copy_reg.py func constructor 3 72 copy_reg.py func pickle 3 73 site.py func __init__ 3 74 site.py func addpackage 3 75 stat.py func S_IFMT 6 76 stat.py func S_ISDIR 6 77 posixpath.py func isdir 8 78 os.py func _exists 10 79 <string> func ? 11 80 posixpath.py func normcase 14 81 site.py func makepath 14 82 posixpath.py func join 20 83 posixpath.py func abspath 22 84 posixpath.py func isabs 22 85 posixpath.py func normpath 22 86 - total - 230 87 88Exclusive function on-CPU times (us), 89 FILE TYPE NAME TOTAL 90 ascii.py func StreamWriter 1 91 __init__.py func CodecRegistryError 1 92 ascii.py func StreamReader 1 93 site.py func setencoding 1 94 warnings.py func _OptionError 1 95 UserDict.py func IterableUserDict 1 96 site.py func aliasmbcs 1 97 warnings.py func _processoptions 1 98 types.py func _C 1 99 ascii.py func getregentry 1 100 site.py func _Helper 2 101 ascii.py func Codec 2 102 ascii.py func StreamConverter 2 103 site.py func sethelper 2 104 codecs.py func Codec 2 105 UserDict.py func __init__ 3 106 posixpath.py func dirname 3 107 posixpath.py func basename 3 108 site.py func _Printer 3 109 os.py func _Environ 3 110 codecs.py func StreamWriter 3 111 site.py func setquit 3 112 copy_reg.py func constructor 3 113 codecs.py func StreamRecoder 4 114 codecs.py func StreamReaderWriter 5 115 codecs.py func StreamReader 5 116 os.py func __init__ 6 117 func_slow.py func ? 6 118 __init__.py func normalize_encoding 7 119 site.py func __init__ 7 120 linecache.py func ? 7 121 warnings.py func simplefilter 7 122 stat.py func S_IFMT 9 123 stat.py func ? 10 124 copy_reg.py func pickle 12 125 posixpath.py func split 12 126 posixpath.py func normcase 15 127 stat.py func S_ISDIR 17 128 site.py func addsitepackages 20 129 UserDict.py func ? 20 130 site.py func setcopyright 23 131 site.py func main 24 132 <string> func ? 28 133 UserDict.py func UserDict 31 134 site.py func _init_pathinfo 33 135 posixpath.py func exists 35 136 ascii.py func ? 38 137 posixpath.py func isabs 42 138 aliases.py func ? 43 139 site.py func removeduppaths 51 140 site.py func abs__file__ 56 141 codecs.py func ? 75 142 types.py func ? 83 143 posixpath.py func join 85 144 site.py func makepath 97 145 posixpath.py func abspath 99 146 os.py func _get_exports_list 132 147 __init__.py func search_function 142 148 warnings.py func ? 171 149 UserDict.py func DictMixin 182 150 posixpath.py func ? 192 151 copy_reg.py func ? 196 152 posixpath.py func normpath 209 153 posixpath.py func isdir 255 154 site.py func addpackage 375 155 site.py func addsitedir 506 156 site.py func execsitecustomize 540 157 site.py func ? 725 158 os.py func _exists 802 159 os.py func ? 1138 160 __init__.py func ? 1199 161 func_slow.py func func_a 229669 162 func_slow.py func func_b 456371 163 func_slow.py func func_c 686056 164 - total - 1379951 165 166Inclusive function on-CPU times (us), 167 FILE TYPE NAME TOTAL 168 ascii.py func StreamWriter 1 169 __init__.py func CodecRegistryError 1 170 ascii.py func StreamReader 1 171 site.py func setencoding 1 172 warnings.py func _OptionError 1 173 UserDict.py func IterableUserDict 1 174 site.py func aliasmbcs 1 175 warnings.py func _processoptions 1 176 types.py func _C 1 177 ascii.py func getregentry 1 178 site.py func _Helper 2 179 ascii.py func Codec 2 180 ascii.py func StreamConverter 2 181 site.py func sethelper 2 182 codecs.py func Codec 2 183 UserDict.py func __init__ 3 184 site.py func _Printer 3 185 os.py func _Environ 3 186 codecs.py func StreamWriter 3 187 site.py func setquit 3 188 copy_reg.py func constructor 3 189 codecs.py func StreamRecoder 4 190 codecs.py func StreamReaderWriter 5 191 codecs.py func StreamReader 5 192 __init__.py func normalize_encoding 7 193 site.py func __init__ 7 194 linecache.py func ? 7 195 warnings.py func simplefilter 7 196 stat.py func S_IFMT 9 197 os.py func __init__ 9 198 posixpath.py func basename 9 199 posixpath.py func dirname 10 200 stat.py func ? 10 201 posixpath.py func split 12 202 posixpath.py func normcase 15 203 copy_reg.py func pickle 15 204 stat.py func S_ISDIR 26 205 UserDict.py func UserDict 31 206 posixpath.py func exists 35 207 posixpath.py func isabs 42 208 aliases.py func ? 43 209 site.py func setcopyright 44 210 ascii.py func ? 45 211 types.py func ? 85 212 posixpath.py func join 85 213 codecs.py func ? 97 214 os.py func _get_exports_list 132 215 site.py func removeduppaths 171 216 UserDict.py func DictMixin 182 217 site.py func abs__file__ 184 218 warnings.py func ? 190 219 __init__.py func search_function 196 220 posixpath.py func ? 202 221 posixpath.py func normpath 209 222 UserDict.py func ? 235 223 posixpath.py func isdir 281 224 copy_reg.py func ? 288 225 posixpath.py func abspath 351 226 site.py func _init_pathinfo 392 227 site.py func makepath 395 228 site.py func execsitecustomize 540 229 os.py func _exists 819 230 <string> func ? 973 231 __init__.py func ? 1341 232 site.py func addpackage 1470 233 site.py func addsitepackages 1562 234 site.py func addsitedir 2420 235 site.py func main 2546 236 os.py func ? 2839 237 site.py func ? 6118 238 func_slow.py func func_c 686056 239 func_slow.py func func_b 1142427 240 func_slow.py func func_a 1372097 241 func_slow.py func ? 1372104 242 243You can see the results are printed in three sections. 244 245The first section reports how many times each function was called. 246 247The exclusive function on-CPU times shows, amongst other results that func_a 248spent around 0.22 seconds on-CPU. This times excludes time spent in 249other functions. 250 251The inclusive function on-CPU times show that func_a spent around 1.4 252seconds on-CPU. This includes the time spent in other functions called. 253 254These on-CPU times are the time the thread spent running on a CPU, from when 255the subroutine began to when it completed. This does not include time 256spent off-CPU time such as sleeping for I/O or waiting for scheduling. 257 258On-CPU times are useful for showing who is causing the CPUs to be busy. 259See Notes/ALLoncpu_notes.txt for more details. Also see 260Notes/ALLexclusive_notes.txt and Notes/ALLinclusive_notes.txt for a 261detailed explanation of exclusive vs inclusive subroutine time. 262 263