home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / gnu / emacs-19.16 / lisp / profile.elc < prev    next >
Emacs Compiled Lisp  |  1993-07-05  |  5.4 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text


This file was processed as: Emacs Compiled Lisp (other/emacsCompiledLisp).
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
1% dexvert Emacs Compiled Lisp (other/emacsCompiledLisp) magic Unsupported
1% dexvert Combustion 2 Particle Library (other/combustion2ParticleLibrary) ext Unsupported
100% file Emacs/XEmacs v19 byte-compiled Lisp data default
99% file data default
100% TrID Emacs/XEmacs byte-compiled Lisp (generic) default
100% xdgMime text/x-emacs-lisp default (weak)



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 3b 45 4c 43 13 00 00 00 | 0a 3b 3b 3b 20 63 6f 6d |;ELC....|.;;; com|
|00000010| 70 69 6c 65 64 20 62 79 | 20 6a 69 6d 62 40 67 65 |piled by| jimb@ge|
|00000020| 65 63 68 2e 67 6e 75 2e | 61 69 2e 6d 69 74 2e 65 |ech.gnu.|ai.mit.e|
|00000030| 64 75 20 6f 6e 20 4d 6f | 6e 20 4a 75 6c 20 20 35 |du on Mo|n Jul 5|
|00000040| 20 32 33 3a 34 36 3a 30 | 39 20 31 39 39 33 0a 3b | 23:46:0|9 1993.;|
|00000050| 3b 3b 20 66 72 6f 6d 20 | 66 69 6c 65 20 2f 67 64 |;; from |file /gd|
|00000060| 2f 67 6e 75 2f 65 6d 61 | 63 73 2f 31 39 2e 30 2f |/gnu/ema|cs/19.0/|
|00000070| 6c 69 73 70 2f 70 72 6f | 66 69 6c 65 2e 65 6c 0a |lisp/pro|file.el.|
|00000080| 3b 3b 3b 20 65 6d 61 63 | 73 20 76 65 72 73 69 6f |;;; emac|s versio|
|00000090| 6e 20 31 39 2e 31 35 2e | 31 36 2e 0a 3b 3b 3b 20 |n 19.15.|16..;;; |
|000000a0| 62 79 74 65 63 6f 6d 70 | 20 76 65 72 73 69 6f 6e |bytecomp| version|
|000000b0| 20 46 53 46 20 32 2e 31 | 30 0a 3b 3b 3b 20 6f 70 | FSF 2.1|0.;;; op|
|000000c0| 74 69 6d 69 7a 61 74 69 | 6f 6e 20 69 73 20 6f 6e |timizati|on is on|
|000000d0| 2e 0a 3b 3b 3b 20 74 68 | 69 73 20 66 69 6c 65 20 |..;;; th|is file |
|000000e0| 75 73 65 73 20 6f 70 63 | 6f 64 65 73 20 77 68 69 |uses opc|odes whi|
|000000f0| 63 68 20 64 6f 20 6e 6f | 74 20 65 78 69 73 74 20 |ch do no|t exist |
|00000100| 69 6e 20 45 6d 61 63 73 | 20 31 38 2e 0a 0a 28 69 |in Emacs| 18...(i|
|00000110| 66 20 28 61 6e 64 20 28 | 62 6f 75 6e 64 70 20 27 |f (and (|boundp '|
|00000120| 65 6d 61 63 73 2d 76 65 | 72 73 69 6f 6e 29 0a 09 |emacs-ve|rsion)..|
|00000130| 20 28 6f 72 20 28 61 6e | 64 20 28 62 6f 75 6e 64 | (or (an|d (bound|
|00000140| 70 20 27 65 70 6f 63 68 | 3a 3a 76 65 72 73 69 6f |p 'epoch|::versio|
|00000150| 6e 29 20 65 70 6f 63 68 | 3a 3a 76 65 72 73 69 6f |n) epoch|::versio|
|00000160| 6e 29 0a 09 20 20 20 20 | 20 28 73 74 72 69 6e 67 |n).. | (string|
|00000170| 2d 6c 65 73 73 70 20 65 | 6d 61 63 73 2d 76 65 72 |-lessp e|macs-ver|
|00000180| 73 69 6f 6e 20 22 31 39 | 22 29 29 29 0a 20 20 20 |sion "19|"))). |
|00000190| 20 28 65 72 72 6f 72 20 | 22 54 68 69 73 20 66 69 | (error |"This fi|
|000001a0| 6c 65 20 77 61 73 20 63 | 6f 6d 70 69 6c 65 64 20 |le was c|ompiled |
|000001b0| 66 6f 72 20 45 6d 61 63 | 73 20 31 39 22 29 29 0a |for Emac|s 19")).|
|000001c0| 0a 28 64 65 66 76 61 72 | 20 70 72 6f 66 69 6c 65 |.(defvar| profile|
|000001d0| 2d 66 75 6e 63 74 69 6f | 6e 73 2d 6c 69 73 74 20 |-functio|ns-list |
|000001e0| 6e 69 6c 20 22 5c 0a 2a | 4c 69 73 74 20 6f 66 20 |nil "\.*|List of |
|000001f0| 66 75 6e 63 74 69 6f 6e | 73 20 74 6f 20 70 72 6f |function|s to pro|
|00000200| 66 69 6c 65 22 29 0a 28 | 64 65 66 76 61 72 20 70 |file").(|defvar p|
|00000210| 72 6f 66 69 6c 65 2d 74 | 69 6d 65 72 2d 70 72 6f |rofile-t|imer-pro|
|00000220| 67 72 61 6d 20 22 65 6d | 61 63 73 2d 74 69 6d 65 |gram "em|acs-time|
|00000230| 72 22 20 22 5c 0a 2a 4e | 61 6d 65 20 6f 66 20 74 |r" "\.*N|ame of t|
|00000240| 68 65 20 74 69 6d 65 72 | 20 70 72 6f 67 72 61 6d |he timer| program|
|00000250| 22 29 0a 28 64 65 66 76 | 61 72 20 70 72 6f 66 69 |").(defv|ar profi|
|00000260| 6c 65 2d 74 69 6d 65 72 | 2d 70 72 6f 63 65 73 73 |le-timer|-process|
|00000270| 20 6e 69 6c 20 22 5c 0a | 50 72 6f 63 65 73 73 20 | nil "\.|Process |
|00000280| 72 75 6e 6e 69 6e 67 20 | 74 68 65 20 74 69 6d 65 |running |the time|
|00000290| 72 22 29 0a 28 64 65 66 | 76 61 72 20 70 72 6f 66 |r").(def|var prof|
|000002a0| 69 6c 65 2d 74 69 6d 65 | 2d 6c 69 73 74 20 6e 69 |ile-time|-list ni|
|000002b0| 6c 20 22 5c 0a 4c 69 73 | 74 20 6f 66 20 61 63 63 |l "\.Lis|t of acc|
|000002c0| 75 6d 75 6c 61 74 69 76 | 65 20 74 69 6d 65 20 66 |umulativ|e time f|
|000002d0| 6f 72 20 65 61 63 68 20 | 70 72 6f 66 69 6c 65 64 |or each |profiled|
|000002e0| 20 66 75 6e 63 74 69 6f | 6e 22 29 0a 28 64 65 66 | functio|n").(def|
|000002f0| 76 61 72 20 70 72 6f 66 | 69 6c 65 2d 69 6e 69 74 |var prof|ile-init|
|00000300| 2d 6c 69 73 74 20 6e 69 | 6c 20 22 5c 0a 4c 69 73 |-list ni|l "\.Lis|
|00000310| 74 20 6f 66 20 65 6e 74 | 72 79 20 74 69 6d 65 20 |t of ent|ry time |
|00000320| 66 6f 72 20 65 61 63 68 | 20 66 75 6e 63 74 69 6f |for each| functio|
|00000330| 6e 2e 20 0a 42 6f 74 68 | 20 68 6f 77 20 6d 61 6e |n. .Both| how man|
|00000340| 79 20 74 69 6d 65 73 20 | 69 6e 76 6f 6b 65 64 20 |y times |invoked |
|00000350| 61 6e 64 20 72 65 61 6c | 20 74 69 6d 65 20 6f 66 |and real| time of|
|00000360| 20 73 74 61 72 74 2e 22 | 29 0a 28 64 65 66 76 61 | start."|).(defva|
|00000370| 72 20 70 72 6f 66 69 6c | 65 2d 6d 61 78 2d 66 75 |r profil|e-max-fu|
|00000380| 6e 2d 6e 61 6d 65 20 30 | 20 22 5c 0a 4d 61 78 20 |n-name 0| "\.Max |
|00000390| 6c 65 6e 67 74 68 20 6f | 66 20 6e 61 6d 65 20 6f |length o|f name o|
|000003a0| 66 20 61 6e 79 20 66 75 | 6e 63 74 69 6f 6e 20 70 |f any fu|nction p|
|000003b0| 72 6f 66 69 6c 65 64 22 | 29 0a 28 64 65 66 76 61 |rofiled"|).(defva|
|000003c0| 72 20 70 72 6f 66 69 6c | 65 2d 74 65 6d 70 2d 72 |r profil|e-temp-r|
|000003d0| 65 73 75 6c 74 2d 20 6e | 69 6c 20 22 5c 0a 53 68 |esult- n|il "\.Sh|
|000003e0| 6f 75 6c 64 20 4e 4f 54 | 20 62 65 20 75 73 65 64 |ould NOT| be used|
|000003f0| 20 61 6e 79 77 68 65 72 | 65 20 65 6c 73 65 22 29 | anywher|e else")|
|00000400| 0a 28 64 65 66 76 61 72 | 20 70 72 6f 66 69 6c 65 |.(defvar| profile|
|00000410| 2d 74 69 6d 65 20 28 62 | 79 74 65 2d 63 6f 64 65 |-time (b|yte-code|
|00000420| 20 22 c0 89 42 87 22 20 | 5b 30 5d 20 32 29 20 22 | "..B." |[0] 2) "|
|00000430| 5c 0a 55 73 65 64 20 74 | 6f 20 72 65 74 75 72 6e |\.Used t|o return|
|00000440| 20 72 65 73 75 6c 74 20 | 66 72 6f 6d 20 61 20 66 | result |from a f|
|00000450| 69 6c 74 65 72 22 29 0a | 28 64 65 66 76 61 72 20 |ilter").|(defvar |
|00000460| 70 72 6f 66 69 6c 65 2d | 62 75 66 66 65 72 20 22 |profile-|buffer "|
|00000470| 2a 70 72 6f 66 69 6c 65 | 2a 22 20 22 5c 0a 4e 61 |*profile|*" "\.Na|
|00000480| 6d 65 20 6f 66 20 70 72 | 6f 66 69 6c 65 20 62 75 |me of pr|ofile bu|
|00000490| 66 66 65 72 22 29 0a 28 | 64 65 66 61 6c 69 61 73 |ffer").(|defalias|
|000004a0| 20 27 70 72 6f 66 69 6c | 65 2d 66 75 6e 63 74 69 | 'profil|e-functi|
|000004b0| 6f 6e 73 20 23 5b 28 26 | 6f 70 74 69 6f 6e 61 6c |ons #[(&|optional|
|000004c0| 20 66 6c 69 73 74 29 20 | 22 08 84 06 00 09 10 c2 | flist) |".......|
|000004d0| c3 08 5c 22 87 22 20 5b | 66 6c 69 73 74 20 70 72 |..\"." [|flist pr|
|000004e0| 6f 66 69 6c 65 2d 66 75 | 6e 63 74 69 6f 6e 73 2d |ofile-fu|nctions-|
|000004f0| 6c 69 73 74 20 6d 61 70 | 63 61 72 20 70 72 6f 66 |list map|car prof|
|00000500| 69 6c 65 2d 61 2d 66 75 | 6e 63 74 69 6f 6e 5d 20 |ile-a-fu|nction] |
|00000510| 33 20 22 5c 0a 50 72 6f | 66 69 6c 65 20 61 6c 6c |3 "\.Pro|file all|
|00000520| 20 74 68 65 20 66 75 6e | 63 74 69 6f 6e 73 20 6c | the fun|ctions l|
|00000530| 69 73 74 65 64 20 69 6e | 20 70 72 6f 66 69 6c 65 |isted in| profile|
|00000540| 2d 66 75 6e 63 74 69 6f | 6e 73 2d 6c 69 73 74 2e |-functio|ns-list.|
|00000550| 0a 57 69 74 68 20 61 72 | 67 75 6d 65 6e 74 20 46 |.With ar|gument F|
|00000560| 4c 49 53 54 2c 20 75 73 | 65 20 74 68 65 20 6c 69 |LIST, us|e the li|
|00000570| 73 74 20 46 4c 49 53 54 | 20 69 6e 73 74 65 61 64 |st FLIST| instead|
|00000580| 2e 22 20 22 2a 50 22 5d | 29 0a 28 64 65 66 61 6c |." "*P"]|).(defal|
|00000590| 69 61 73 20 27 70 72 6f | 66 69 6c 65 2d 66 69 6c |ias 'pro|file-fil|
|000005a0| 74 65 72 20 23 5b 28 70 | 72 6f 63 65 73 73 20 69 |ter #[(p|rocess i|
|000005b0| 6e 70 75 74 29 20 22 c0 | c1 5c 6e 5c 22 c3 55 83 |nput) ".|.\n\".U.|
|000005c0| 0f 00 c4 c5 0e 06 5c 22 | 87 0e 07 c8 5c 6e c3 89 |......\"|....\n..|
|000005d0| 94 4f 21 a0 88 0e 07 c8 | 5c 6e c3 95 c9 4f 21 a1 |.O!.....|\n...O!.|
|000005e0| 87 22 20 5b 73 74 72 69 | 6e 67 2d 6d 61 74 63 68 |." [stri|ng-match|
|000005f0| 20 22 5c 5c 2e 22 20 69 | 6e 70 75 74 20 30 20 65 | "\\." i|nput 0 e|
|00000600| 72 72 6f 72 20 22 42 61 | 64 20 6f 75 74 70 75 74 |rror "Ba|d output|
|00000610| 20 66 72 6f 6d 20 25 73 | 22 20 70 72 6f 66 69 6c | from %s|" profil|
|00000620| 65 2d 74 69 6d 65 72 2d | 70 72 6f 67 72 61 6d 20 |e-timer-|program |
|00000630| 70 72 6f 66 69 6c 65 2d | 74 69 6d 65 20 73 74 72 |profile-|time str|
|00000640| 69 6e 67 2d 74 6f 2d 69 | 6e 74 20 6e 69 6c 5d 20 |ing-to-i|nt nil] |
|00000650| 35 20 22 5c 0a 46 69 6c | 74 65 72 20 66 6f 72 20 |5 "\.Fil|ter for |
|00000660| 74 68 65 20 74 69 6d 65 | 72 20 70 72 6f 63 65 73 |the time|r proces|
|00000670| 73 2e 20 53 65 74 73 20 | 70 72 6f 66 69 6c 65 2d |s. Sets |profile-|
|00000680| 74 69 6d 65 20 74 6f 20 | 74 68 65 20 72 65 74 75 |time to |the retu|
|00000690| 72 6e 65 64 20 74 69 6d | 65 2e 22 5d 29 0a 28 64 |rned tim|e."]).(d|
|000006a0| 65 66 61 6c 69 61 73 20 | 27 70 72 6f 66 69 6c 65 |efalias |'profile|
|000006b0| 2d 70 72 69 6e 74 20 23 | 5b 28 65 6e 74 72 79 29 |-print #|[(entry)|
|000006c0| 20 22 08 41 c1 c2 1b 1c | 1d c6 c7 08 40 5c 22 0e | ".A....|....@\".|
|000006d0| 08 b1 02 88 c9 0e 5c 6e | 21 88 cb 0d 40 21 89 14 |......\n|!...@!..|
|000006e0| 63 88 0c 47 0b 59 84 38 | 00 c9 0e 5c 6e 21 88 0e |c..G.Y.8|...\n!..|
|000006f0| 0c cd 0b 0c 47 5a 4f 63 | 88 0c 47 75 88 cb 0d 41 |....GZOc|..Gu...A|
|00000700| 21 14 ce cf cd d0 0c 47 | 5a 4f 0c d1 b1 04 2b 87 |!......G|ZO....+.|
|00000710| 22 20 5b 65 6e 74 72 79 | 20 6e 69 6c 20 35 20 6f |" [entry| nil 5 o|
|00000720| 66 66 73 65 74 20 73 74 | 72 20 74 69 6d 65 20 66 |ffset st|r time f|
|00000730| 6f 72 6d 61 74 20 22 25 | 73 22 20 73 70 61 63 65 |ormat "%|s" space|
|00000740| 20 6d 6f 76 65 2d 74 6f | 2d 63 6f 6c 75 6d 6e 20 | move-to|-column |
|00000750| 72 65 66 2d 63 6f 6c 75 | 6d 6e 20 69 6e 74 2d 74 |ref-colu|mn int-t|
|00000760| 6f 2d 73 74 72 69 6e 67 | 20 73 70 61 63 65 73 20 |o-string| spaces |
|00000770| 30 20 22 2e 22 20 22 30 | 30 30 30 30 30 22 20 36 |0 "." "0|00000" 6|
|00000780| 20 22 5c 6e 22 5d 20 36 | 20 22 5c 0a 50 72 69 6e | "\n"] 6| "\.Prin|
|00000790| 74 20 6f 6e 65 20 45 4e | 54 52 59 20 28 66 72 6f |t one EN|TRY (fro|
|000007a0| 6d 20 70 72 6f 66 69 6c | 65 2d 74 69 6d 65 2d 6c |m profil|e-time-l|
|000007b0| 69 73 74 29 20 2e 22 5d | 29 0a 28 62 79 74 65 2d |ist) ."]|).(byte-|
|000007c0| 63 6f 64 65 20 22 c0 11 | c2 87 22 20 5b 22 20 20 |code "..|.." [" |
|000007d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000007e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000007f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000800| 20 20 20 20 20 20 20 22 | 20 73 70 61 63 65 73 20 | "| spaces |
|00000810| 6e 69 6c 5d 20 31 29 0a | 28 64 65 66 61 6c 69 61 |nil] 1).|(defalia|
|00000820| 73 20 27 70 72 6f 66 69 | 6c 65 2d 72 65 73 75 6c |s 'profi|le-resul|
|00000830| 74 73 20 23 5b 6e 69 6c | 20 22 08 c1 5c 5c 1a 0b |ts #[nil| "..\\..|
|00000840| c4 5c 6e 4f 1d c6 0e 07 | 21 88 c8 20 88 c9 0d b1 |.\nO....|!.. ....|
|00000850| 02 88 ca 5c 6e 21 88 cb | cc 0d b1 03 88 ca 5c 6e |...\n!..|......\n|
|00000860| 21 88 cd 63 88 ce cf 0e | 10 5c 22 2a 87 22 20 5b |!..c....|.\"*." [|
|00000870| 70 72 6f 66 69 6c 65 2d | 6d 61 78 2d 66 75 6e 2d |profile-|max-fun-|
|00000880| 6e 61 6d 65 20 38 20 72 | 65 66 2d 63 6f 6c 75 6d |name 8 r|ef-colum|
|00000890| 6e 20 73 70 61 63 65 73 | 20 30 20 73 70 61 63 65 |n spaces| 0 space|
|000008a0| 20 73 77 69 74 63 68 2d | 74 6f 2d 62 75 66 66 65 | switch-|to-buffe|
|000008b0| 72 20 70 72 6f 66 69 6c | 65 2d 62 75 66 66 65 72 |r profil|e-buffer|
|000008c0| 20 65 72 61 73 65 2d 62 | 75 66 66 65 72 20 22 46 | erase-b|uffer "F|
|000008d0| 75 6e 63 74 69 6f 6e 22 | 20 6d 6f 76 65 2d 74 6f |unction"| move-to|
|000008e0| 2d 63 6f 6c 75 6d 6e 20 | 22 54 69 6d 65 20 28 53 |-column |"Time (S|
|000008f0| 65 63 6f 6e 64 73 2e 55 | 73 65 63 6f 6e 64 73 29 |econds.U|seconds)|
|00000900| 5c 6e 22 20 22 3d 3d 3d | 3d 3d 3d 3d 3d 22 20 22 |\n" "===|=====" "|
|00000910| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000920| 3d 3d 3d 3d 3d 3d 3d 5c | 6e 22 20 6d 61 70 63 61 |=======\|n" mapca|
|00000930| 72 20 70 72 6f 66 69 6c | 65 2d 70 72 69 6e 74 20 |r profil|e-print |
|00000940| 70 72 6f 66 69 6c 65 2d | 74 69 6d 65 2d 6c 69 73 |profile-|time-lis|
|00000950| 74 5d 20 33 20 22 5c 0a | 44 69 73 70 6c 61 79 20 |t] 3 "\.|Display |
|00000960| 70 72 6f 66 69 6c 69 6e | 67 20 72 65 73 75 6c 74 |profilin|g result|
|00000970| 73 20 69 6e 20 20 70 72 | 6f 66 69 6c 65 2d 62 75 |s in pr|ofile-bu|
|00000980| 66 66 65 72 20 2e 22 20 | 6e 69 6c 5d 29 0a 28 64 |ffer ." |nil]).(d|
|00000990| 65 66 61 6c 69 61 73 20 | 28 71 75 6f 74 65 20 70 |efalias |(quote p|
|000009a0| 72 6f 66 69 6c 65 2d 72 | 65 73 65 74 2d 74 69 6d |rofile-r|eset-tim|
|000009b0| 65 72 29 20 23 5b 6e 69 | 6c 20 22 c0 09 c2 5c 22 |er) #[ni|l "...\"|
|000009c0| 87 22 20 5b 70 72 6f 63 | 65 73 73 2d 73 65 6e 64 |." [proc|ess-send|
|000009d0| 2d 73 74 72 69 6e 67 20 | 70 72 6f 66 69 6c 65 2d |-string |profile-|
|000009e0| 74 69 6d 65 72 2d 70 72 | 6f 63 65 73 73 20 22 7a |timer-pr|ocess "z|
|000009f0| 5c 6e 22 5d 20 33 5d 29 | 0a 28 64 65 66 61 6c 69 |\n"] 3])|.(defali|
|00000a00| 61 73 20 27 70 72 6f 66 | 69 6c 65 2d 63 68 65 63 |as 'prof|ile-chec|
|00000a10| 6b 2d 7a 65 72 6f 2d 69 | 6e 69 74 2d 74 69 6d 65 |k-zero-i|nit-time|
|00000a20| 73 20 23 5b 28 65 6e 74 | 72 79 29 20 22 08 41 41 |s #[(ent|ry) ".AA|
|00000a30| 89 19 40 c2 55 85 0f 00 | 09 41 c2 55 3f 85 16 00 |..@.U...|.A.U?...|
|00000a40| c3 c4 21 29 87 22 20 5b | 65 6e 74 72 79 20 74 69 |..!)." [|entry ti|
|00000a50| 6d 65 20 30 20 65 72 72 | 6f 72 20 22 50 72 6f 63 |me 0 err|or "Proc|
|00000a60| 65 73 73 20 74 69 6d 65 | 72 20 64 69 65 64 20 77 |ess time|r died w|
|00000a70| 68 69 6c 65 20 6d 61 6b | 69 6e 67 20 70 65 72 66 |hile mak|ing perf|
|00000a80| 6f 72 6d 61 6e 63 65 20 | 70 72 6f 66 69 6c 65 2e |ormance |profile.|
|00000a90| 22 5d 20 33 20 22 5c 0a | 49 66 20 45 4e 54 52 59 |"] 3 "\.|If ENTRY|
|00000aa0| 20 68 61 73 20 6e 6f 6e | 20 7a 65 72 6f 20 74 69 | has non| zero ti|
|00000ab0| 6d 65 2c 20 67 69 76 65 | 20 61 6e 20 65 72 72 6f |me, give| an erro|
|00000ac0| 72 2e 22 5d 29 0a 28 64 | 65 66 61 6c 69 61 73 20 |r."]).(d|efalias |
|00000ad0| 27 70 72 6f 66 69 6c 65 | 2d 67 65 74 2d 74 69 6d |'profile|-get-tim|
|00000ae0| 65 20 23 5b 6e 69 6c 20 | 22 c0 09 21 83 0e 00 c2 |e #[nil |"..!....|
|00000af0| 09 21 c3 3d 84 2a 00 c4 | c5 c6 0e 07 21 0e 08 23 |.!.=.*..|....!..#|
|00000b00| 11 c9 09 ca 5c 22 88 cb | 09 21 88 cc 20 88 cd ce |....\"..|.!.. ...|
|00000b10| 0e 0f 5c 22 88 d0 09 d1 | 5c 22 88 d2 20 87 22 20 |..\"....|\".. ." |
|00000b20| 5b 70 72 6f 63 65 73 73 | 70 20 70 72 6f 66 69 6c |[process|p profil|
|00000b30| 65 2d 74 69 6d 65 72 2d | 70 72 6f 63 65 73 73 20 |e-timer-|process |
|00000b40| 70 72 6f 63 65 73 73 2d | 73 74 61 74 75 73 20 72 |process-|status r|
|00000b50| 75 6e 20 73 74 61 72 74 | 2d 70 72 6f 63 65 73 73 |un start|-process|
|00000b60| 20 22 74 69 6d 65 72 22 | 20 67 65 74 2d 62 75 66 | "timer"| get-buf|
|00000b70| 66 65 72 2d 63 72 65 61 | 74 65 20 70 72 6f 66 69 |fer-crea|te profi|
|00000b80| 6c 65 2d 62 75 66 66 65 | 72 20 70 72 6f 66 69 6c |le-buffe|r profil|
|00000b90| 65 2d 74 69 6d 65 72 2d | 70 72 6f 67 72 61 6d 20 |e-timer-|program |
|00000ba0| 73 65 74 2d 70 72 6f 63 | 65 73 73 2d 66 69 6c 74 |set-proc|ess-filt|
|00000bb0| 65 72 20 70 72 6f 66 69 | 6c 65 2d 66 69 6c 74 65 |er profi|le-filte|
|00000bc0| 72 20 70 72 6f 63 65 73 | 73 2d 6b 69 6c 6c 2d 77 |r proces|s-kill-w|
|00000bd0| 69 74 68 6f 75 74 2d 71 | 75 65 72 79 20 70 72 6f |ithout-q|uery pro|
|00000be0| 66 69 6c 65 2d 72 65 73 | 65 74 2d 74 69 6d 65 72 |file-res|et-timer|
|00000bf0| 20 6d 61 70 63 61 72 20 | 70 72 6f 66 69 6c 65 2d | mapcar |profile-|
|00000c00| 63 68 65 63 6b 2d 7a 65 | 72 6f 2d 69 6e 69 74 2d |check-ze|ro-init-|
|00000c10| 74 69 6d 65 73 20 70 72 | 6f 66 69 6c 65 2d 69 6e |times pr|ofile-in|
|00000c20| 69 74 2d 6c 69 73 74 20 | 70 72 6f 63 65 73 73 2d |it-list |process-|
|00000c30| 73 65 6e 64 2d 73 74 72 | 69 6e 67 20 22 70 5c 6e |send-str|ing "p\n|
|00000c40| 22 20 61 63 63 65 70 74 | 2d 70 72 6f 63 65 73 73 |" accept|-process|
|00000c50| 2d 6f 75 74 70 75 74 5d | 20 34 20 22 5c 0a 47 65 |-output]| 4 "\.Ge|
|00000c60| 74 20 74 69 6d 65 20 66 | 72 6f 6d 20 74 69 6d 65 |t time f|rom time|
|00000c70| 72 20 70 72 6f 63 65 73 | 73 20 69 6e 74 6f 20 70 |r proces|s into p|
|00000c80| 72 6f 66 69 6c 65 2d 74 | 69 6d 65 20 2e 22 5d 29 |rofile-t|ime ."])|
|00000c90| 0a 28 64 65 66 61 6c 69 | 61 73 20 27 70 72 6f 66 |.(defali|as 'prof|
|00000ca0| 69 6c 65 2d 66 69 6e 64 | 2d 66 75 6e 63 74 69 6f |ile-find|-functio|
|00000cb0| 6e 20 23 5b 28 66 75 6e | 20 66 6c 69 73 74 29 20 |n #[(fun| flist) |
|00000cc0| 22 08 3f 3f 85 17 00 09 | 08 40 40 3d 83 12 00 08 |".??....|.@@=....|
|00000cd0| 40 41 87 c2 09 08 41 5c | 22 87 22 20 5b 66 6c 69 |@A....A\|"." [fli|
|00000ce0| 73 74 20 66 75 6e 20 70 | 72 6f 66 69 6c 65 2d 66 |st fun p|rofile-f|
|00000cf0| 69 6e 64 2d 66 75 6e 63 | 74 69 6f 6e 5d 20 33 20 |ind-func|tion] 3 |
|00000d00| 22 5c 0a 4c 69 6e 65 61 | 72 20 73 65 61 72 63 68 |"\.Linea|r search|
|00000d10| 20 66 6f 72 20 46 55 4e | 20 69 6e 20 46 4c 49 53 | for FUN| in FLIS|
|00000d20| 54 20 2e 22 5d 29 0a 28 | 64 65 66 61 6c 69 61 73 |T ."]).(|defalias|
|00000d30| 20 27 70 72 6f 66 69 6c | 65 2d 73 74 61 72 74 2d | 'profil|e-start-|
|00000d40| 66 75 6e 63 74 69 6f 6e | 20 23 5b 28 66 75 6e 29 |function| #[(fun)|
|00000d50| 20 22 c0 09 5c 6e 5c 22 | 89 1b 84 0e 00 c4 c5 09 | "..\n\"|........|
|00000d60| 5c 22 88 0b 40 c6 55 84 | 1d 00 0b 89 40 54 a0 82 |\"..@.U.|....@T..|
|00000d70| 2f 00 0b c7 a0 88 0b 41 | 89 13 0e 08 40 a0 88 0b |/......A|....@...|
|00000d80| 0e 08 41 a1 29 87 22 20 | 5b 70 72 6f 66 69 6c 65 |..A.)." |[profile|
|00000d90| 2d 66 69 6e 64 2d 66 75 | 6e 63 74 69 6f 6e 20 66 |-find-fu|nction f|
|00000da0| 75 6e 20 70 72 6f 66 69 | 6c 65 2d 69 6e 69 74 2d |un profi|le-init-|
|00000db0| 6c 69 73 74 20 69 6e 69 | 74 2d 74 69 6d 65 20 65 |list ini|t-time e|
|00000dc0| 72 72 6f 72 20 22 46 75 | 6e 63 74 69 6f 6e 20 25 |rror "Fu|nction %|
|00000dd0| 73 20 6d 69 73 73 69 6e | 67 20 66 72 6f 6d 20 6c |s missin|g from l|
|00000de0| 69 73 74 22 20 30 20 31 | 20 70 72 6f 66 69 6c 65 |ist" 0 1| profile|
|00000df0| 2d 74 69 6d 65 5d 20 34 | 20 22 5c 0a 4f 6e 20 65 |-time] 4| "\.On e|
|00000e00| 6e 74 72 79 2c 20 6b 65 | 65 70 20 63 75 72 72 65 |ntry, ke|ep curre|
|00000e10| 6e 74 20 74 69 6d 65 20 | 66 6f 72 20 66 75 6e 63 |nt time |for func|
|00000e20| 74 69 6f 6e 20 46 55 4e | 2e 22 5d 29 0a 28 62 79 |tion FUN|."]).(by|
|00000e30| 74 65 2d 63 6f 64 65 20 | 22 c0 11 c0 87 22 20 5b |te-code |"...." [|
|00000e40| 31 30 30 30 30 30 30 20 | 70 72 6f 66 69 6c 65 2d |1000000 |profile-|
|00000e50| 6d 69 6c 6c 69 6f 6e 5d | 20 31 29 0a 28 64 65 66 |million]| 1).(def|
|00000e60| 61 6c 69 61 73 20 27 70 | 72 6f 66 69 6c 65 2d 75 |alias 'p|rofile-u|
|00000e70| 70 64 61 74 65 2d 66 75 | 6e 63 74 69 6f 6e 20 23 |pdate-fu|nction #|
|00000e80| 5b 28 66 75 6e 29 20 22 | c0 09 5c 6e 5c 22 c0 09 |[(fun) "|..\n\"..|
|00000e90| 0b 5c 22 c4 89 1d 1e 06 | 1e 07 89 1e 08 83 1a 00 |.\".....|........|
|00000ea0| 0e 07 84 1f 00 c9 ca 09 | 5c 22 88 0e 08 89 40 53 |........|\"....@S|
|00000eb0| a0 88 0e 08 40 cb 55 3f | 3f 85 8c 00 0e 08 41 16 |....@.U?|?.....A.|
|00000ec0| 08 0e 0c 40 0e 08 40 5a | 16 06 0e 0c 41 0e 08 41 |...@..@Z|....A..A|
|00000ed0| 5a 15 0e 08 cb a0 88 0e | 08 cb a1 88 0d cb 59 84 |Z.......|......Y.|
|00000ee0| 60 00 0d 0e 0d 5c 5c 15 | 0e 06 53 16 06 0e 07 0e |`....\\.|..S.....|
|00000ef0| 06 0e 07 40 5c 5c a0 88 | 0e 07 0d 0e 07 41 5c 5c |...@\\..|.....A\\|
|00000f00| a1 88 0e 07 41 0e 0d 57 | 3f 85 8c 00 0e 07 89 40 |....A..W|?......@|
|00000f10| 54 a0 88 0e 07 89 41 0e | 0d 5a a1 2c 87 22 20 5b |T.....A.|.Z.,." [|
|00000f20| 70 72 6f 66 69 6c 65 2d | 66 69 6e 64 2d 66 75 6e |profile-|find-fun|
|00000f30| 63 74 69 6f 6e 20 66 75 | 6e 20 70 72 6f 66 69 6c |ction fu|n profil|
|00000f40| 65 2d 69 6e 69 74 2d 6c | 69 73 74 20 70 72 6f 66 |e-init-l|ist prof|
|00000f50| 69 6c 65 2d 74 69 6d 65 | 2d 6c 69 73 74 20 6e 69 |ile-time|-list ni|
|00000f60| 6c 20 75 73 65 63 20 73 | 65 63 20 61 63 63 75 6d |l usec s|ec accum|
|00000f70| 20 69 6e 69 74 2d 74 69 | 6d 65 20 65 72 72 6f 72 | init-ti|me error|
|00000f80| 20 22 46 75 6e 63 74 69 | 6f 6e 20 25 73 20 6d 69 | "Functi|on %s mi|
|00000f90| 73 73 69 6e 67 20 66 72 | 6f 6d 20 6c 69 73 74 22 |ssing fr|om list"|
|00000fa0| 20 30 20 70 72 6f 66 69 | 6c 65 2d 74 69 6d 65 20 | 0 profi|le-time |
|00000fb0| 70 72 6f 66 69 6c 65 2d | 6d 69 6c 6c 69 6f 6e 5d |profile-|million]|
|00000fc0| 20 35 20 22 5c 0a 57 68 | 65 6e 20 74 68 65 20 63 | 5 "\.Wh|en the c|
|00000fd0| 61 6c 6c 20 74 6f 20 74 | 68 65 20 66 75 6e 63 74 |all to t|he funct|
|00000fe0| 69 6f 6e 20 46 55 4e 20 | 69 73 20 66 69 6e 69 73 |ion FUN |is finis|
|00000ff0| 68 65 64 2c 20 61 64 64 | 20 69 74 73 20 72 75 6e |hed, add| its run|
|00001000| 20 74 69 6d 65 2e 22 5d | 29 0a 28 64 65 66 61 6c | time."]|).(defal|
|00001010| 69 61 73 20 27 70 72 6f | 66 69 6c 65 2d 61 2d 66 |ias 'pro|file-a-f|
|00001020| 75 6e 63 74 69 6f 6e 20 | 23 5b 28 66 75 6e 29 20 |unction |#[(fun) |
|00001030| 22 08 4b c1 08 21 47 1a | 89 1b 40 c4 3d 84 14 00 |".K..!G.|..@.=...|
|00001040| c5 c6 08 5c 22 88 08 c7 | 89 42 42 0e 08 42 16 08 |...\"...|.BB..B..|
|00001050| 08 c7 89 89 42 42 42 0e | 09 42 16 09 0e 5c 6e 5c |....BBB.|.B...\n\|
|00001060| 6e 57 83 34 00 5c 6e 16 | 5c 6e 08 cb 08 0b 5c 22 |nW.4.\n.|\n....\"|
|00001070| 4d 2a 87 22 20 5b 66 75 | 6e 20 73 79 6d 62 6f 6c |M*." [fu|n symbol|
|00001080| 2d 6e 61 6d 65 20 66 75 | 6e 6c 65 6e 20 64 65 66 |-name fu|nlen def|
|00001090| 20 6c 61 6d 62 64 61 20 | 65 72 72 6f 72 20 22 54 | lambda |error "T|
|000010a0| 6f 20 70 72 6f 66 69 6c | 65 3a 20 25 73 20 6d 75 |o profil|e: %s mu|
|000010b0| 73 74 20 62 65 20 61 20 | 75 73 65 72 2d 64 65 66 |st be a |user-def|
|000010c0| 69 6e 65 64 20 66 75 6e | 63 74 69 6f 6e 22 20 30 |ined fun|ction" 0|
|000010d0| 20 70 72 6f 66 69 6c 65 | 2d 74 69 6d 65 2d 6c 69 | profile|-time-li|
|000010e0| 73 74 20 70 72 6f 66 69 | 6c 65 2d 69 6e 69 74 2d |st profi|le-init-|
|000010f0| 6c 69 73 74 20 70 72 6f | 66 69 6c 65 2d 6d 61 78 |list pro|file-max|
|00001100| 2d 66 75 6e 2d 6e 61 6d | 65 20 70 72 6f 66 69 6c |-fun-nam|e profil|
|00001110| 65 2d 66 69 78 2d 66 75 | 6e 5d 20 35 20 22 5c 0a |e-fix-fu|n] 5 "\.|
|00001120| 50 72 6f 66 69 6c 65 20 | 74 68 65 20 66 75 6e 63 |Profile |the func|
|00001130| 74 69 6f 6e 20 46 55 4e | 22 20 22 61 46 75 6e 63 |tion FUN|" "aFunc|
|00001140| 74 69 6f 6e 20 74 6f 20 | 70 72 6f 66 69 6c 65 3a |tion to |profile:|
|00001150| 20 22 5d 29 0a 28 64 65 | 66 61 6c 69 61 73 20 27 | "]).(de|falias '|
|00001160| 70 72 6f 66 69 6c 65 2d | 66 69 78 2d 66 75 6e 20 |profile-|fix-fun |
|00001170| 23 5b 28 66 75 6e 20 64 | 65 66 29 20 22 c0 89 89 |#[(fun d|ef) "...|
|00001180| 89 c1 c0 89 1a 1b 1c 1d | 1e 06 1e 07 1e 08 0e 09 |........|........|
|00001190| 47 ca 57 3f 85 a0 00 0e | 09 40 16 07 0e 09 41 40 |G.W?....|.@....A@|
|000011a0| 16 06 0e 09 41 41 40 15 | 0e 07 0e 06 44 16 08 0d |....AA@.|....D...|
|000011b0| 3b 85 3c 00 0e 09 47 ca | 57 3f 85 a0 00 0d 3b 84 |;.<...G.|W?....;.|
|000011c0| 4a 00 0d 13 82 59 00 ca | 14 0e 08 0d 43 a4 16 08 |J....Y..|....C...|
|000011d0| ca 0e 09 9b 40 13 0b 3c | 83 6f 00 0b 40 cb 3d 83 |....@..<|.o..@.=.|
|000011e0| 6f 00 0e 08 0b 43 a4 16 | 08 0c 54 14 0c 0e 09 9b |o....C..|..T.....|
|000011f0| 89 12 40 cc 9a 3f 85 a0 | 00 0e 08 cd 43 a4 ce cf |..@..?..|....C...|
|00001200| 0e 10 44 44 43 a4 d1 d2 | d3 43 5c 6e a4 45 43 a4 |..DDC...|.C\n.EC.|
|00001210| d4 43 a4 d5 cf 0e 10 44 | 44 43 a4 d2 43 a4 2e 07 |.C.....D|DC..C...|
|00001220| 87 22 20 5b 6e 69 6c 20 | 32 20 73 75 66 66 69 78 |." [nil |2 suffix|
|00001230| 20 69 6e 74 65 72 20 63 | 6f 75 6e 74 20 74 68 69 | inter c|ount thi|
|00001240| 72 64 20 73 65 63 6f 6e | 64 20 66 69 72 73 74 20 |rd secon|d first |
|00001250| 70 72 65 66 69 78 20 64 | 65 66 20 33 20 69 6e 74 |prefix d|ef 3 int|
|00001260| 65 72 61 63 74 69 76 65 | 20 28 70 72 6f 66 69 6c |eractive| (profil|
|00001270| 65 2d 67 65 74 2d 74 69 | 6d 65 29 20 28 70 72 6f |e-get-ti|me) (pro|
|00001280| 66 69 6c 65 2d 67 65 74 | 2d 74 69 6d 65 29 20 70 |file-get|-time) p|
|00001290| 72 6f 66 69 6c 65 2d 73 | 74 61 72 74 2d 66 75 6e |rofile-s|tart-fun|
|000012a0| 63 74 69 6f 6e 20 71 75 | 6f 74 65 20 66 75 6e 20 |ction qu|ote fun |
|000012b0| 73 65 74 71 20 70 72 6f | 66 69 6c 65 2d 74 65 6d |setq pro|file-tem|
|000012c0| 70 2d 72 65 73 75 6c 74 | 2d 20 70 72 6f 67 6e 20 |p-result|- progn |
|000012d0| 28 70 72 6f 66 69 6c 65 | 2d 67 65 74 2d 74 69 6d |(profile|-get-tim|
|000012e0| 65 29 20 70 72 6f 66 69 | 6c 65 2d 75 70 64 61 74 |e) profi|le-updat|
|000012f0| 65 2d 66 75 6e 63 74 69 | 6f 6e 5d 20 38 20 22 5c |e-functi|on] 8 "\|
|00001300| 0a 54 61 6b 65 20 66 75 | 6e 63 74 69 6f 6e 20 46 |.Take fu|nction F|
|00001310| 55 4e 20 61 6e 64 20 72 | 65 74 75 72 6e 20 69 74 |UN and r|eturn it|
|00001320| 20 66 69 78 65 64 20 66 | 6f 72 20 70 72 6f 66 69 | fixed f|or profi|
|00001330| 6c 69 6e 67 2e 0a 44 45 | 46 20 69 73 20 28 73 79 |ling..DE|F is (sy|
|00001340| 6d 62 6f 6c 2d 66 75 6e | 63 74 69 6f 6e 20 46 55 |mbol-fun|ction FU|
|00001350| 4e 29 20 2e 22 5d 29 0a | 28 64 65 66 61 6c 69 61 |N) ."]).|(defalia|
|00001360| 73 20 27 70 72 6f 66 69 | 6c 65 2d 72 65 73 74 6f |s 'profi|le-resto|
|00001370| 72 65 2d 66 75 6e 20 23 | 5b 28 66 75 6e 29 20 22 |re-fun #|[(fun) "|
|00001380| 08 40 4b c1 89 1a 1b 89 | 1c 41 89 12 41 40 3b 83 |.@K.....|.A..A@;.|
|00001390| 15 00 5c 6e 41 12 5c 6e | 41 40 3c 83 28 00 5c 6e |..\nA.\n|A@<.(.\n|
|000013a0| 41 40 40 c5 3d 83 28 00 | 5c 6e 41 12 c6 5c 6e 9b |A@@.=.(.|\nA..\n.|
|000013b0| 40 89 13 3c 85 41 00 0b | 41 40 c7 3d 85 41 00 5c |@..<.A..|A@.=.A.\|
|000013c0| 6e 0b 41 41 40 41 a1 2b | 87 22 20 5b 66 75 6e 20 |n.AA@A.+|." [fun |
|000013d0| 6e 69 6c 20 69 6e 64 65 | 78 20 62 6f 64 79 20 64 |nil inde|x body d|
|000013e0| 65 66 20 69 6e 74 65 72 | 61 63 74 69 76 65 20 33 |ef inter|active 3|
|000013f0| 20 70 72 6f 66 69 6c 65 | 2d 74 65 6d 70 2d 72 65 | profile|-temp-re|
|00001400| 73 75 6c 74 2d 5d 20 34 | 20 22 5c 0a 52 65 73 74 |sult-] 4| "\.Rest|
|00001410| 6f 72 65 20 70 72 6f 66 | 69 6c 65 64 20 66 75 6e |ore prof|iled fun|
|00001420| 63 74 69 6f 6e 20 46 55 | 4e 20 74 6f 20 69 74 73 |ction FU|N to its|
|00001430| 20 6f 72 69 67 69 6e 61 | 6c 20 73 74 61 74 65 2e | origina|l state.|
|00001440| 22 5d 29 0a 28 64 65 66 | 61 6c 69 61 73 20 27 70 |"]).(def|alias 'p|
|00001450| 72 6f 66 69 6c 65 2d 66 | 69 6e 69 73 68 20 23 5b |rofile-f|inish #[|
|00001460| 6e 69 6c 20 22 c0 c1 5c | 6e 5c 22 88 c3 14 c5 12 |nil "..\|n\".....|
|00001470| c5 89 16 06 87 22 20 5b | 6d 61 70 63 61 72 20 70 |....." [|mapcar p|
|00001480| 72 6f 66 69 6c 65 2d 72 | 65 73 74 6f 72 65 2d 66 |rofile-r|estore-f|
|00001490| 75 6e 20 70 72 6f 66 69 | 6c 65 2d 74 69 6d 65 2d |un profi|le-time-|
|000014a0| 6c 69 73 74 20 30 20 70 | 72 6f 66 69 6c 65 2d 6d |list 0 p|rofile-m|
|000014b0| 61 78 2d 66 75 6e 2d 6e | 61 6d 65 20 6e 69 6c 20 |ax-fun-n|ame nil |
|000014c0| 70 72 6f 66 69 6c 65 2d | 69 6e 69 74 2d 6c 69 73 |profile-|init-lis|
|000014d0| 74 5d 20 33 20 22 5c 0a | 53 74 6f 70 20 70 72 6f |t] 3 "\.|Stop pro|
|000014e0| 66 69 6c 69 6e 67 20 66 | 75 6e 63 74 69 6f 6e 73 |filing f|unctions|
|000014f0| 2e 20 43 6c 65 61 72 20 | 61 6c 6c 20 74 68 65 20 |. Clear |all the |
|00001500| 73 65 74 74 69 6e 67 73 | 2e 22 20 6e 69 6c 5d 29 |settings|." nil])|
|00001510| 0a 28 64 65 66 61 6c 69 | 61 73 20 27 70 72 6f 66 |.(defali|as 'prof|
|00001520| 69 6c 65 2d 71 75 69 74 | 20 23 5b 6e 69 6c 20 22 |ile-quit| #[nil "|
|00001530| c0 09 c2 5c 22 87 22 20 | 5b 70 72 6f 63 65 73 73 |...\"." |[process|
|00001540| 2d 73 65 6e 64 2d 73 74 | 72 69 6e 67 20 70 72 6f |-send-st|ring pro|
|00001550| 66 69 6c 65 2d 74 69 6d | 65 72 2d 70 72 6f 63 65 |file-tim|er-proce|
|00001560| 73 73 20 22 71 5c 6e 22 | 5d 20 33 20 22 5c 0a 4b |ss "q\n"|] 3 "\.K|
|00001570| 69 6c 6c 20 74 68 65 20 | 74 69 6d 65 72 20 70 72 |ill the |timer pr|
|00001580| 6f 63 65 73 73 2e 22 20 | 6e 69 6c 5d 29 0a |ocess." |nil]). |
+--------+-------------------------+-------------------------+--------+--------+