home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was processed as: SHell self-extracting ARchive
(archive/shar).
You can browse this item here: 1816
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| Newsgroup Content (archive/news)
| magic
| Supported |
100%
| dexvert
| SHell self-extracting ARchive (archive/shar)
| magic
| Supported |
100%
| dexvert
| Internet Message Format (text/imf)
| magic
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| news or mail, ASCII text
| default
| |
100%
| TrID
| E-Mail message (Var. 2)
| default
| |
100%
| checkBytes
| Printable ASCII
| default
| |
100%
| perlTextCheck
| Likely Text (Perl)
| default
| |
100%
| siegfried
| fmt/329 Shell Archive Format
| default
| |
100%
| detectItEasy
| Format: plain text[LF]
| default (weak)
| |
100%
| xdgMime
| message/rfc822
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 46 72 6f 6d 3a 20 62 72 | 6e 73 74 6e 64 40 6b 72 |From: br|nstnd@kr|
|00000010| 61 6d 64 65 6e 2e 61 63 | 66 2e 6e 79 75 2e 65 64 |amden.ac|f.nyu.ed|
|00000020| 75 20 28 44 61 6e 20 42 | 65 72 6e 73 74 65 69 6e |u (Dan B|ernstein|
|00000030| 29 0a 4e 65 77 73 67 72 | 6f 75 70 73 3a 20 61 6c |).Newsgr|oups: al|
|00000040| 74 2e 73 6f 75 72 63 65 | 73 0a 53 75 62 6a 65 63 |t.source|s.Subjec|
|00000050| 74 3a 20 70 6d 70 20 2d | 20 70 6f 6f 72 20 6d 61 |t: pmp -| poor ma|
|00000060| 6e 27 73 20 28 73 74 61 | 74 65 6d 65 6e 74 20 61 |n's (sta|tement a|
|00000070| 6e 64 20 74 69 6d 69 6e | 67 29 20 70 72 6f 66 69 |nd timin|g) profi|
|00000080| 6c 65 72 0a 4d 65 73 73 | 61 67 65 2d 49 44 3a 20 |ler.Mess|age-ID: |
|00000090| 3c 33 32 39 30 3a 53 65 | 70 31 33 30 39 3a 34 34 |<3290:Se|p1309:44|
|000000a0| 3a 34 32 39 30 40 6b 72 | 61 6d 64 65 6e 2e 61 63 |:4290@kr|amden.ac|
|000000b0| 66 2e 6e 79 75 2e 65 64 | 75 3e 0a 44 61 74 65 3a |f.nyu.ed|u>.Date:|
|000000c0| 20 31 33 20 53 65 70 20 | 39 30 20 30 39 3a 34 34 | 13 Sep |90 09:44|
|000000d0| 3a 34 32 20 47 4d 54 0a | 0a 48 65 72 65 27 73 20 |:42 GMT.|.Here's |
|000000e0| 70 6d 70 20 31 2e 30 2c | 20 74 68 65 20 70 6f 6f |pmp 1.0,| the poo|
|000000f0| 72 20 6d 61 6e 27 73 20 | 70 72 6f 66 69 6c 65 72 |r man's |profiler|
|00000100| 2e 20 49 74 20 69 6e 63 | 6c 75 64 65 73 20 61 20 |. It inc|ludes a |
|00000110| 73 74 61 74 65 6d 65 6e | 74 20 63 6f 75 6e 74 65 |statemen|t counte|
|00000120| 72 0a 61 6e 64 20 61 20 | 74 69 6d 69 6e 67 20 70 |r.and a |timing p|
|00000130| 72 6f 66 69 6c 65 72 2e | 20 4c 69 6b 65 20 65 76 |rofiler.| Like ev|
|00000140| 65 72 79 20 75 74 69 6c | 69 74 79 20 69 6e 20 74 |ery util|ity in t|
|00000150| 68 65 20 50 6f 6f 72 20 | 4d 61 6e 27 73 20 53 65 |he Poor |Man's Se|
|00000160| 72 69 65 73 2c 20 70 6d | 70 0a 68 61 73 20 73 6f |ries, pm|p.has so|
|00000170| 6d 65 20 66 65 61 74 75 | 72 65 20 6d 69 73 73 69 |me featu|re missi|
|00000180| 6e 67 20 66 72 6f 6d 20 | 61 6c 6d 6f 73 74 20 61 |ng from |almost a|
|00000190| 6c 6c 20 74 68 65 20 63 | 6f 6d 70 65 74 69 74 69 |ll the c|ompetiti|
|000001a0| 6f 6e 3a 20 69 6e 20 74 | 68 69 73 20 63 61 73 65 |on: in t|his case|
|000001b0| 2c 0a 74 68 65 20 61 62 | 69 6c 69 74 79 20 74 6f |,.the ab|ility to|
|000001c0| 20 70 72 6f 66 69 6c 65 | 20 73 74 61 74 65 6d 65 | profile| stateme|
|000001d0| 6e 74 73 20 61 6e 64 20 | 74 69 6d 69 6e 67 20 69 |nts and |timing i|
|000001e0| 6e 20 61 6e 20 6f 70 74 | 69 6d 69 7a 65 64 20 70 |n an opt|imized p|
|000001f0| 72 6f 67 72 61 6d 2e 0a | 0a 54 68 65 20 73 74 61 |rogram..|.The sta|
|00000200| 74 65 6d 65 6e 74 20 63 | 6f 75 6e 74 69 6e 67 20 |tement c|ounting |
|00000210| 70 61 72 74 20 73 68 6f | 75 6c 64 20 62 65 20 65 |part sho|uld be e|
|00000220| 78 74 72 65 6d 65 6c 79 | 20 70 6f 72 74 61 62 6c |xtremely| portabl|
|00000230| 65 2e 20 54 68 65 20 74 | 69 6d 69 6e 67 0a 70 61 |e. The t|iming.pa|
|00000240| 72 74 20 73 68 6f 75 6c | 64 20 62 65 20 70 6f 72 |rt shoul|d be por|
|00000250| 74 61 62 6c 65 20 74 6f | 20 61 6e 79 20 42 53 44 |table to| any BSD|
|00000260| 20 6d 61 63 68 69 6e 65 | 2e 0a 0a 53 65 6e 64 20 | machine|...Send |
|00000270| 63 6f 6d 6d 65 6e 74 73 | 20 74 6f 20 6d 65 20 6f |comments| to me o|
|00000280| 72 20 74 6f 20 61 6c 74 | 2e 73 6f 75 72 63 65 73 |r to alt|.sources|
|00000290| 2e 64 2e 0a 0a 2d 2d 2d | 44 61 6e 0a 0a 23 21 20 |.d...---|Dan..#! |
|000002a0| 2f 62 69 6e 2f 73 68 0a | 23 20 54 68 69 73 20 69 |/bin/sh.|# This i|
|000002b0| 73 20 61 20 73 68 65 6c | 6c 20 61 72 63 68 69 76 |s a shel|l archiv|
|000002c0| 65 2e 20 20 52 65 6d 6f | 76 65 20 61 6e 79 74 68 |e. Remo|ve anyth|
|000002d0| 69 6e 67 20 62 65 66 6f | 72 65 20 74 68 69 73 20 |ing befo|re this |
|000002e0| 6c 69 6e 65 2c 20 74 68 | 65 6e 20 75 6e 70 61 63 |line, th|en unpac|
|000002f0| 6b 0a 23 20 69 74 20 62 | 79 20 73 61 76 69 6e 67 |k.# it b|y saving|
|00000300| 20 69 74 20 69 6e 74 6f | 20 61 20 66 69 6c 65 20 | it into| a file |
|00000310| 61 6e 64 20 74 79 70 69 | 6e 67 20 22 73 68 20 66 |and typi|ng "sh f|
|00000320| 69 6c 65 22 2e 20 20 54 | 6f 20 6f 76 65 72 77 72 |ile". T|o overwr|
|00000330| 69 74 65 20 65 78 69 73 | 74 69 6e 67 0a 23 20 66 |ite exis|ting.# f|
|00000340| 69 6c 65 73 2c 20 74 79 | 70 65 20 22 73 68 20 66 |iles, ty|pe "sh f|
|00000350| 69 6c 65 20 2d 63 22 2e | 20 20 59 6f 75 20 63 61 |ile -c".| You ca|
|00000360| 6e 20 61 6c 73 6f 20 66 | 65 65 64 20 74 68 69 73 |n also f|eed this|
|00000370| 20 61 73 20 73 74 61 6e | 64 61 72 64 20 69 6e 70 | as stan|dard inp|
|00000380| 75 74 20 76 69 61 0a 23 | 20 75 6e 73 68 61 72 2c |ut via.#| unshar,|
|00000390| 20 6f 72 20 62 79 20 74 | 79 70 69 6e 67 20 22 73 | or by t|yping "s|
|000003a0| 68 20 3c 66 69 6c 65 22 | 2c 20 65 2e 67 2e 2e 20 |h <file"|, e.g.. |
|000003b0| 20 49 66 20 74 68 69 73 | 20 61 72 63 68 69 76 65 | If this| archive|
|000003c0| 20 69 73 20 63 6f 6d 70 | 6c 65 74 65 2c 20 79 6f | is comp|lete, yo|
|000003d0| 75 0a 23 20 77 69 6c 6c | 20 73 65 65 20 74 68 65 |u.# will| see the|
|000003e0| 20 66 6f 6c 6c 6f 77 69 | 6e 67 20 6d 65 73 73 61 | followi|ng messa|
|000003f0| 67 65 20 61 74 20 74 68 | 65 20 65 6e 64 3a 0a 23 |ge at th|e end:.#|
|00000400| 09 09 22 45 6e 64 20 6f | 66 20 73 68 65 6c 6c 20 |.."End o|f shell |
|00000410| 61 72 63 68 69 76 65 2e | 22 0a 23 20 43 6f 6e 74 |archive.|".# Cont|
|00000420| 65 6e 74 73 3a 20 20 52 | 45 41 44 4d 45 20 4d 61 |ents: R|EADME Ma|
|00000430| 6b 65 66 69 6c 65 20 70 | 6d 70 20 70 6d 70 2e 31 |kefile p|mp pmp.1|
|00000440| 20 70 6d 70 6c 69 62 2e | 63 20 70 6d 70 6c 69 62 | pmplib.|c pmplib|
|00000450| 2e 68 20 74 65 73 74 2e | 63 0a 23 20 20 20 74 65 |.h test.|c.# te|
|00000460| 73 74 2e 73 63 72 69 70 | 74 0a 23 20 57 72 61 70 |st.scrip|t.# Wrap|
|00000470| 70 65 64 20 62 79 20 62 | 72 6e 73 74 6e 64 40 6b |ped by b|rnstnd@k|
|00000480| 72 61 6d 64 65 6e 20 6f | 6e 20 54 68 75 20 53 65 |ramden o|n Thu Se|
|00000490| 70 20 31 33 20 30 35 3a | 32 30 3a 34 31 20 31 39 |p 13 05:|20:41 19|
|000004a0| 39 30 0a 50 41 54 48 3d | 2f 62 69 6e 3a 2f 75 73 |90.PATH=|/bin:/us|
|000004b0| 72 2f 62 69 6e 3a 2f 75 | 73 72 2f 75 63 62 20 3b |r/bin:/u|sr/ucb ;|
|000004c0| 20 65 78 70 6f 72 74 20 | 50 41 54 48 0a 69 66 20 | export |PATH.if |
|000004d0| 74 65 73 74 20 2d 66 20 | 27 52 45 41 44 4d 45 27 |test -f |'README'|
|000004e0| 20 2d 61 20 22 24 7b 31 | 7d 22 20 21 3d 20 22 2d | -a "${1|}" != "-|
|000004f0| 63 22 20 3b 20 74 68 65 | 6e 20 0a 20 20 65 63 68 |c" ; the|n . ech|
|00000500| 6f 20 73 68 61 72 3a 20 | 57 69 6c 6c 20 6e 6f 74 |o shar: |Will not|
|00000510| 20 63 6c 6f 62 62 65 72 | 20 65 78 69 73 74 69 6e | clobber| existin|
|00000520| 67 20 66 69 6c 65 20 5c | 22 27 52 45 41 44 4d 45 |g file \|"'README|
|00000530| 27 5c 22 0a 65 6c 73 65 | 0a 65 63 68 6f 20 73 68 |'\".else|.echo sh|
|00000540| 61 72 3a 20 45 78 74 72 | 61 63 74 69 6e 67 20 5c |ar: Extr|acting \|
|00000550| 22 27 52 45 41 44 4d 45 | 27 5c 22 20 5c 28 31 33 |"'README|'\" \(13|
|00000560| 33 32 20 63 68 61 72 61 | 63 74 65 72 73 5c 29 0a |32 chara|cters\).|
|00000570| 73 65 64 20 22 73 2f 5e | 58 2f 2f 22 20 3e 27 52 |sed "s/^|X//" >'R|
|00000580| 45 41 44 4d 45 27 20 3c | 3c 27 45 4e 44 5f 4f 46 |EADME' <|<'END_OF|
|00000590| 5f 46 49 4c 45 27 0a 58 | 54 68 69 73 20 69 73 20 |_FILE'.X|This is |
|000005a0| 70 6d 70 2c 20 74 68 65 | 20 70 6f 6f 72 20 6d 61 |pmp, the| poor ma|
|000005b0| 6e 27 73 20 70 72 6f 66 | 69 6c 65 72 2e 0a 58 0a |n's prof|iler..X.|
|000005c0| 58 52 65 63 65 6e 74 20 | 73 74 75 64 69 65 73 20 |XRecent |studies |
|000005d0| 68 61 76 65 20 73 68 6f | 77 6e 20 74 68 61 74 20 |have sho|wn that |
|000005e0| 6d 6f 73 74 20 55 4e 49 | 58 20 70 72 6f 67 72 61 |most UNI|X progra|
|000005f0| 6d 6d 65 72 73 20 64 6f | 6e 27 74 20 65 76 65 6e |mmers do|n't even|
|00000600| 20 68 61 76 65 20 61 0a | 58 73 74 61 74 65 6d 65 | have a.|Xstateme|
|00000610| 6e 74 20 65 78 65 63 75 | 74 69 6f 6e 20 63 6f 75 |nt execu|tion cou|
|00000620| 6e 74 65 72 2e 20 54 68 | 65 20 70 6d 70 20 73 63 |nter. Th|e pmp sc|
|00000630| 72 69 70 74 20 61 6e 64 | 20 70 6d 70 6c 69 62 20 |ript and| pmplib |
|00000640| 6c 69 62 72 61 72 79 20 | 73 68 6f 75 6c 64 0a 58 |library |should.X|
|00000650| 72 65 63 74 69 66 79 20 | 74 68 69 73 20 64 65 70 |rectify |this dep|
|00000660| 72 65 73 73 69 6e 67 20 | 73 74 61 74 65 20 6f 66 |ressing |state of|
|00000670| 20 61 66 66 61 69 72 73 | 2e 0a 58 0a 58 70 6d 70 | affairs|..X.Xpmp|
|00000680| 20 67 69 76 65 73 20 79 | 6f 75 20 62 6f 74 68 20 | gives y|ou both |
|00000690| 73 74 61 74 65 6d 65 6e | 74 20 63 6f 75 6e 74 73 |statemen|t counts|
|000006a0| 20 61 6e 64 20 74 69 6d | 69 6e 67 20 63 6f 75 6e | and tim|ing coun|
|000006b0| 74 73 2e 20 49 66 20 79 | 6f 75 20 75 6e 64 65 66 |ts. If y|ou undef|
|000006c0| 69 6e 65 0a 58 50 4d 50 | 53 49 47 20 69 6e 20 70 |ine.XPMP|SIG in p|
|000006d0| 6d 70 6c 69 62 2e 68 2c | 20 70 6d 70 20 77 69 6c |mplib.h,| pmp wil|
|000006e0| 6c 20 70 72 6f 76 69 64 | 65 20 6f 6e 6c 79 20 73 |l provid|e only s|
|000006f0| 74 61 74 65 6d 65 6e 74 | 20 63 6f 75 6e 74 73 2d |tatement| counts-|
|00000700| 2d 2d 62 75 74 20 77 69 | 74 68 0a 58 72 69 64 69 |--but wi|th.Xridi|
|00000710| 63 75 6c 6f 75 73 6c 79 | 20 70 6f 72 74 61 62 6c |culously| portabl|
|00000720| 65 20 63 6f 64 65 2e 0a | 58 0a 58 70 6d 70 20 68 |e code..|X.Xpmp h|
|00000730| 61 73 20 6f 6e 65 20 62 | 69 67 20 61 64 76 61 6e |as one b|ig advan|
|00000740| 74 61 67 65 20 6f 76 65 | 72 20 65 76 65 72 79 20 |tage ove|r every |
|00000750| 6f 74 68 65 72 20 70 72 | 6f 66 69 6c 69 6e 67 20 |other pr|ofiling |
|00000760| 73 79 73 74 65 6d 20 49 | 27 76 65 20 73 65 65 6e |system I|'ve seen|
|00000770| 3a 0a 58 69 74 20 64 6f | 65 73 6e 27 74 20 66 6f |:.Xit do|esn't fo|
|00000780| 72 63 65 20 6f 70 74 69 | 6d 69 7a 61 74 69 6f 6e |rce opti|mization|
|00000790| 20 6f 66 66 2e 20 59 6f | 75 20 63 61 6e 20 70 6c | off. Yo|u can pl|
|000007a0| 61 63 65 20 70 72 6f 66 | 69 6c 69 6e 67 20 6d 61 |ace prof|iling ma|
|000007b0| 72 6b 73 0a 58 61 6e 79 | 77 68 65 72 65 20 69 6e |rks.Xany|where in|
|000007c0| 20 79 6f 75 72 20 63 6f | 64 65 3b 20 79 6f 75 20 | your co|de; you |
|000007d0| 6f 6e 6c 79 20 68 75 72 | 74 20 6f 70 74 69 6d 69 |only hur|t optimi|
|000007e0| 7a 61 74 69 6f 6e 20 77 | 68 65 72 65 20 79 6f 75 |zation w|here you|
|000007f0| 20 70 75 74 20 74 68 65 | 0a 58 6d 61 72 6b 73 2e | put the|.Xmarks.|
|00000800| 20 53 6f 20 69 66 20 79 | 6f 75 27 72 65 20 73 69 | So if y|ou're si|
|00000810| 63 6b 20 6f 66 20 68 61 | 76 69 6e 67 20 79 6f 75 |ck of ha|ving you|
|00000820| 72 20 70 72 6f 67 72 61 | 6d 20 73 6c 6f 77 65 64 |r progra|m slowed|
|00000830| 20 64 6f 77 6e 20 64 72 | 61 6d 61 74 69 63 61 6c | down dr|amatical|
|00000840| 6c 79 0a 58 6a 75 73 74 | 20 62 65 63 61 75 73 65 |ly.Xjust| because|
|00000850| 20 74 68 65 20 70 72 6f | 66 69 6c 65 72 20 73 74 | the pro|filer st|
|00000860| 69 63 6b 73 20 69 74 73 | 20 6e 6f 73 65 20 69 6e |icks its| nose in|
|00000870| 74 6f 20 79 6f 75 72 20 | 69 6e 6e 65 72 20 6c 6f |to your |inner lo|
|00000880| 6f 70 73 2c 20 70 6d 70 | 0a 58 73 68 6f 75 6c 64 |ops, pmp|.Xshould|
|00000890| 20 62 65 20 61 20 77 65 | 6c 63 6f 6d 65 20 72 65 | be a we|lcome re|
|000008a0| 6c 69 65 66 2e 0a 58 0a | 58 4f 66 20 63 6f 75 72 |lief..X.|XOf cour|
|000008b0| 73 65 2c 20 70 6d 70 20 | 69 73 20 61 6c 73 6f 20 |se, pmp |is also |
|000008c0| 74 68 65 20 73 6d 61 6c | 6c 65 73 74 20 70 72 6f |the smal|lest pro|
|000008d0| 66 69 6c 65 72 20 6b 6e | 6f 77 6e 20 74 6f 20 6d |filer kn|own to m|
|000008e0| 61 6e 2e 0a 58 0a 58 4f | 74 68 65 72 20 74 68 61 |an..X.XO|ther tha|
|000008f0| 6e 20 74 68 61 74 2c 20 | 69 74 27 73 20 70 72 65 |n that, |it's pre|
|00000900| 74 74 79 20 70 6f 6f 72 | 2e 0a 58 0a 58 54 68 69 |tty poor|..X.XThi|
|00000910| 73 20 69 73 20 70 6d 70 | 20 76 65 72 73 69 6f 6e |s is pmp| version|
|00000920| 20 31 2e 30 2c 20 39 2f | 31 33 2f 39 30 2c 20 62 | 1.0, 9/|13/90, b|
|00000930| 79 20 44 61 6e 69 65 6c | 20 4a 2e 20 42 65 72 6e |y Daniel| J. Bern|
|00000940| 73 74 65 69 6e 2e 0a 58 | 70 6d 70 20 69 73 20 70 |stein..X|pmp is p|
|00000950| 75 62 6c 69 63 20 64 6f | 6d 61 69 6e 2e 0a 58 0a |ublic do|main..X.|
|00000960| 58 0a 58 52 65 71 75 69 | 72 65 6d 65 6e 74 73 3a |X.XRequi|rements:|
|00000970| 0a 58 0a 58 20 20 73 65 | 64 2c 20 67 72 65 70 2c |.X.X se|d, grep,|
|00000980| 20 73 68 2c 20 63 63 2e | 0a 58 0a 58 20 20 49 66 | sh, cc.|.X.X If|
|00000990| 20 79 6f 75 20 77 61 6e | 74 20 74 69 6d 69 6e 67 | you wan|t timing|
|000009a0| 20 69 6e 66 6f 72 6d 61 | 74 69 6f 6e 2c 20 42 53 | informa|tion, BS|
|000009b0| 44 2d 73 74 79 6c 65 20 | 73 65 74 69 74 69 6d 65 |D-style |setitime|
|000009c0| 72 28 29 20 61 6e 64 20 | 56 54 41 4c 52 4d 2e 0a |r() and |VTALRM..|
|000009d0| 58 0a 58 0a 58 0a 58 54 | 6f 20 73 65 74 20 75 70 |X.X.X.XT|o set up|
|000009e0| 20 70 6d 70 2c 20 6a 75 | 73 74 20 60 60 6d 61 6b | pmp, ju|st ``mak|
|000009f0| 65 27 27 2c 20 6f 72 20 | 63 63 20 2d 6f 20 70 6d |e'', or |cc -o pm|
|00000a00| 70 6c 69 62 2e 6f 20 70 | 6d 70 6c 69 62 2e 63 20 |plib.o p|mplib.c |
|00000a10| 2d 4f 2e 0a 58 0a 58 54 | 6f 20 75 73 65 20 70 6d |-O..X.XT|o use pm|
|00000a20| 70 2c 20 66 6f 6c 6c 6f | 77 20 74 68 65 20 65 78 |p, follo|w the ex|
|00000a30| 61 6d 70 6c 65 20 69 6e | 20 74 65 73 74 2e 63 2e |ample in| test.c.|
|00000a40| 20 74 65 73 74 2e 73 63 | 72 69 70 74 20 73 68 6f | test.sc|ript sho|
|00000a50| 77 73 20 74 68 65 20 72 | 65 73 75 6c 74 73 0a 58 |ws the r|esults.X|
|00000a60| 6f 66 20 61 20 73 61 6d | 70 6c 65 20 70 6d 70 20 |of a sam|ple pmp |
|00000a70| 72 75 6e 2e 20 41 20 6d | 61 6e 75 61 6c 20 70 61 |run. A m|anual pa|
|00000a80| 67 65 20 69 73 20 69 6e | 20 70 6d 70 2e 31 2e 0a |ge is in| pmp.1..|
|00000a90| 58 0a 58 0a 58 43 61 76 | 65 61 74 73 3a 0a 58 0a |X.X.XCav|eats:.X.|
|00000aa0| 58 20 20 4e 6f 74 20 6d | 61 6e 79 2e 20 70 6d 70 |X Not m|any. pmp|
|00000ab0| 20 69 73 20 70 72 6f 62 | 61 62 6c 79 20 6d 6f 72 | is prob|ably mor|
|00000ac0| 65 20 72 65 6c 69 61 62 | 6c 65 20 74 68 61 6e 20 |e reliab|le than |
|00000ad0| 79 6f 75 72 20 70 72 65 | 76 69 6f 75 73 20 70 72 |your pre|vious pr|
|00000ae0| 6f 66 69 6c 65 72 2e 0a | 58 0a 58 0a 58 47 6f 6f |ofiler..|X.X.XGoo|
|00000af0| 64 20 6c 75 63 6b 21 0a | 45 4e 44 5f 4f 46 5f 46 |d luck!.|END_OF_F|
|00000b00| 49 4c 45 0a 69 66 20 74 | 65 73 74 20 31 33 33 32 |ILE.if t|est 1332|
|00000b10| 20 2d 6e 65 20 60 77 63 | 20 2d 63 20 3c 27 52 45 | -ne `wc| -c <'RE|
|00000b20| 41 44 4d 45 27 60 3b 20 | 74 68 65 6e 0a 20 20 20 |ADME'`; |then. |
|00000b30| 20 65 63 68 6f 20 73 68 | 61 72 3a 20 5c 22 27 52 | echo sh|ar: \"'R|
|00000b40| 45 41 44 4d 45 27 5c 22 | 20 75 6e 70 61 63 6b 65 |EADME'\"| unpacke|
|00000b50| 64 20 77 69 74 68 20 77 | 72 6f 6e 67 20 73 69 7a |d with w|rong siz|
|00000b60| 65 21 0a 66 69 0a 23 20 | 65 6e 64 20 6f 66 20 27 |e!.fi.# |end of '|
|00000b70| 52 45 41 44 4d 45 27 0a | 66 69 0a 69 66 20 74 65 |README'.|fi.if te|
|00000b80| 73 74 20 2d 66 20 27 4d | 61 6b 65 66 69 6c 65 27 |st -f 'M|akefile'|
|00000b90| 20 2d 61 20 22 24 7b 31 | 7d 22 20 21 3d 20 22 2d | -a "${1|}" != "-|
|00000ba0| 63 22 20 3b 20 74 68 65 | 6e 20 0a 20 20 65 63 68 |c" ; the|n . ech|
|00000bb0| 6f 20 73 68 61 72 3a 20 | 57 69 6c 6c 20 6e 6f 74 |o shar: |Will not|
|00000bc0| 20 63 6c 6f 62 62 65 72 | 20 65 78 69 73 74 69 6e | clobber| existin|
|00000bd0| 67 20 66 69 6c 65 20 5c | 22 27 4d 61 6b 65 66 69 |g file \|"'Makefi|
|00000be0| 6c 65 27 5c 22 0a 65 6c | 73 65 0a 65 63 68 6f 20 |le'\".el|se.echo |
|00000bf0| 73 68 61 72 3a 20 45 78 | 74 72 61 63 74 69 6e 67 |shar: Ex|tracting|
|00000c00| 20 5c 22 27 4d 61 6b 65 | 66 69 6c 65 27 5c 22 20 | \"'Make|file'\" |
|00000c10| 5c 28 33 39 35 20 63 68 | 61 72 61 63 74 65 72 73 |\(395 ch|aracters|
|00000c20| 5c 29 0a 73 65 64 20 22 | 73 2f 5e 58 2f 2f 22 20 |\).sed "|s/^X//" |
|00000c30| 3e 27 4d 61 6b 65 66 69 | 6c 65 27 20 3c 3c 27 45 |>'Makefi|le' <<'E|
|00000c40| 4e 44 5f 4f 46 5f 46 49 | 4c 45 27 0a 58 43 43 3d |ND_OF_FI|LE'.XCC=|
|00000c50| 63 63 0a 58 43 43 4f 50 | 54 53 3d 2d 4f 0a 58 0a |cc.XCCOP|TS=-O.X.|
|00000c60| 58 4e 52 4f 46 46 3d 6e | 72 6f 66 66 0a 58 4e 52 |XNROFF=n|roff.XNR|
|00000c70| 4f 46 46 4f 50 54 53 3d | 2d 6d 61 6e 0a 58 0a 58 |OFFOPTS=|-man.X.X|
|00000c80| 64 65 66 61 75 6c 74 3a | 20 61 6c 6c 0a 58 0a 58 |default:| all.X.X|
|00000c90| 61 6c 6c 3a 20 70 6d 70 | 6c 69 62 2e 6f 20 70 6d |all: pmp|lib.o pm|
|00000ca0| 70 2e 6d 61 6e 0a 58 0a | 58 73 68 61 72 3a 20 70 |p.man.X.|Xshar: p|
|00000cb0| 6d 70 2e 73 68 61 72 0a | 58 0a 58 70 6d 70 2e 6d |mp.shar.|X.Xpmp.m|
|00000cc0| 61 6e 3a 20 70 6d 70 2e | 31 20 4d 61 6b 65 66 69 |an: pmp.|1 Makefi|
|00000cd0| 6c 65 0a 58 09 24 28 4e | 52 4f 46 46 29 20 24 28 |le.X.$(N|ROFF) $(|
|00000ce0| 4e 52 4f 46 46 4f 50 54 | 53 29 20 3c 20 70 6d 70 |NROFFOPT|S) < pmp|
|00000cf0| 2e 31 20 3e 20 70 6d 70 | 2e 6d 61 6e 0a 58 0a 58 |.1 > pmp|.man.X.X|
|00000d00| 70 6d 70 6c 69 62 2e 6f | 3a 20 70 6d 70 6c 69 62 |pmplib.o|: pmplib|
|00000d10| 2e 63 20 4d 61 6b 65 66 | 69 6c 65 0a 58 09 24 28 |.c Makef|ile.X.$(|
|00000d20| 43 43 29 20 24 28 43 43 | 4f 50 54 53 29 20 2d 63 |CC) $(CC|OPTS) -c|
|00000d30| 20 70 6d 70 6c 69 62 2e | 63 0a 58 0a 58 70 6d 70 | pmplib.|c.X.Xpmp|
|00000d40| 2e 73 68 61 72 3a 20 52 | 45 41 44 4d 45 20 4d 61 |.shar: R|EADME Ma|
|00000d50| 6b 65 66 69 6c 65 20 70 | 6d 70 20 70 6d 70 2e 31 |kefile p|mp pmp.1|
|00000d60| 20 70 6d 70 6c 69 62 2e | 63 20 70 6d 70 6c 69 62 | pmplib.|c pmplib|
|00000d70| 2e 68 20 74 65 73 74 2e | 63 20 74 65 73 74 2e 73 |.h test.|c test.s|
|00000d80| 63 72 69 70 74 0a 58 09 | 73 68 61 72 20 52 45 41 |cript.X.|shar REA|
|00000d90| 44 4d 45 20 4d 61 6b 65 | 66 69 6c 65 20 70 6d 70 |DME Make|file pmp|
|00000da0| 20 70 6d 70 2e 31 20 70 | 6d 70 6c 69 62 2e 63 20 | pmp.1 p|mplib.c |
|00000db0| 70 6d 70 6c 69 62 2e 68 | 20 74 65 73 74 2e 63 20 |pmplib.h| test.c |
|00000dc0| 74 65 73 74 2e 73 63 72 | 69 70 74 20 3e 20 70 6d |test.scr|ipt > pm|
|00000dd0| 70 2e 73 68 61 72 0a 58 | 09 63 68 6d 6f 64 20 34 |p.shar.X|.chmod 4|
|00000de0| 30 30 20 70 6d 70 2e 73 | 68 61 72 0a 45 4e 44 5f |00 pmp.s|har.END_|
|00000df0| 4f 46 5f 46 49 4c 45 0a | 69 66 20 74 65 73 74 20 |OF_FILE.|if test |
|00000e00| 33 39 35 20 2d 6e 65 20 | 60 77 63 20 2d 63 20 3c |395 -ne |`wc -c <|
|00000e10| 27 4d 61 6b 65 66 69 6c | 65 27 60 3b 20 74 68 65 |'Makefil|e'`; the|
|00000e20| 6e 0a 20 20 20 20 65 63 | 68 6f 20 73 68 61 72 3a |n. ec|ho shar:|
|00000e30| 20 5c 22 27 4d 61 6b 65 | 66 69 6c 65 27 5c 22 20 | \"'Make|file'\" |
|00000e40| 75 6e 70 61 63 6b 65 64 | 20 77 69 74 68 20 77 72 |unpacked| with wr|
|00000e50| 6f 6e 67 20 73 69 7a 65 | 21 0a 66 69 0a 23 20 65 |ong size|!.fi.# e|
|00000e60| 6e 64 20 6f 66 20 27 4d | 61 6b 65 66 69 6c 65 27 |nd of 'M|akefile'|
|00000e70| 0a 66 69 0a 69 66 20 74 | 65 73 74 20 2d 66 20 27 |.fi.if t|est -f '|
|00000e80| 70 6d 70 27 20 2d 61 20 | 22 24 7b 31 7d 22 20 21 |pmp' -a |"${1}" !|
|00000e90| 3d 20 22 2d 63 22 20 3b | 20 74 68 65 6e 20 0a 20 |= "-c" ;| then . |
|00000ea0| 20 65 63 68 6f 20 73 68 | 61 72 3a 20 57 69 6c 6c | echo sh|ar: Will|
|00000eb0| 20 6e 6f 74 20 63 6c 6f | 62 62 65 72 20 65 78 69 | not clo|bber exi|
|00000ec0| 73 74 69 6e 67 20 66 69 | 6c 65 20 5c 22 27 70 6d |sting fi|le \"'pm|
|00000ed0| 70 27 5c 22 0a 65 6c 73 | 65 0a 65 63 68 6f 20 73 |p'\".els|e.echo s|
|00000ee0| 68 61 72 3a 20 45 78 74 | 72 61 63 74 69 6e 67 20 |har: Ext|racting |
|00000ef0| 5c 22 27 70 6d 70 27 5c | 22 20 5c 28 39 36 20 63 |\"'pmp'\|" \(96 c|
|00000f00| 68 61 72 61 63 74 65 72 | 73 5c 29 0a 73 65 64 20 |haracter|s\).sed |
|00000f10| 22 73 2f 5e 58 2f 2f 22 | 20 3e 27 70 6d 70 27 20 |"s/^X//"| >'pmp' |
|00000f20| 3c 3c 27 45 4e 44 5f 4f | 46 5f 46 49 4c 45 27 0a |<<'END_O|F_FILE'.|
|00000f30| 58 23 21 2f 62 69 6e 2f | 73 68 0a 58 73 65 64 20 |X#!/bin/|sh.Xsed |
|00000f40| 22 60 67 72 65 70 20 27 | 5e 27 24 31 27 20 27 20 |"`grep '|^'$1' ' |
|00000f50| 24 32 20 7c 20 73 65 64 | 20 27 73 3f 27 24 31 27 |$2 | sed| 's?'$1'|
|00000f60| 20 5c 28 5b 5e 3a 5d 2a | 5c 29 3a 20 5c 28 2e 2a | \([^:]*|\): \(.*|
|00000f70| 5c 29 3f 5c 31 73 2d 5c | 24 2d 20 5c 2f 5c 2a 20 |\)?\1s-\|$- \/\* |
|00000f80| 5c 32 20 5c 2a 5c 2f 2d | 3f 27 60 22 20 3c 20 24 |\2 \*\/-|?'`" < $|
|00000f90| 31 0a 45 4e 44 5f 4f 46 | 5f 46 49 4c 45 0a 69 66 |1.END_OF|_FILE.if|
|00000fa0| 20 74 65 73 74 20 39 36 | 20 2d 6e 65 20 60 77 63 | test 96| -ne `wc|
|00000fb0| 20 2d 63 20 3c 27 70 6d | 70 27 60 3b 20 74 68 65 | -c <'pm|p'`; the|
|00000fc0| 6e 0a 20 20 20 20 65 63 | 68 6f 20 73 68 61 72 3a |n. ec|ho shar:|
|00000fd0| 20 5c 22 27 70 6d 70 27 | 5c 22 20 75 6e 70 61 63 | \"'pmp'|\" unpac|
|00000fe0| 6b 65 64 20 77 69 74 68 | 20 77 72 6f 6e 67 20 73 |ked with| wrong s|
|00000ff0| 69 7a 65 21 0a 66 69 0a | 63 68 6d 6f 64 20 2b 78 |ize!.fi.|chmod +x|
|00001000| 20 27 70 6d 70 27 0a 23 | 20 65 6e 64 20 6f 66 20 | 'pmp'.#| end of |
|00001010| 27 70 6d 70 27 0a 66 69 | 0a 69 66 20 74 65 73 74 |'pmp'.fi|.if test|
|00001020| 20 2d 66 20 27 70 6d 70 | 2e 31 27 20 2d 61 20 22 | -f 'pmp|.1' -a "|
|00001030| 24 7b 31 7d 22 20 21 3d | 20 22 2d 63 22 20 3b 20 |${1}" !=| "-c" ; |
|00001040| 74 68 65 6e 20 0a 20 20 | 65 63 68 6f 20 73 68 61 |then . |echo sha|
|00001050| 72 3a 20 57 69 6c 6c 20 | 6e 6f 74 20 63 6c 6f 62 |r: Will |not clob|
|00001060| 62 65 72 20 65 78 69 73 | 74 69 6e 67 20 66 69 6c |ber exis|ting fil|
|00001070| 65 20 5c 22 27 70 6d 70 | 2e 31 27 5c 22 0a 65 6c |e \"'pmp|.1'\".el|
|00001080| 73 65 0a 65 63 68 6f 20 | 73 68 61 72 3a 20 45 78 |se.echo |shar: Ex|
|00001090| 74 72 61 63 74 69 6e 67 | 20 5c 22 27 70 6d 70 2e |tracting| \"'pmp.|
|000010a0| 31 27 5c 22 20 5c 28 31 | 31 35 32 20 63 68 61 72 |1'\" \(1|152 char|
|000010b0| 61 63 74 65 72 73 5c 29 | 0a 73 65 64 20 22 73 2f |acters\)|.sed "s/|
|000010c0| 5e 58 2f 2f 22 20 3e 27 | 70 6d 70 2e 31 27 20 3c |^X//" >'|pmp.1' <|
|000010d0| 3c 27 45 4e 44 5f 4f 46 | 5f 46 49 4c 45 27 0a 58 |<'END_OF|_FILE'.X|
|000010e0| 2e 54 48 20 70 6d 70 20 | 31 0a 58 2e 53 48 20 4e |.TH pmp |1.X.SH N|
|000010f0| 41 4d 45 0a 58 70 6d 70 | 20 5c 2d 20 70 6f 6f 72 |AME.Xpmp| \- poor|
|00001100| 20 6d 61 6e 27 73 20 70 | 72 6f 66 69 6c 65 72 0a | man's p|rofiler.|
|00001110| 58 2e 53 48 20 53 59 4e | 54 41 58 0a 58 70 6d 70 |X.SH SYN|TAX.Xpmp|
|00001120| 0a 58 2e 49 20 66 6f 6f | 2e 63 0a 58 2e 49 20 70 |.X.I foo|.c.X.I p|
|00001130| 72 6f 66 2e 6f 75 74 0a | 58 2e 53 48 20 44 45 53 |rof.out.|X.SH DES|
|00001140| 43 52 49 50 54 49 4f 4e | 0a 58 2e 49 20 70 6d 70 |CRIPTION|.X.I pmp|
|00001150| 0a 58 72 65 61 64 73 20 | 70 72 6f 66 69 6c 69 6e |.Xreads |profilin|
|00001160| 67 20 69 6e 66 6f 72 6d | 61 74 69 6f 6e 20 66 72 |g inform|ation fr|
|00001170| 6f 6d 0a 58 2e 49 20 70 | 72 6f 66 2e 6f 75 74 0a |om.X.I p|rof.out.|
|00001180| 58 61 6e 64 20 70 72 69 | 6e 74 73 20 61 0a 58 70 |Xand pri|nts a.Xp|
|00001190| 72 6f 66 69 6c 65 64 20 | 63 6f 70 79 20 6f 66 0a |rofiled |copy of.|
|000011a0| 58 2e 49 20 66 6f 6f 2e | 63 0a 58 6f 6e 20 69 74 |X.I foo.|c.Xon it|
|000011b0| 73 20 73 74 61 6e 64 61 | 72 64 20 6f 75 74 70 75 |s standa|rd outpu|
|000011c0| 74 2e 0a 58 2e 50 50 0a | 58 54 6f 20 65 6e 61 62 |t..X.PP.|XTo enab|
|000011d0| 6c 65 20 70 6d 70 27 73 | 20 70 72 6f 66 69 6c 69 |le pmp's| profili|
|000011e0| 6e 67 2c 0a 58 69 6e 63 | 6c 75 64 65 20 70 6d 70 |ng,.Xinc|lude pmp|
|000011f0| 6c 69 62 2e 68 20 61 74 | 20 74 68 65 20 74 6f 70 |lib.h at| the top|
|00001200| 20 6f 66 20 65 61 63 68 | 20 70 72 6f 67 72 61 6d | of each| program|
|00001210| 20 6d 6f 64 75 6c 65 2e | 0a 58 54 6f 20 73 65 74 | module.|.XTo set|
|00001220| 20 74 68 65 20 70 72 6f | 66 69 6c 69 6e 67 20 74 | the pro|filing t|
|00001230| 69 6d 65 72 20 66 6f 72 | 20 65 76 65 72 79 0a 58 |imer for| every.X|
|00001240| 2e 49 20 75 73 0a 58 6d | 69 63 72 6f 73 65 63 6f |.I us.Xm|icroseco|
|00001250| 6e 64 73 2c 0a 58 63 61 | 6c 6c 0a 58 2e 49 20 70 |nds,.Xca|ll.X.I p|
|00001260| 6d 70 73 69 67 73 74 61 | 72 74 28 75 73 29 2e 0a |mpsigsta|rt(us)..|
|00001270| 58 49 6e 73 65 72 74 20 | 74 68 65 20 6d 61 63 72 |XInsert |the macr|
|00001280| 6f 0a 58 2e 49 20 50 0a | 58 28 6f 72 0a 58 2e 49 |o.X.I P.|X(or.X.I|
|00001290| 20 50 4d 50 45 58 45 43 | 29 0a 58 61 73 20 61 20 | PMPEXEC|).Xas a |
|000012a0| 73 74 61 74 65 6d 65 6e | 74 20 77 68 65 72 65 76 |statemen|t wherev|
|000012b0| 65 72 20 79 6f 75 20 77 | 61 6e 74 20 70 72 6f 66 |er you w|ant prof|
|000012c0| 69 6c 69 6e 67 2e 0a 58 | 54 6f 20 77 72 69 74 65 |iling..X|To write|
|000012d0| 20 74 68 65 20 72 65 73 | 75 6c 74 73 20 74 6f 0a | the res|ults to.|
|000012e0| 58 2e 49 20 70 72 6f 66 | 2e 6f 75 74 2c 0a 58 6a |X.I prof|.out,.Xj|
|000012f0| 75 73 74 20 63 61 6c 6c | 0a 58 5c 66 49 70 6d 70 |ust call|.X\fIpmp|
|00001300| 28 22 70 72 6f 66 2e 6f | 75 74 22 29 5c 66 42 0a |("prof.o|ut")\fB.|
|00001310| 58 62 65 66 6f 72 65 20 | 65 78 69 74 69 6e 67 2e |Xbefore |exiting.|
|00001320| 0a 58 2e 50 50 0a 58 54 | 68 65 20 70 72 6f 66 69 |.X.PP.XT|he profi|
|00001330| 6c 65 64 20 63 6f 70 79 | 20 6f 66 0a 58 2e 49 20 |led copy| of.X.I |
|00001340| 66 6f 6f 2e 63 0a 58 69 | 6e 63 6c 75 64 65 73 20 |foo.c.Xi|ncludes |
|00001350| 61 20 63 6f 6d 6d 65 6e | 74 20 61 70 70 65 6e 64 |a commen|t append|
|00001360| 65 64 20 74 6f 20 65 61 | 63 68 20 6c 69 6e 65 20 |ed to ea|ch line |
|00001370| 63 6f 6e 74 61 69 6e 69 | 6e 67 20 61 0a 58 2e 49 |containi|ng a.X.I|
|00001380| 20 50 2c 0a 58 6f 66 20 | 74 68 65 20 66 6f 72 6d | P,.Xof |the form|
|00001390| 20 31 37 34 30 2b 33 39 | 2e 0a 58 31 37 34 30 20 | 1740+39|..X1740 |
|000013a0| 69 73 20 74 68 65 20 6e | 75 6d 62 65 72 20 6f 66 |is the n|umber of|
|000013b0| 20 74 69 6d 65 73 20 74 | 68 65 0a 58 2e 49 20 50 | times t|he.X.I P|
|000013c0| 0a 58 73 74 61 74 65 6d | 65 6e 74 20 77 61 73 20 |.Xstatem|ent was |
|000013d0| 65 78 65 63 75 74 65 64 | 2e 0a 58 33 39 20 69 73 |executed|..X39 is|
|000013e0| 20 74 68 65 20 6e 75 6d | 62 65 72 20 6f 66 0a 58 | the num|ber of.X|
|000013f0| 2e 49 20 70 6d 70 73 69 | 67 73 74 61 72 74 28 29 |.I pmpsi|gstart()|
|00001400| 0a 58 74 69 63 6b 73 20 | 74 68 61 74 20 6f 63 63 |.Xticks |that occ|
|00001410| 75 72 72 65 64 20 61 74 | 20 61 6e 79 20 74 69 6d |urred at| any tim|
|00001420| 65 20 62 65 74 77 65 65 | 6e 20 74 68 65 20 6c 61 |e betwee|n the la|
|00001430| 73 74 20 65 78 65 63 75 | 74 65 64 0a 58 2e 49 20 |st execu|ted.X.I |
|00001440| 50 0a 58 61 6e 64 20 74 | 68 69 73 20 6f 6e 65 2e |P.Xand t|his one.|
|00001450| 0a 58 2e 50 50 0a 58 49 | 66 20 74 68 65 72 65 20 |.X.PP.XI|f there |
|00001460| 61 72 65 20 73 65 76 65 | 72 61 6c 0a 58 5c 66 49 |are seve|ral.X\fI|
|00001470| 50 27 5c 66 42 73 0a 58 | 6f 6e 20 61 20 6c 69 6e |P'\fBs.X|on a lin|
|00001480| 65 2c 0a 58 2e 42 20 70 | 6d 70 0a 58 70 6c 61 63 |e,.X.B p|mp.Xplac|
|00001490| 65 73 20 74 68 65 20 70 | 72 6f 66 69 6c 65 20 63 |es the p|rofile c|
|000014a0| 6f 6d 6d 65 6e 74 73 20 | 69 6e 20 74 68 65 20 6f |omments |in the o|
|000014b0| 70 70 6f 73 69 74 65 20 | 6f 72 64 65 72 20 66 72 |pposite |order fr|
|000014c0| 6f 6d 20 74 68 65 0a 58 | 66 69 72 73 74 20 65 78 |om the.X|first ex|
|000014d0| 65 63 75 74 69 6f 6e 20 | 6f 66 20 74 68 65 0a 58 |ecution |of the.X|
|000014e0| 5c 66 49 50 27 5c 66 42 | 73 2e 0a 58 2e 50 50 0a |\fIP'\fB|s..X.PP.|
|000014f0| 58 54 68 65 20 74 69 6d | 69 6e 67 20 70 61 72 74 |XThe tim|ing part|
|00001500| 20 6f 66 0a 58 2e 49 20 | 70 6d 70 0a 58 69 73 20 | of.X.I |pmp.Xis |
|00001510| 6e 6f 74 20 70 6f 72 74 | 61 62 6c 65 20 6f 75 74 |not port|able out|
|00001520| 73 69 64 65 20 42 53 44 | 0a 58 61 6e 64 20 6d 61 |side BSD|.Xand ma|
|00001530| 79 20 62 65 20 64 69 73 | 61 62 6c 65 64 20 75 6e |y be dis|abled un|
|00001540| 64 65 72 20 6f 74 68 65 | 72 20 73 79 73 74 65 6d |der othe|r system|
|00001550| 73 2e 0a 58 2e 53 48 20 | 41 55 54 48 4f 52 0a 58 |s..X.SH |AUTHOR.X|
|00001560| 70 6d 70 20 77 61 73 20 | 77 72 69 74 74 65 6e 20 |pmp was |written |
|00001570| 62 79 20 44 61 6e 69 65 | 6c 20 4a 2e 20 42 65 72 |by Danie|l J. Ber|
|00001580| 6e 73 74 65 69 6e 2e 0a | 58 49 74 20 69 73 20 70 |nstein..|XIt is p|
|00001590| 75 62 6c 69 63 20 64 6f | 6d 61 69 6e 2e 0a 45 4e |ublic do|main..EN|
|000015a0| 44 5f 4f 46 5f 46 49 4c | 45 0a 69 66 20 74 65 73 |D_OF_FIL|E.if tes|
|000015b0| 74 20 31 31 35 32 20 2d | 6e 65 20 60 77 63 20 2d |t 1152 -|ne `wc -|
|000015c0| 63 20 3c 27 70 6d 70 2e | 31 27 60 3b 20 74 68 65 |c <'pmp.|1'`; the|
|000015d0| 6e 0a 20 20 20 20 65 63 | 68 6f 20 73 68 61 72 3a |n. ec|ho shar:|
|000015e0| 20 5c 22 27 70 6d 70 2e | 31 27 5c 22 20 75 6e 70 | \"'pmp.|1'\" unp|
|000015f0| 61 63 6b 65 64 20 77 69 | 74 68 20 77 72 6f 6e 67 |acked wi|th wrong|
|00001600| 20 73 69 7a 65 21 0a 66 | 69 0a 23 20 65 6e 64 20 | size!.f|i.# end |
|00001610| 6f 66 20 27 70 6d 70 2e | 31 27 0a 66 69 0a 69 66 |of 'pmp.|1'.fi.if|
|00001620| 20 74 65 73 74 20 2d 66 | 20 27 70 6d 70 6c 69 62 | test -f| 'pmplib|
|00001630| 2e 63 27 20 2d 61 20 22 | 24 7b 31 7d 22 20 21 3d |.c' -a "|${1}" !=|
|00001640| 20 22 2d 63 22 20 3b 20 | 74 68 65 6e 20 0a 20 20 | "-c" ; |then . |
|00001650| 65 63 68 6f 20 73 68 61 | 72 3a 20 57 69 6c 6c 20 |echo sha|r: Will |
|00001660| 6e 6f 74 20 63 6c 6f 62 | 62 65 72 20 65 78 69 73 |not clob|ber exis|
|00001670| 74 69 6e 67 20 66 69 6c | 65 20 5c 22 27 70 6d 70 |ting fil|e \"'pmp|
|00001680| 6c 69 62 2e 63 27 5c 22 | 0a 65 6c 73 65 0a 65 63 |lib.c'\"|.else.ec|
|00001690| 68 6f 20 73 68 61 72 3a | 20 45 78 74 72 61 63 74 |ho shar:| Extract|
|000016a0| 69 6e 67 20 5c 22 27 70 | 6d 70 6c 69 62 2e 63 27 |ing \"'p|mplib.c'|
|000016b0| 5c 22 20 5c 28 39 32 30 | 20 63 68 61 72 61 63 74 |\" \(920| charact|
|000016c0| 65 72 73 5c 29 0a 73 65 | 64 20 22 73 2f 5e 58 2f |ers\).se|d "s/^X/|
|000016d0| 2f 22 20 3e 27 70 6d 70 | 6c 69 62 2e 63 27 20 3c |/" >'pmp|lib.c' <|
|000016e0| 3c 27 45 4e 44 5f 4f 46 | 5f 46 49 4c 45 27 0a 58 |<'END_OF|_FILE'.X|
|000016f0| 23 69 6e 63 6c 75 64 65 | 20 3c 73 74 64 69 6f 2e |#include| <stdio.|
|00001700| 68 3e 0a 58 23 69 6e 63 | 6c 75 64 65 20 22 70 6d |h>.X#inc|lude "pm|
|00001710| 70 6c 69 62 2e 68 22 0a | 58 23 69 66 64 65 66 20 |plib.h".|X#ifdef |
|00001720| 50 4d 50 53 49 47 0a 58 | 23 69 6e 63 6c 75 64 65 |PMPSIG.X|#include|
|00001730| 20 3c 73 79 73 2f 74 69 | 6d 65 2e 68 3e 0a 58 23 | <sys/ti|me.h>.X#|
|00001740| 69 6e 63 6c 75 64 65 20 | 3c 73 69 67 6e 61 6c 2e |include |<signal.|
|00001750| 68 3e 0a 58 69 6e 74 20 | 70 6d 70 73 69 67 20 3d |h>.Xint |pmpsig =|
|00001760| 20 30 3b 0a 58 23 65 6e | 64 69 66 0a 58 0a 58 73 | 0;.X#en|dif.X.Xs|
|00001770| 74 61 74 69 63 20 73 74 | 72 75 63 74 20 70 6d 70 |tatic st|ruct pmp|
|00001780| 63 6f 75 6e 74 20 2a 63 | 75 72 20 3d 20 28 73 74 |count *c|ur = (st|
|00001790| 72 75 63 74 20 70 6d 70 | 63 6f 75 6e 74 20 2a 29 |ruct pmp|count *)|
|000017a0| 20 30 3b 0a 58 0a 58 76 | 6f 69 64 20 70 6d 70 72 | 0;.X.Xv|oid pmpr|
|000017b0| 65 67 69 73 74 65 72 28 | 70 6d 70 63 29 0a 58 73 |egister(|pmpc).Xs|
|000017c0| 74 72 75 63 74 20 70 6d | 70 63 6f 75 6e 74 20 2a |truct pm|pcount *|
|000017d0| 70 6d 70 63 3b 0a 58 7b | 0a 58 20 70 6d 70 63 2d |pmpc;.X{|.X pmpc-|
|000017e0| 3e 70 72 65 76 20 3d 20 | 63 75 72 3b 0a 58 20 63 |>prev = |cur;.X c|
|000017f0| 75 72 20 3d 20 70 6d 70 | 63 3b 0a 58 7d 0a 58 0a |ur = pmp|c;.X}.X.|
|00001800| 58 70 6d 70 28 66 6e 29 | 0a 58 63 68 61 72 20 2a |Xpmp(fn)|.Xchar *|
|00001810| 66 6e 3b 0a 58 7b 0a 58 | 20 46 49 4c 45 20 2a 66 |fn;.X{.X| FILE *f|
|00001820| 69 3b 0a 58 20 73 74 72 | 75 63 74 20 70 6d 70 63 |i;.X str|uct pmpc|
|00001830| 6f 75 6e 74 20 2a 74 3b | 0a 58 0a 58 20 69 66 20 |ount *t;|.X.X if |
|00001840| 28 28 66 69 20 3d 20 66 | 6f 70 65 6e 28 66 6e 2c |((fi = f|open(fn,|
|00001850| 22 77 22 29 29 20 3d 3d | 20 4e 55 4c 4c 29 0a 58 |"w")) ==| NULL).X|
|00001860| 20 20 20 72 65 74 75 72 | 6e 28 2d 31 29 3b 0a 58 | retur|n(-1);.X|
|00001870| 20 66 6f 72 20 28 74 20 | 3d 20 63 75 72 3b 74 3b | for (t |= cur;t;|
|00001880| 74 20 3d 20 74 2d 3e 70 | 72 65 76 29 0a 58 23 69 |t = t->p|rev).X#i|
|00001890| 66 64 65 66 20 50 4d 50 | 53 49 47 0a 58 20 20 20 |fdef PMP|SIG.X |
|000018a0| 28 76 6f 69 64 29 20 66 | 70 72 69 6e 74 66 28 66 |(void) f|printf(f|
|000018b0| 69 2c 22 25 73 20 25 64 | 3a 20 25 64 2b 25 64 5c |i,"%s %d|: %d+%d\|
|000018c0| 6e 22 2c 74 2d 3e 66 69 | 6c 65 2c 74 2d 3e 6c 69 |n",t->fi|le,t->li|
|000018d0| 6e 65 2c 74 2d 3e 73 63 | 6f 75 6e 74 2c 74 2d 3e |ne,t->sc|ount,t->|
|000018e0| 74 63 6f 75 6e 74 29 3b | 0a 58 23 65 6c 73 65 0a |tcount);|.X#else.|
|000018f0| 58 20 20 20 28 76 6f 69 | 64 29 20 66 70 72 69 6e |X (voi|d) fprin|
|00001900| 74 66 28 66 69 2c 22 25 | 73 20 25 64 3a 20 25 64 |tf(fi,"%|s %d: %d|
|00001910| 5c 6e 22 2c 74 2d 3e 66 | 69 6c 65 2c 74 2d 3e 6c |\n",t->f|ile,t->l|
|00001920| 69 6e 65 2c 74 2d 3e 73 | 63 6f 75 6e 74 29 3b 0a |ine,t->s|count);.|
|00001930| 58 23 65 6e 64 69 66 0a | 58 20 28 76 6f 69 64 29 |X#endif.|X (void)|
|00001940| 20 66 63 6c 6f 73 65 28 | 66 69 29 3b 0a 58 20 72 | fclose(|fi);.X r|
|00001950| 65 74 75 72 6e 28 30 29 | 3b 0a 58 7d 0a 58 0a 58 |eturn(0)|;.X}.X.X|
|00001960| 23 69 66 64 65 66 20 50 | 4d 50 53 49 47 0a 58 70 |#ifdef P|MPSIG.Xp|
|00001970| 6d 70 73 69 67 68 61 6e | 64 6c 65 28 29 0a 58 7b |mpsighan|dle().X{|
|00001980| 0a 58 20 70 6d 70 73 69 | 67 2b 2b 3b 0a 58 7d 0a |.X pmpsi|g++;.X}.|
|00001990| 58 0a 58 76 6f 69 64 20 | 70 6d 70 73 74 61 72 74 |X.Xvoid |pmpstart|
|000019a0| 73 69 67 28 75 73 29 0a | 58 69 6e 74 20 75 73 3b |sig(us).|Xint us;|
|000019b0| 0a 58 7b 0a 58 20 73 74 | 72 75 63 74 20 69 74 69 |.X{.X st|ruct iti|
|000019c0| 6d 65 72 76 61 6c 20 69 | 74 3b 0a 58 0a 58 20 69 |merval i|t;.X.X i|
|000019d0| 74 2e 69 74 5f 69 6e 74 | 65 72 76 61 6c 2e 74 76 |t.it_int|erval.tv|
|000019e0| 5f 73 65 63 20 3d 20 69 | 74 2e 69 74 5f 76 61 6c |_sec = i|t.it_val|
|000019f0| 75 65 2e 74 76 5f 73 65 | 63 20 3d 20 75 73 20 2f |ue.tv_se|c = us /|
|00001a00| 20 31 30 30 30 30 30 3b | 0a 58 20 69 74 2e 69 74 | 100000;|.X it.it|
|00001a10| 5f 69 6e 74 65 72 76 61 | 6c 2e 74 76 5f 75 73 65 |_interva|l.tv_use|
|00001a20| 63 20 3d 20 69 74 2e 69 | 74 5f 76 61 6c 75 65 2e |c = it.i|t_value.|
|00001a30| 74 76 5f 75 73 65 63 20 | 3d 20 75 73 20 25 20 31 |tv_usec |= us % 1|
|00001a40| 30 30 30 30 30 3b 0a 58 | 0a 58 20 28 76 6f 69 64 |00000;.X|.X (void|
|00001a50| 29 20 73 69 67 6e 61 6c | 28 53 49 47 56 54 41 4c |) signal|(SIGVTAL|
|00001a60| 52 4d 2c 70 6d 70 73 69 | 67 68 61 6e 64 6c 65 29 |RM,pmpsi|ghandle)|
|00001a70| 3b 0a 58 20 28 76 6f 69 | 64 29 20 73 65 74 69 74 |;.X (voi|d) setit|
|00001a80| 69 6d 65 72 28 49 54 49 | 4d 45 52 5f 56 49 52 54 |imer(ITI|MER_VIRT|
|00001a90| 55 41 4c 2c 26 69 74 2c | 28 73 74 72 75 63 74 20 |UAL,&it,|(struct |
|00001aa0| 69 74 69 6d 65 72 76 61 | 6c 20 2a 29 20 30 29 3b |itimerva|l *) 0);|
|00001ab0| 0a 58 7d 0a 58 23 65 6e | 64 69 66 0a 45 4e 44 5f |.X}.X#en|dif.END_|
|00001ac0| 4f 46 5f 46 49 4c 45 0a | 69 66 20 74 65 73 74 20 |OF_FILE.|if test |
|00001ad0| 39 32 30 20 2d 6e 65 20 | 60 77 63 20 2d 63 20 3c |920 -ne |`wc -c <|
|00001ae0| 27 70 6d 70 6c 69 62 2e | 63 27 60 3b 20 74 68 65 |'pmplib.|c'`; the|
|00001af0| 6e 0a 20 20 20 20 65 63 | 68 6f 20 73 68 61 72 3a |n. ec|ho shar:|
|00001b00| 20 5c 22 27 70 6d 70 6c | 69 62 2e 63 27 5c 22 20 | \"'pmpl|ib.c'\" |
|00001b10| 75 6e 70 61 63 6b 65 64 | 20 77 69 74 68 20 77 72 |unpacked| with wr|
|00001b20| 6f 6e 67 20 73 69 7a 65 | 21 0a 66 69 0a 23 20 65 |ong size|!.fi.# e|
|00001b30| 6e 64 20 6f 66 20 27 70 | 6d 70 6c 69 62 2e 63 27 |nd of 'p|mplib.c'|
|00001b40| 0a 66 69 0a 69 66 20 74 | 65 73 74 20 2d 66 20 27 |.fi.if t|est -f '|
|00001b50| 70 6d 70 6c 69 62 2e 68 | 27 20 2d 61 20 22 24 7b |pmplib.h|' -a "${|
|00001b60| 31 7d 22 20 21 3d 20 22 | 2d 63 22 20 3b 20 74 68 |1}" != "|-c" ; th|
|00001b70| 65 6e 20 0a 20 20 65 63 | 68 6f 20 73 68 61 72 3a |en . ec|ho shar:|
|00001b80| 20 57 69 6c 6c 20 6e 6f | 74 20 63 6c 6f 62 62 65 | Will no|t clobbe|
|00001b90| 72 20 65 78 69 73 74 69 | 6e 67 20 66 69 6c 65 20 |r existi|ng file |
|00001ba0| 5c 22 27 70 6d 70 6c 69 | 62 2e 68 27 5c 22 0a 65 |\"'pmpli|b.h'\".e|
|00001bb0| 6c 73 65 0a 65 63 68 6f | 20 73 68 61 72 3a 20 45 |lse.echo| shar: E|
|00001bc0| 78 74 72 61 63 74 69 6e | 67 20 5c 22 27 70 6d 70 |xtractin|g \"'pmp|
|00001bd0| 6c 69 62 2e 68 27 5c 22 | 20 5c 28 36 37 36 20 63 |lib.h'\"| \(676 c|
|00001be0| 68 61 72 61 63 74 65 72 | 73 5c 29 0a 73 65 64 20 |haracter|s\).sed |
|00001bf0| 22 73 2f 5e 58 2f 2f 22 | 20 3e 27 70 6d 70 6c 69 |"s/^X//"| >'pmpli|
|00001c00| 62 2e 68 27 20 3c 3c 27 | 45 4e 44 5f 4f 46 5f 46 |b.h' <<'|END_OF_F|
|00001c10| 49 4c 45 27 0a 58 23 69 | 66 6e 64 65 66 20 50 4d |ILE'.X#i|fndef PM|
|00001c20| 50 4c 49 42 5f 48 0a 58 | 23 64 65 66 69 6e 65 20 |PLIB_H.X|#define |
|00001c30| 50 4d 50 4c 49 42 5f 48 | 0a 58 0a 58 23 64 65 66 |PMPLIB_H|.X.X#def|
|00001c40| 69 6e 65 20 50 4d 50 53 | 49 47 0a 58 0a 58 70 6d |ine PMPS|IG.X.Xpm|
|00001c50| 70 28 29 3b 0a 58 76 6f | 69 64 20 70 6d 70 72 65 |p();.Xvo|id pmpre|
|00001c60| 67 69 73 74 65 72 28 29 | 3b 0a 58 0a 58 23 69 66 |gister()|;.X.X#if|
|00001c70| 64 65 66 20 50 4d 50 53 | 49 47 0a 58 65 78 74 65 |def PMPS|IG.Xexte|
|00001c80| 72 6e 20 69 6e 74 20 70 | 6d 70 73 69 67 3b 0a 58 |rn int p|mpsig;.X|
|00001c90| 76 6f 69 64 20 70 6d 70 | 73 69 67 73 74 61 72 74 |void pmp|sigstart|
|00001ca0| 28 29 3b 0a 58 23 65 6e | 64 69 66 0a 58 0a 58 73 |();.X#en|dif.X.Xs|
|00001cb0| 74 72 75 63 74 20 70 6d | 70 63 6f 75 6e 74 0a 58 |truct pm|pcount.X|
|00001cc0| 20 7b 0a 58 20 20 6c 6f | 6e 67 20 73 63 6f 75 6e | {.X lo|ng scoun|
|00001cd0| 74 3b 0a 58 23 69 66 64 | 65 66 20 50 4d 50 53 49 |t;.X#ifd|ef PMPSI|
|00001ce0| 47 0a 58 20 20 6c 6f 6e | 67 20 74 63 6f 75 6e 74 |G.X lon|g tcount|
|00001cf0| 3b 0a 58 23 65 6e 64 69 | 66 0a 58 20 20 6c 6f 6e |;.X#endi|f.X lon|
|00001d00| 67 20 6c 69 6e 65 3b 0a | 58 20 20 63 68 61 72 20 |g line;.|X char |
|00001d10| 2a 66 69 6c 65 3b 0a 58 | 20 20 73 74 72 75 63 74 |*file;.X| struct|
|00001d20| 20 70 6d 70 63 6f 75 6e | 74 20 2a 70 72 65 76 3b | pmpcoun|t *prev;|
|00001d30| 0a 58 20 7d 0a 58 3b 0a | 58 0a 58 23 69 66 64 65 |.X }.X;.|X.X#ifde|
|00001d40| 66 20 50 4d 50 53 49 47 | 0a 58 23 64 65 66 69 6e |f PMPSIG|.X#defin|
|00001d50| 65 20 50 4d 50 45 58 45 | 43 20 64 6f 20 7b 20 73 |e PMPEXE|C do { s|
|00001d60| 74 61 74 69 63 20 73 74 | 72 75 63 74 20 70 6d 70 |tatic st|ruct pmp|
|00001d70| 63 6f 75 6e 74 20 70 6d | 70 63 20 3d 20 7b 30 2c |count pm|pc = {0,|
|00001d80| 30 2c 5f 5f 4c 49 4e 45 | 5f 5f 2c 5f 5f 46 49 4c |0,__LINE|__,__FIL|
|00001d90| 45 5f 5f 2c 28 73 74 72 | 75 63 74 20 70 6d 70 63 |E__,(str|uct pmpc|
|00001da0| 6f 75 6e 74 20 2a 29 30 | 7d 3b 20 69 66 20 28 21 |ount *)0|}; if (!|
|00001db0| 28 28 70 6d 70 63 2e 73 | 63 6f 75 6e 74 29 2b 2b |((pmpc.s|count)++|
|00001dc0| 29 29 20 70 6d 70 72 65 | 67 69 73 74 65 72 28 26 |)) pmpre|gister(&|
|00001dd0| 70 6d 70 63 29 3b 20 69 | 66 20 28 70 6d 70 73 69 |pmpc); i|f (pmpsi|
|00001de0| 67 29 20 7b 20 70 6d 70 | 63 2e 74 63 6f 75 6e 74 |g) { pmp|c.tcount|
|00001df0| 20 2b 3d 20 70 6d 70 73 | 69 67 3b 20 70 6d 70 73 | += pmps|ig; pmps|
|00001e00| 69 67 20 3d 20 30 3b 20 | 7d 20 7d 20 77 68 69 6c |ig = 0; |} } whil|
|00001e10| 65 28 30 29 0a 58 23 65 | 6c 73 65 0a 58 23 64 65 |e(0).X#e|lse.X#de|
|00001e20| 66 69 6e 65 20 50 4d 50 | 45 58 45 43 20 64 6f 20 |fine PMP|EXEC do |
|00001e30| 7b 20 73 74 61 74 69 63 | 20 73 74 72 75 63 74 20 |{ static| struct |
|00001e40| 70 6d 70 63 6f 75 6e 74 | 20 70 6d 70 63 20 3d 20 |pmpcount| pmpc = |
|00001e50| 7b 30 2c 30 2c 5f 5f 4c | 49 4e 45 5f 5f 2c 5f 5f |{0,0,__L|INE__,__|
|00001e60| 46 49 4c 45 5f 5f 2c 28 | 73 74 72 75 63 74 20 70 |FILE__,(|struct p|
|00001e70| 6d 70 63 6f 75 6e 74 20 | 2a 29 30 7d 3b 20 69 66 |mpcount |*)0}; if|
|00001e80| 20 28 21 28 28 70 6d 70 | 63 2e 73 63 6f 75 6e 74 | (!((pmp|c.scount|
|00001e90| 29 2b 2b 29 29 20 70 6d | 70 72 65 67 69 73 74 65 |)++)) pm|pregiste|
|00001ea0| 72 28 26 70 6d 70 63 29 | 3b 20 7d 20 77 68 69 6c |r(&pmpc)|; } whil|
|00001eb0| 65 28 30 29 0a 58 23 65 | 6e 64 69 66 0a 58 23 64 |e(0).X#e|ndif.X#d|
|00001ec0| 65 66 69 6e 65 20 50 20 | 50 4d 50 45 58 45 43 0a |efine P |PMPEXEC.|
|00001ed0| 58 0a 58 23 65 6e 64 69 | 66 0a 45 4e 44 5f 4f 46 |X.X#endi|f.END_OF|
|00001ee0| 5f 46 49 4c 45 0a 69 66 | 20 74 65 73 74 20 36 37 |_FILE.if| test 67|
|00001ef0| 36 20 2d 6e 65 20 60 77 | 63 20 2d 63 20 3c 27 70 |6 -ne `w|c -c <'p|
|00001f00| 6d 70 6c 69 62 2e 68 27 | 60 3b 20 74 68 65 6e 0a |mplib.h'|`; then.|
|00001f10| 20 20 20 20 65 63 68 6f | 20 73 68 61 72 3a 20 5c | echo| shar: \|
|00001f20| 22 27 70 6d 70 6c 69 62 | 2e 68 27 5c 22 20 75 6e |"'pmplib|.h'\" un|
|00001f30| 70 61 63 6b 65 64 20 77 | 69 74 68 20 77 72 6f 6e |packed w|ith wron|
|00001f40| 67 20 73 69 7a 65 21 0a | 66 69 0a 23 20 65 6e 64 |g size!.|fi.# end|
|00001f50| 20 6f 66 20 27 70 6d 70 | 6c 69 62 2e 68 27 0a 66 | of 'pmp|lib.h'.f|
|00001f60| 69 0a 69 66 20 74 65 73 | 74 20 2d 66 20 27 74 65 |i.if tes|t -f 'te|
|00001f70| 73 74 2e 63 27 20 2d 61 | 20 22 24 7b 31 7d 22 20 |st.c' -a| "${1}" |
|00001f80| 21 3d 20 22 2d 63 22 20 | 3b 20 74 68 65 6e 20 0a |!= "-c" |; then .|
|00001f90| 20 20 65 63 68 6f 20 73 | 68 61 72 3a 20 57 69 6c | echo s|har: Wil|
|00001fa0| 6c 20 6e 6f 74 20 63 6c | 6f 62 62 65 72 20 65 78 |l not cl|obber ex|
|00001fb0| 69 73 74 69 6e 67 20 66 | 69 6c 65 20 5c 22 27 74 |isting f|ile \"'t|
|00001fc0| 65 73 74 2e 63 27 5c 22 | 0a 65 6c 73 65 0a 65 63 |est.c'\"|.else.ec|
|00001fd0| 68 6f 20 73 68 61 72 3a | 20 45 78 74 72 61 63 74 |ho shar:| Extract|
|00001fe0| 69 6e 67 20 5c 22 27 74 | 65 73 74 2e 63 27 5c 22 |ing \"'t|est.c'\"|
|00001ff0| 20 5c 28 33 36 35 20 63 | 68 61 72 61 63 74 65 72 | \(365 c|haracter|
|00002000| 73 5c 29 0a 73 65 64 20 | 22 73 2f 5e 58 2f 2f 22 |s\).sed |"s/^X//"|
|00002010| 20 3e 27 74 65 73 74 2e | 63 27 20 3c 3c 27 45 4e | >'test.|c' <<'EN|
|00002020| 44 5f 4f 46 5f 46 49 4c | 45 27 0a 58 23 69 6e 63 |D_OF_FIL|E'.X#inc|
|00002030| 6c 75 64 65 20 22 70 6d | 70 6c 69 62 2e 68 22 0a |lude "pm|plib.h".|
|00002040| 58 0a 58 6d 61 69 6e 28 | 29 0a 58 7b 0a 58 20 69 |X.Xmain(|).X{.X i|
|00002050| 6e 74 20 69 3b 0a 58 20 | 69 6e 74 20 6a 3b 0a 58 |nt i;.X |int j;.X|
|00002060| 0a 58 20 2f 2a 20 70 6d | 70 73 74 61 72 74 73 69 |.X /* pm|pstartsi|
|00002070| 67 28 31 30 30 30 29 3a | 20 73 65 74 20 74 68 65 |g(1000):| set the|
|00002080| 20 74 69 6d 65 72 20 66 | 6f 72 20 65 76 65 72 79 | timer f|or every|
|00002090| 20 31 20 6d 69 6c 6c 69 | 73 65 63 6f 6e 64 2e 20 | 1 milli|second. |
|000020a0| 2a 2f 0a 58 20 2f 2a 20 | 50 3a 20 70 72 6f 64 75 |*/.X /* |P: produ|
|000020b0| 63 65 20 70 72 6f 66 69 | 6c 69 6e 67 20 69 6e 66 |ce profi|ling inf|
|000020c0| 6f 72 6d 61 74 69 6f 6e | 2e 20 2a 2f 0a 58 20 2f |ormation|. */.X /|
|000020d0| 2a 20 70 6d 70 28 22 74 | 65 73 74 2e 6f 75 74 22 |* pmp("t|est.out"|
|000020e0| 29 3a 20 73 61 76 65 20 | 70 6d 70 27 73 20 72 65 |): save |pmp's re|
|000020f0| 73 75 6c 74 73 20 69 6e | 20 74 65 73 74 2e 6f 75 |sults in| test.ou|
|00002100| 74 2e 20 2a 2f 0a 58 0a | 58 20 70 6d 70 73 74 61 |t. */.X.|X pmpsta|
|00002110| 72 74 73 69 67 28 31 30 | 30 30 29 3b 0a 58 0a 58 |rtsig(10|00);.X.X|
|00002120| 20 66 6f 72 20 28 69 20 | 3d 20 30 3b 69 20 3c 20 | for (i |= 0;i < |
|00002130| 31 30 30 30 3b 69 2b 2b | 29 0a 58 20 20 7b 0a 58 |1000;i++|).X {.X|
|00002140| 20 20 20 50 3b 0a 58 20 | 20 20 66 6f 72 20 28 6a | P;.X | for (j|
|00002150| 20 3d 20 30 3b 6a 20 3c | 20 31 30 30 30 3b 6a 2b | = 0;j <| 1000;j+|
|00002160| 2b 29 0a 58 20 20 20 20 | 7b 0a 58 20 20 20 20 20 |+).X |{.X |
|00002170| 50 3b 0a 58 20 20 20 20 | 20 69 66 20 28 69 20 25 |P;.X | if (i %|
|00002180| 20 32 29 0a 58 20 20 20 | 20 20 20 20 50 3b 0a 58 | 2).X | P;.X|
|00002190| 20 20 20 20 7d 0a 58 20 | 20 7d 0a 58 20 70 6d 70 | }.X | }.X pmp|
|000021a0| 28 22 74 65 73 74 2e 6f | 75 74 22 29 3b 0a 58 7d |("test.o|ut");.X}|
|000021b0| 0a 45 4e 44 5f 4f 46 5f | 46 49 4c 45 0a 69 66 20 |.END_OF_|FILE.if |
|000021c0| 74 65 73 74 20 33 36 35 | 20 2d 6e 65 20 60 77 63 |test 365| -ne `wc|
|000021d0| 20 2d 63 20 3c 27 74 65 | 73 74 2e 63 27 60 3b 20 | -c <'te|st.c'`; |
|000021e0| 74 68 65 6e 0a 20 20 20 | 20 65 63 68 6f 20 73 68 |then. | echo sh|
|000021f0| 61 72 3a 20 5c 22 27 74 | 65 73 74 2e 63 27 5c 22 |ar: \"'t|est.c'\"|
|00002200| 20 75 6e 70 61 63 6b 65 | 64 20 77 69 74 68 20 77 | unpacke|d with w|
|00002210| 72 6f 6e 67 20 73 69 7a | 65 21 0a 66 69 0a 23 20 |rong siz|e!.fi.# |
|00002220| 65 6e 64 20 6f 66 20 27 | 74 65 73 74 2e 63 27 0a |end of '|test.c'.|
|00002230| 66 69 0a 69 66 20 74 65 | 73 74 20 2d 66 20 27 74 |fi.if te|st -f 't|
|00002240| 65 73 74 2e 73 63 72 69 | 70 74 27 20 2d 61 20 22 |est.scri|pt' -a "|
|00002250| 24 7b 31 7d 22 20 21 3d | 20 22 2d 63 22 20 3b 20 |${1}" !=| "-c" ; |
|00002260| 74 68 65 6e 20 0a 20 20 | 65 63 68 6f 20 73 68 61 |then . |echo sha|
|00002270| 72 3a 20 57 69 6c 6c 20 | 6e 6f 74 20 63 6c 6f 62 |r: Will |not clob|
|00002280| 62 65 72 20 65 78 69 73 | 74 69 6e 67 20 66 69 6c |ber exis|ting fil|
|00002290| 65 20 5c 22 27 74 65 73 | 74 2e 73 63 72 69 70 74 |e \"'tes|t.script|
|000022a0| 27 5c 22 0a 65 6c 73 65 | 0a 65 63 68 6f 20 73 68 |'\".else|.echo sh|
|000022b0| 61 72 3a 20 45 78 74 72 | 61 63 74 69 6e 67 20 5c |ar: Extr|acting \|
|000022c0| 22 27 74 65 73 74 2e 73 | 63 72 69 70 74 27 5c 22 |"'test.s|cript'\"|
|000022d0| 20 5c 28 38 36 39 20 63 | 68 61 72 61 63 74 65 72 | \(869 c|haracter|
|000022e0| 73 5c 29 0a 73 65 64 20 | 22 73 2f 5e 58 2f 2f 22 |s\).sed |"s/^X//"|
|000022f0| 20 3e 27 74 65 73 74 2e | 73 63 72 69 70 74 27 20 | >'test.|script' |
|00002300| 3c 3c 27 45 4e 44 5f 4f | 46 5f 46 49 4c 45 27 0a |<<'END_O|F_FILE'.|
|00002310| 58 63 73 68 3e 20 63 61 | 74 20 74 65 73 74 2e 63 |Xcsh> ca|t test.c|
|00002320| 0a 58 23 69 6e 63 6c 75 | 64 65 20 22 70 6d 70 6c |.X#inclu|de "pmpl|
|00002330| 69 62 2e 68 22 0a 58 0a | 58 6d 61 69 6e 28 29 0a |ib.h".X.|Xmain().|
|00002340| 58 7b 0a 58 20 69 6e 74 | 20 69 3b 0a 58 20 69 6e |X{.X int| i;.X in|
|00002350| 74 20 6a 3b 0a 58 0a 58 | 20 2f 2a 20 70 6d 70 73 |t j;.X.X| /* pmps|
|00002360| 74 61 72 74 73 69 67 28 | 31 30 30 30 29 3a 20 73 |tartsig(|1000): s|
|00002370| 65 74 20 74 68 65 20 74 | 69 6d 65 72 20 66 6f 72 |et the t|imer for|
|00002380| 20 65 76 65 72 79 20 31 | 20 6d 69 6c 6c 69 73 65 | every 1| millise|
|00002390| 63 6f 6e 64 2e 20 2a 2f | 0a 58 20 2f 2a 20 50 3a |cond. */|.X /* P:|
|000023a0| 20 70 72 6f 64 75 63 65 | 20 70 72 6f 66 69 6c 69 | produce| profili|
|000023b0| 6e 67 20 69 6e 66 6f 72 | 6d 61 74 69 6f 6e 2e 20 |ng infor|mation. |
|000023c0| 2a 2f 0a 58 20 2f 2a 20 | 70 6d 70 28 22 74 65 73 |*/.X /* |pmp("tes|
|000023d0| 74 2e 6f 75 74 22 29 3a | 20 73 61 76 65 20 70 6d |t.out"):| save pm|
|000023e0| 70 27 73 20 72 65 73 75 | 6c 74 73 20 69 6e 20 74 |p's resu|lts in t|
|000023f0| 65 73 74 2e 6f 75 74 2e | 20 2a 2f 0a 58 0a 58 20 |est.out.| */.X.X |
|00002400| 70 6d 70 73 74 61 72 74 | 73 69 67 28 31 30 30 30 |pmpstart|sig(1000|
|00002410| 29 3b 0a 58 0a 58 20 66 | 6f 72 20 28 69 20 3d 20 |);.X.X f|or (i = |
|00002420| 30 3b 69 20 3c 20 31 30 | 30 30 3b 69 2b 2b 29 0a |0;i < 10|00;i++).|
|00002430| 58 20 20 7b 0a 58 20 20 | 20 50 3b 0a 58 20 20 20 |X {.X | P;.X |
|00002440| 66 6f 72 20 28 6a 20 3d | 20 30 3b 6a 20 3c 20 31 |for (j =| 0;j < 1|
|00002450| 30 30 30 3b 6a 2b 2b 29 | 0a 58 20 20 20 20 7b 0a |000;j++)|.X {.|
|00002460| 58 20 20 20 20 20 50 3b | 0a 58 20 20 20 20 20 69 |X P;|.X i|
|00002470| 66 20 28 69 20 25 20 32 | 29 0a 58 20 20 20 20 20 |f (i % 2|).X |
|00002480| 20 20 50 3b 0a 58 20 20 | 20 20 7d 0a 58 20 20 7d | P;.X | }.X }|
|00002490| 0a 58 20 70 6d 70 28 22 | 74 65 73 74 2e 6f 75 74 |.X pmp("|test.out|
|000024a0| 22 29 3b 0a 58 7d 0a 58 | 63 73 68 3e 20 63 63 20 |");.X}.X|csh> cc |
|000024b0| 2d 6f 20 74 65 73 74 20 | 74 65 73 74 2e 63 20 70 |-o test |test.c p|
|000024c0| 6d 70 6c 69 62 2e 6f 0a | 58 63 73 68 3e 20 2e 2f |mplib.o.|Xcsh> ./|
|000024d0| 74 65 73 74 0a 58 63 73 | 68 3e 20 70 6d 70 20 74 |test.Xcs|h> pmp t|
|000024e0| 65 73 74 2e 63 20 74 65 | 73 74 2e 6f 75 74 0a 58 |est.c te|st.out.X|
|000024f0| 23 69 6e 63 6c 75 64 65 | 20 22 70 6d 70 6c 69 62 |#include| "pmplib|
|00002500| 2e 68 22 0a 58 0a 58 6d | 61 69 6e 28 29 0a 58 7b |.h".X.Xm|ain().X{|
|00002510| 0a 58 20 69 6e 74 20 69 | 3b 0a 58 20 69 6e 74 20 |.X int i|;.X int |
|00002520| 6a 3b 0a 58 0a 58 20 2f | 2a 20 70 6d 70 73 74 61 |j;.X.X /|* pmpsta|
|00002530| 72 74 73 69 67 28 31 30 | 30 30 29 3a 20 73 65 74 |rtsig(10|00): set|
|00002540| 20 74 68 65 20 74 69 6d | 65 72 20 66 6f 72 20 65 | the tim|er for e|
|00002550| 76 65 72 79 20 31 20 6d | 69 6c 6c 69 73 65 63 6f |very 1 m|illiseco|
|00002560| 6e 64 2e 20 2a 2f 0a 58 | 20 2f 2a 20 50 3a 20 70 |nd. */.X| /* P: p|
|00002570| 72 6f 64 75 63 65 20 70 | 72 6f 66 69 6c 69 6e 67 |roduce p|rofiling|
|00002580| 20 69 6e 66 6f 72 6d 61 | 74 69 6f 6e 2e 20 2a 2f | informa|tion. */|
|00002590| 0a 58 20 2f 2a 20 70 6d | 70 28 22 74 65 73 74 2e |.X /* pm|p("test.|
|000025a0| 6f 75 74 22 29 3a 20 73 | 61 76 65 20 70 6d 70 27 |out"): s|ave pmp'|
|000025b0| 73 20 72 65 73 75 6c 74 | 73 20 69 6e 20 74 65 73 |s result|s in tes|
|000025c0| 74 2e 6f 75 74 2e 20 2a | 2f 0a 58 0a 58 20 70 6d |t.out. *|/.X.X pm|
|000025d0| 70 73 74 61 72 74 73 69 | 67 28 31 30 30 30 29 3b |pstartsi|g(1000);|
|000025e0| 0a 58 0a 58 20 66 6f 72 | 20 28 69 20 3d 20 30 3b |.X.X for| (i = 0;|
|000025f0| 69 20 3c 20 31 30 30 30 | 3b 69 2b 2b 29 0a 58 20 |i < 1000|;i++).X |
|00002600| 20 7b 0a 58 20 20 20 50 | 3b 20 2f 2a 20 31 30 30 | {.X P|; /* 100|
|00002610| 30 2b 30 20 2a 2f 0a 58 | 20 20 20 66 6f 72 20 28 |0+0 */.X| for (|
|00002620| 6a 20 3d 20 30 3b 6a 20 | 3c 20 31 30 30 30 3b 6a |j = 0;j |< 1000;j|
|00002630| 2b 2b 29 0a 58 20 20 20 | 20 7b 0a 58 20 20 20 20 |++).X | {.X |
|00002640| 20 50 3b 20 2f 2a 20 31 | 30 30 30 30 30 30 2b 32 | P; /* 1|000000+2|
|00002650| 34 33 20 2a 2f 0a 58 20 | 20 20 20 20 69 66 20 28 |43 */.X | if (|
|00002660| 69 20 25 20 32 29 0a 58 | 20 20 20 20 20 20 20 50 |i % 2).X| P|
|00002670| 3b 20 2f 2a 20 35 30 30 | 30 30 30 2b 31 30 35 20 |; /* 500|000+105 |
|00002680| 2a 2f 0a 58 20 20 20 20 | 7d 0a 58 20 20 7d 0a 58 |*/.X |}.X }.X|
|00002690| 20 70 6d 70 28 22 74 65 | 73 74 2e 6f 75 74 22 29 | pmp("te|st.out")|
|000026a0| 3b 0a 58 7d 0a 58 63 73 | 68 3e 20 0a 45 4e 44 5f |;.X}.Xcs|h> .END_|
|000026b0| 4f 46 5f 46 49 4c 45 0a | 69 66 20 74 65 73 74 20 |OF_FILE.|if test |
|000026c0| 38 36 39 20 2d 6e 65 20 | 60 77 63 20 2d 63 20 3c |869 -ne |`wc -c <|
|000026d0| 27 74 65 73 74 2e 73 63 | 72 69 70 74 27 60 3b 20 |'test.sc|ript'`; |
|000026e0| 74 68 65 6e 0a 20 20 20 | 20 65 63 68 6f 20 73 68 |then. | echo sh|
|000026f0| 61 72 3a 20 5c 22 27 74 | 65 73 74 2e 73 63 72 69 |ar: \"'t|est.scri|
|00002700| 70 74 27 5c 22 20 75 6e | 70 61 63 6b 65 64 20 77 |pt'\" un|packed w|
|00002710| 69 74 68 20 77 72 6f 6e | 67 20 73 69 7a 65 21 0a |ith wron|g size!.|
|00002720| 66 69 0a 23 20 65 6e 64 | 20 6f 66 20 27 74 65 73 |fi.# end| of 'tes|
|00002730| 74 2e 73 63 72 69 70 74 | 27 0a 66 69 0a 65 63 68 |t.script|'.fi.ech|
|00002740| 6f 20 73 68 61 72 3a 20 | 45 6e 64 20 6f 66 20 73 |o shar: |End of s|
|00002750| 68 65 6c 6c 20 61 72 63 | 68 69 76 65 2e 0a 65 78 |hell arc|hive..ex|
|00002760| 69 74 20 30 0a | |it 0. | |
+--------+-------------------------+-------------------------+--------+--------+