home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume25 / byte-benchmarks3.1 / part03 < prev    next >
SHell self-extracting ARchive  |  1992-02-01  |  57.6 KB

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: SHell self-extracting ARchive (archive/shar).

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert SHell self-extracting ARchive (archive/shar) magic Supported
1% dexvert Text File (text/txt) fallback Supported
100% file ASCII text 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)



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 4e 65 77 73 67 72 6f 75 | 70 73 3a 20 63 6f 6d 70 |Newsgrou|ps: comp|
|00000010| 2e 73 6f 75 72 63 65 73 | 2e 75 6e 69 78 0a 46 72 |.sources|.unix.Fr|
|00000020| 6f 6d 3a 20 62 65 6e 40 | 62 79 74 65 70 62 2e 62 |om: ben@|bytepb.b|
|00000030| 79 74 65 2e 63 6f 6d 20 | 28 42 65 6e 20 53 6d 69 |yte.com |(Ben Smi|
|00000040| 74 68 20 40 20 42 59 54 | 45 29 0a 53 75 62 6a 65 |th @ BYT|E).Subje|
|00000050| 63 74 3a 20 76 32 35 69 | 31 31 30 3a 20 42 59 54 |ct: v25i|110: BYT|
|00000060| 45 20 42 65 6e 63 68 6d | 61 72 6b 73 2c 20 56 33 |E Benchm|arks, V3|
|00000070| 2e 31 2c 20 50 61 72 74 | 30 33 2f 30 34 0a 53 65 |.1, Part|03/04.Se|
|00000080| 6e 64 65 72 3a 20 73 6f | 75 72 63 65 73 2d 6d 6f |nder: so|urces-mo|
|00000090| 64 65 72 61 74 6f 72 40 | 70 61 2e 64 65 63 2e 63 |derator@|pa.dec.c|
|000000a0| 6f 6d 0a 41 70 70 72 6f | 76 65 64 3a 20 76 69 78 |om.Appro|ved: vix|
|000000b0| 69 65 40 70 61 2e 64 65 | 63 2e 63 6f 6d 0a 0a 53 |ie@pa.de|c.com..S|
|000000c0| 75 62 6d 69 74 74 65 64 | 2d 42 79 3a 20 62 65 6e |ubmitted|-By: ben|
|000000d0| 40 62 79 74 65 70 62 2e | 62 79 74 65 2e 63 6f 6d |@bytepb.|byte.com|
|000000e0| 20 28 42 65 6e 20 53 6d | 69 74 68 20 40 20 42 59 | (Ben Sm|ith @ BY|
|000000f0| 54 45 29 0a 50 6f 73 74 | 69 6e 67 2d 4e 75 6d 62 |TE).Post|ing-Numb|
|00000100| 65 72 3a 20 56 6f 6c 75 | 6d 65 20 32 35 2c 20 49 |er: Volu|me 25, I|
|00000110| 73 73 75 65 20 31 31 30 | 0a 41 72 63 68 69 76 65 |ssue 110|.Archive|
|00000120| 2d 4e 61 6d 65 3a 20 62 | 79 74 65 2d 62 65 6e 63 |-Name: b|yte-benc|
|00000130| 68 6d 61 72 6b 73 33 2e | 31 2f 70 61 72 74 30 33 |hmarks3.|1/part03|
|00000140| 0a 0a 23 21 20 2f 62 69 | 6e 2f 73 68 0a 23 20 54 |..#! /bi|n/sh.# T|
|00000150| 68 69 73 20 69 73 20 61 | 20 73 68 65 6c 6c 20 61 |his is a| shell a|
|00000160| 72 63 68 69 76 65 2e 20 | 20 52 65 6d 6f 76 65 20 |rchive. | Remove |
|00000170| 61 6e 79 74 68 69 6e 67 | 20 62 65 66 6f 72 65 20 |anything| before |
|00000180| 74 68 69 73 20 6c 69 6e | 65 2c 20 74 68 65 6e 20 |this lin|e, then |
|00000190| 75 6e 70 61 63 6b 0a 23 | 20 69 74 20 62 79 20 73 |unpack.#| it by s|
|000001a0| 61 76 69 6e 67 20 69 74 | 20 69 6e 74 6f 20 61 20 |aving it| into a |
|000001b0| 66 69 6c 65 20 61 6e 64 | 20 74 79 70 69 6e 67 20 |file and| typing |
|000001c0| 22 73 68 20 66 69 6c 65 | 22 2e 20 20 54 6f 20 6f |"sh file|". To o|
|000001d0| 76 65 72 77 72 69 74 65 | 20 65 78 69 73 74 69 6e |verwrite| existin|
|000001e0| 67 0a 23 20 66 69 6c 65 | 73 2c 20 74 79 70 65 20 |g.# file|s, type |
|000001f0| 22 73 68 20 66 69 6c 65 | 20 2d 63 22 2e 20 20 59 |"sh file| -c". Y|
|00000200| 6f 75 20 63 61 6e 20 61 | 6c 73 6f 20 66 65 65 64 |ou can a|lso feed|
|00000210| 20 74 68 69 73 20 61 73 | 20 73 74 61 6e 64 61 72 | this as| standar|
|00000220| 64 20 69 6e 70 75 74 20 | 76 69 61 0a 23 20 75 6e |d input |via.# un|
|00000230| 73 68 61 72 2c 20 6f 72 | 20 62 79 20 74 79 70 69 |shar, or| by typi|
|00000240| 6e 67 20 22 73 68 20 3c | 66 69 6c 65 22 2c 20 65 |ng "sh <|file", e|
|00000250| 2e 67 2e 2e 20 20 49 66 | 20 74 68 69 73 20 61 72 |.g.. If| this ar|
|00000260| 63 68 69 76 65 20 69 73 | 20 63 6f 6d 70 6c 65 74 |chive is| complet|
|00000270| 65 2c 20 79 6f 75 0a 23 | 20 77 69 6c 6c 20 73 65 |e, you.#| will se|
|00000280| 65 20 74 68 65 20 66 6f | 6c 6c 6f 77 69 6e 67 20 |e the fo|llowing |
|00000290| 6d 65 73 73 61 67 65 20 | 61 74 20 74 68 65 20 65 |message |at the e|
|000002a0| 6e 64 3a 0a 23 09 09 22 | 45 6e 64 20 6f 66 20 61 |nd:.#.."|End of a|
|000002b0| 72 63 68 69 76 65 20 33 | 20 28 6f 66 20 34 29 2e |rchive 3| (of 4).|
|000002c0| 22 0a 23 20 43 6f 6e 74 | 65 6e 74 73 3a 20 20 52 |".# Cont|ents: R|
|000002d0| 75 6e 20 64 6f 63 2f 62 | 65 6e 63 68 2e 64 6f 63 |un doc/b|ench.doc|
|000002e0| 20 73 72 63 2f 62 69 67 | 2e 63 20 73 72 63 2f 64 | src/big|.c src/d|
|000002f0| 68 72 79 5f 31 2e 63 0a | 23 20 57 72 61 70 70 65 |hry_1.c.|# Wrappe|
|00000300| 64 20 62 79 20 76 69 78 | 69 65 40 63 6f 67 6e 69 |d by vix|ie@cogni|
|00000310| 74 69 6f 6e 2e 70 61 2e | 64 65 63 2e 63 6f 6d 20 |tion.pa.|dec.com |
|00000320| 6f 6e 20 53 75 6e 20 46 | 65 62 20 20 32 20 31 36 |on Sun F|eb 2 16|
|00000330| 3a 32 37 3a 34 30 20 31 | 39 39 32 0a 50 41 54 48 |:27:40 1|992.PATH|
|00000340| 3d 2f 62 69 6e 3a 2f 75 | 73 72 2f 62 69 6e 3a 2f |=/bin:/u|sr/bin:/|
|00000350| 75 73 72 2f 75 63 62 20 | 3b 20 65 78 70 6f 72 74 |usr/ucb |; export|
|00000360| 20 50 41 54 48 0a 69 66 | 20 74 65 73 74 20 2d 66 | PATH.if| test -f|
|00000370| 20 27 52 75 6e 27 20 2d | 61 20 22 24 7b 31 7d 22 | 'Run' -|a "${1}"|
|00000380| 20 21 3d 20 22 2d 63 22 | 20 3b 20 74 68 65 6e 20 | != "-c"| ; then |
|00000390| 0a 20 20 65 63 68 6f 20 | 73 68 61 72 3a 20 57 69 |. echo |shar: Wi|
|000003a0| 6c 6c 20 6e 6f 74 20 63 | 6c 6f 62 62 65 72 20 65 |ll not c|lobber e|
|000003b0| 78 69 73 74 69 6e 67 20 | 66 69 6c 65 20 5c 22 27 |xisting |file \"'|
|000003c0| 52 75 6e 27 5c 22 0a 65 | 6c 73 65 0a 65 63 68 6f |Run'\".e|lse.echo|
|000003d0| 20 73 68 61 72 3a 20 45 | 78 74 72 61 63 74 69 6e | shar: E|xtractin|
|000003e0| 67 20 5c 22 27 52 75 6e | 27 5c 22 20 5c 28 31 33 |g \"'Run|'\" \(13|
|000003f0| 33 30 35 20 63 68 61 72 | 61 63 74 65 72 73 5c 29 |305 char|acters\)|
|00000400| 0a 73 65 64 20 22 73 2f | 5e 58 2f 2f 22 20 3e 27 |.sed "s/|^X//" >'|
|00000410| 52 75 6e 27 20 3c 3c 27 | 45 4e 44 5f 4f 46 5f 46 |Run' <<'|END_OF_F|
|00000420| 49 4c 45 27 0a 58 23 21 | 20 2f 62 69 6e 2f 73 68 |ILE'.X#!| /bin/sh|
|00000430| 0a 58 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |.X######|########|
|00000440| 23 23 23 23 23 23 20 73 | 65 74 20 79 6f 75 72 20 |###### s|et your |
|00000450| 64 65 66 61 75 6c 74 73 | 20 68 65 72 65 20 23 23 |defaults| here ##|
|00000460| 23 23 23 23 23 23 23 23 | 23 23 23 23 0a 58 46 4c |########|####.XFL|
|00000470| 41 56 4f 52 3d 22 22 20 | 23 20 66 6c 61 76 6f 72 |AVOR="" |# flavor|
|00000480| 20 6f 66 20 55 4e 49 58 | 3a 20 69 66 20 6e 6f 74 | of UNIX|: if not|
|00000490| 20 64 65 74 65 72 6d 69 | 6e 65 64 20 62 79 20 73 | determi|ned by s|
|000004a0| 63 72 69 70 74 3a 20 53 | 79 73 56 20 6f 72 20 42 |cript: S|ysV or B|
|000004b0| 53 44 0a 58 46 55 4c 4c | 5f 53 55 49 54 45 3d 22 |SD.XFULL|_SUITE="|
|000004c0| 64 68 72 79 32 20 64 68 | 72 79 32 72 65 67 20 61 |dhry2 dh|ry2reg a|
|000004d0| 72 69 74 68 6f 68 20 72 | 65 67 69 73 74 65 72 20 |rithoh r|egister |
|000004e0| 73 68 6f 72 74 20 69 6e | 74 20 6c 6f 6e 67 20 66 |short in|t long f|
|000004f0| 6c 6f 61 74 20 64 6f 75 | 62 6c 65 20 73 79 73 63 |loat dou|ble sysc|
|00000500| 61 6c 6c 20 70 69 70 65 | 20 63 6f 6e 74 65 78 74 |all pipe| context|
|00000510| 31 20 73 70 61 77 6e 20 | 65 78 65 63 6c 20 66 73 |1 spawn |execl fs|
|00000520| 74 69 6d 65 20 43 20 73 | 68 65 6c 6c 20 64 63 20 |time C s|hell dc |
|00000530| 68 61 6e 6f 69 22 0a 58 | 23 23 23 23 23 23 23 23 |hanoi".X|########|
|00000540| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00000550| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00000560| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00000570| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00000580| 23 23 23 23 23 23 23 0a | 58 23 20 20 54 68 65 20 |#######.|X# The |
|00000590| 42 59 54 45 20 55 4e 49 | 58 20 42 65 6e 63 68 6d |BYTE UNI|X Benchm|
|000005a0| 61 72 6b 73 20 2d 20 52 | 65 6c 65 61 73 65 20 33 |arks - R|elease 3|
|000005b0| 0a 58 23 20 20 20 20 20 | 20 20 20 20 20 4d 6f 64 |.X# | Mod|
|000005c0| 75 6c 65 3a 20 52 75 6e | 20 20 20 53 49 44 3a 20 |ule: Run| SID: |
|000005d0| 33 2e 31 31 20 35 2f 31 | 35 2f 39 31 20 31 39 3a |3.11 5/1|5/91 19:|
|000005e0| 33 30 3a 31 34 0a 58 23 | 20 20 20 20 20 20 20 20 |30:14.X#| |
|000005f0| 20 20 0a 58 23 23 23 23 | 23 23 23 23 23 23 23 23 | .X####|########|
|00000600| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00000610| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00000620| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00000630| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00000640| 23 23 23 0a 58 23 20 42 | 75 67 20 72 65 70 6f 72 |###.X# B|ug repor|
|00000650| 74 73 2c 20 70 61 74 63 | 68 65 73 2c 20 63 6f 6d |ts, patc|hes, com|
|00000660| 6d 65 6e 74 73 2c 20 73 | 75 67 67 65 73 74 69 6f |ments, s|uggestio|
|00000670| 6e 73 20 73 68 6f 75 6c | 64 20 62 65 20 73 65 6e |ns shoul|d be sen|
|00000680| 74 20 74 6f 3a 0a 58 23 | 0a 58 23 09 42 65 6e 20 |t to:.X#|.X#.Ben |
|00000690| 53 6d 69 74 68 2c 20 20 | 20 20 20 20 20 20 09 54 |Smith, | .T|
|000006a0| 6f 6d 20 59 61 67 65 72 | 20 61 74 20 42 59 54 45 |om Yager| at BYTE|
|000006b0| 20 4d 61 67 61 7a 69 6e | 65 0a 58 23 09 62 65 6e | Magazin|e.X#.ben|
|000006c0| 40 62 79 74 65 70 62 2e | 62 79 74 65 2e 63 6f 6d |@bytepb.|byte.com|
|000006d0| 20 20 20 09 74 79 61 67 | 65 72 40 62 79 74 65 70 | .tyag|er@bytep|
|000006e0| 62 2e 62 79 74 65 2e 63 | 6f 6d 0a 58 23 20 42 49 |b.byte.c|om.X# BI|
|000006f0| 58 3a 20 20 62 65 6e 73 | 6d 69 74 68 20 20 20 20 |X: bens|mith |
|00000700| 20 20 20 20 20 20 09 74 | 79 61 67 65 72 0a 58 23 | .t|yager.X#|
|00000710| 0a 58 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |.X######|########|
|00000720| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00000730| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00000740| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00000750| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00000760| 23 0a 58 23 20 20 4d 6f | 64 69 66 69 63 61 74 69 |#.X# Mo|dificati|
|00000770| 6f 6e 20 4c 6f 67 3a 0a | 58 23 20 24 48 65 61 64 |on Log:.|X# $Head|
|00000780| 65 72 3a 20 72 75 6e 2c | 76 20 35 2e 32 20 38 38 |er: run,|v 5.2 88|
|00000790| 2f 30 31 2f 31 32 20 30 | 36 3a 32 33 3a 34 33 20 |/01/12 0|6:23:43 |
|000007a0| 6b 65 6e 6a 20 45 78 70 | 20 24 0a 58 23 20 20 20 |kenj Exp| $.X# |
|000007b0| 20 20 4b 65 6e 20 4d 63 | 44 6f 6e 65 6c 6c 2c 20 | Ken Mc|Donell, |
|000007c0| 43 6f 6d 70 75 74 65 72 | 20 53 63 69 65 6e 63 65 |Computer| Science|
|000007d0| 2c 20 4d 6f 6e 61 73 68 | 20 55 6e 69 76 65 72 73 |, Monash| Univers|
|000007e0| 69 74 79 0a 58 23 20 20 | 20 20 20 41 75 67 75 73 |ity.X# | Augus|
|000007f0| 74 20 31 2c 20 31 39 38 | 33 0a 58 23 20 33 2f 38 |t 1, 198|3.X# 3/8|
|00000800| 39 20 2d 20 42 65 6e 20 | 53 6d 69 74 68 20 2d 20 |9 - Ben |Smith - |
|00000810| 42 59 54 45 3a 20 67 6c | 6f 62 61 6c 69 7a 65 64 |BYTE: gl|obalized|
|00000820| 20 6d 61 6e 79 20 76 61 | 72 69 61 62 6c 65 73 2c | many va|riables,|
|00000830| 20 6d 6f 64 65 72 6e 69 | 7a 65 64 20 73 79 6e 74 | moderni|zed synt|
|00000840| 61 78 0a 58 23 20 35 2f | 38 39 20 2d 20 63 6f 6d |ax.X# 5/|89 - com|
|00000850| 6d 65 6e 74 65 64 20 61 | 6e 64 20 6d 6f 64 65 72 |mented a|nd moder|
|00000860| 6e 69 7a 65 64 2e 20 52 | 65 6d 6f 76 65 64 20 77 |nized. R|emoved w|
|00000870| 6f 72 6b 6c 6f 61 64 20 | 69 74 65 6d 73 20 74 69 |orkload |items ti|
|00000880| 6c 6c 20 74 68 65 79 0a | 58 23 20 20 20 20 20 20 |ll they.|X# |
|00000890| 20 20 68 61 76 65 20 62 | 65 65 6e 20 6d 6f 64 65 | have b|een mode|
|000008a0| 72 6e 69 7a 65 64 2e 20 | 41 64 64 65 64 20 64 61 |rnized. |Added da|
|000008b0| 74 61 62 61 73 65 20 73 | 65 72 76 65 72 20 74 65 |tabase s|erver te|
|000008c0| 73 74 2e 0a 58 23 20 31 | 31 2f 31 34 2f 38 39 20 |st..X# 1|1/14/89 |
|000008d0| 2d 20 4d 61 64 65 20 6d | 6f 64 69 66 69 63 61 74 |- Made m|odificat|
|000008e0| 69 6f 6e 73 20 74 6f 20 | 72 65 66 6c 65 63 74 20 |ions to |reflect |
|000008f0| 6e 65 77 20 76 65 72 73 | 69 6f 6e 20 6f 66 20 66 |new vers|ion of f|
|00000900| 73 74 69 6d 65 0a 58 23 | 20 20 20 20 20 20 20 20 |stime.X#| |
|00000910| 61 6e 64 20 65 6c 69 6d | 69 6e 61 74 69 6f 6e 20 |and elim|ination |
|00000920| 6f 66 20 6d 65 6d 20 74 | 65 73 74 73 2e 0a 58 23 |of mem t|ests..X#|
|00000930| 20 31 30 2f 32 32 2f 39 | 30 20 2d 20 4d 61 6e 79 | 10/22/9|0 - Many|
|00000940| 20 74 65 73 74 73 20 68 | 61 76 65 20 62 65 65 6e | tests h|ave been|
|00000950| 20 66 6c 69 70 70 65 64 | 20 73 6f 20 74 68 61 74 | flipped| so that|
|00000960| 20 74 68 65 79 20 72 75 | 6e 20 66 6f 72 0a 58 23 | they ru|n for.X#|
|00000970| 20 20 20 20 20 20 20 20 | 61 20 73 70 65 63 69 66 | |a specif|
|00000980| 69 65 64 20 6c 65 6e 67 | 74 68 20 6f 66 20 74 69 |ied leng|th of ti|
|00000990| 6d 65 20 61 6e 64 20 6c | 6f 6f 70 73 20 61 72 65 |me and l|oops are|
|000009a0| 20 63 6f 75 6e 74 65 64 | 2e 0a 58 23 20 20 34 2f | counted|..X# 4/|
|000009b0| 33 2f 39 31 20 2d 20 43 | 6c 65 61 6e 65 64 20 75 |3/91 - C|leaned u|
|000009c0| 70 20 61 6e 64 20 64 65 | 62 75 67 67 65 64 20 73 |p and de|bugged s|
|000009d0| 65 76 65 72 61 6c 20 74 | 65 73 74 20 70 61 72 61 |everal t|est para|
|000009e0| 6d 65 74 65 72 73 20 2d | 20 42 65 6e 0a 58 23 20 |meters -| Ben.X# |
|000009f0| 20 34 2f 39 2f 39 31 20 | 2d 20 41 64 64 65 64 20 | 4/9/91 |- Added |
|00000a00| 73 74 72 75 63 74 75 72 | 65 20 66 6f 72 20 63 72 |structur|e for cr|
|00000a10| 65 61 74 69 6e 67 20 69 | 6e 64 65 78 20 61 6e 64 |eating i|ndex and|
|00000a20| 20 64 65 74 65 72 6d 69 | 6e 67 20 66 6c 61 76 6f | determi|ng flavo|
|00000a30| 72 20 6f 66 20 55 4e 49 | 58 0a 58 23 20 20 34 2f |r of UNI|X.X# 4/|
|00000a40| 32 36 2f 39 31 20 2d 20 | 4d 61 64 65 20 63 68 61 |26/91 - |Made cha|
|00000a50| 6e 67 65 73 20 61 6e 64 | 20 63 6f 72 72 65 63 74 |nges and| correct|
|00000a60| 69 6f 6e 73 20 73 75 67 | 67 65 73 74 65 64 20 62 |ions sug|gested b|
|00000a70| 79 20 54 69 6e 20 4c 65 | 20 6f 66 20 53 6f 6e 79 |y Tin Le| of Sony|
|00000a80| 0a 58 23 20 20 35 2f 31 | 35 2f 39 31 20 2d 20 52 |.X# 5/1|5/91 - R|
|00000a90| 65 6d 6f 76 65 64 20 64 | 62 20 66 72 6f 6d 20 64 |emoved d|b from d|
|00000aa0| 69 73 74 72 69 62 75 74 | 69 6f 6e 0a 58 23 0a 58 |istribut|ion.X#.X|
|00000ab0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00000ac0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00000ad0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00000ae0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00000af0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 0a |########|#######.|
|00000b00| 49 44 3d 22 40 28 23 29 | 52 75 6e 3a 33 2e 31 31 |ID="@(#)|Run:3.11|
|00000b10| 20 2d 2d 20 35 2f 31 35 | 2f 39 31 20 31 39 3a 33 | -- 5/15|/91 19:3|
|00000b20| 30 3a 31 34 22 3b 0a 76 | 65 72 73 69 6f 6e 3d 22 |0:14";.v|ersion="|
|00000b30| 33 2e 31 31 22 0a 58 23 | 23 23 23 23 23 23 23 23 |3.11".X#|########|
|00000b40| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00000b50| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00000b60| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00000b70| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 0a 58 |########|######.X|
|00000b80| 23 20 47 65 6e 65 72 61 | 6c 20 50 75 72 70 6f 73 |# Genera|l Purpos|
|00000b90| 65 20 42 65 6e 63 68 6d | 61 72 6b 0a 58 23 20 62 |e Benchm|ark.X# b|
|00000ba0| 61 73 65 64 20 6f 6e 20 | 74 68 65 20 77 6f 72 6b |ased on |the work|
|00000bb0| 20 62 79 20 4b 65 6e 20 | 4d 63 44 6f 6e 65 6c 6c | by Ken |McDonell|
|00000bc0| 2c 20 43 6f 6d 70 75 74 | 65 72 20 53 63 69 65 6e |, Comput|er Scien|
|00000bd0| 63 65 2c 20 4d 6f 6e 61 | 73 68 20 55 6e 69 76 65 |ce, Mona|sh Unive|
|00000be0| 72 73 69 74 79 0a 58 23 | 0a 58 23 20 20 59 6f 75 |rsity.X#|.X# You|
|00000bf0| 20 77 69 6c 6c 20 6e 65 | 65 64 20 2e 2e 2e 0a 58 | will ne|ed ....X|
|00000c00| 23 09 61 77 6b 20 63 61 | 74 20 63 63 20 63 68 6d |#.awk ca|t cc chm|
|00000c10| 6f 64 20 63 6f 6d 6d 20 | 63 70 20 64 61 74 65 20 |od comm |cp date |
|00000c20| 64 63 20 64 66 20 65 63 | 68 6f 20 65 64 20 65 78 |dc df ec|ho ed ex|
|00000c30| 70 72 0a 58 23 09 6b 69 | 6c 6c 20 6c 73 20 6d 61 |pr.X#.ki|ll ls ma|
|00000c40| 6b 65 20 6d 6b 64 69 72 | 20 72 6d 20 73 65 64 20 |ke mkdir| rm sed |
|00000c50| 74 65 73 74 20 74 69 6d | 65 20 74 6f 75 63 68 20 |test tim|e touch |
|00000c60| 74 74 79 20 75 6d 61 73 | 6b 20 77 68 6f 0a 58 23 |tty umas|k who.X#|
|00000c70| 20 20 20 20 20 20 20 41 | 4e 44 20 2f 62 69 6e 2f | A|ND /bin/|
|00000c80| 74 69 6d 65 0a 58 23 20 | 20 74 6f 20 67 65 6e 65 |time.X# | to gene|
|00000c90| 72 61 74 65 20 72 65 73 | 75 6c 74 20 69 6e 64 65 |rate res|ult inde|
|00000ca0| 78 65 73 2c 20 79 6f 75 | 20 77 69 6c 6c 20 61 6c |xes, you| will al|
|00000cb0| 73 6f 20 6e 65 65 64 20 | 2e 2e 2e 0a 58 23 20 20 |so need |....X# |
|00000cc0| 20 20 20 20 20 6a 6f 69 | 6e 0a 58 23 0a 58 23 0a | joi|n.X#.X#.|
|00000cd0| 75 6d 61 73 6b 20 30 32 | 32 20 20 20 20 23 20 61 |umask 02|2 # a|
|00000ce0| 74 20 6c 65 61 73 74 20 | 6d 6f 72 74 61 6c 73 20 |t least |mortals |
|00000cf0| 63 61 6e 20 72 65 61 64 | 20 72 6f 6f 74 27 73 20 |can read| root's |
|00000d00| 66 69 6c 65 73 20 74 68 | 69 73 20 77 61 79 0a 58 |files th|is way.X|
|00000d10| 23 0a 69 66 20 5b 20 2d | 7a 20 22 24 46 4c 41 56 |#.if [ -|z "$FLAV|
|00000d20| 4f 52 22 20 5d 0a 74 68 | 65 6e 0a 58 20 20 20 23 |OR" ].th|en.X #|
|00000d30| 20 64 65 74 65 72 6d 69 | 6e 65 20 66 6c 61 76 6f | determi|ne flavo|
|00000d40| 72 20 6f 66 20 55 4e 49 | 58 20 66 72 6f 6d 20 6e |r of UNI|X from n|
|00000d50| 75 6d 62 65 72 20 6f 66 | 20 6c 69 6e 65 73 20 67 |umber of| lines g|
|00000d60| 65 6e 65 72 61 74 65 64 | 20 62 79 20 2f 62 69 6e |enerated| by /bin|
|00000d70| 2f 74 69 6d 0a 58 20 20 | 20 46 63 6f 75 6e 74 3d |/tim.X | Fcount=|
|00000d80| 60 2f 62 69 6e 2f 74 69 | 6d 65 20 64 61 74 65 20 |`/bin/ti|me date |
|00000d90| 32 3e 26 31 20 7c 20 77 | 63 20 2d 6c 20 7c 20 73 |2>&1 | w|c -l | s|
|00000da0| 65 64 20 27 73 2f 20 2f | 2f 67 27 60 0a 58 20 20 |ed 's/ /|/g'`.X |
|00000db0| 20 63 61 73 65 20 22 24 | 46 63 6f 75 6e 74 22 0a | case "$|Fcount".|
|00000dc0| 58 20 20 20 69 6e 0a 58 | 09 32 29 20 46 4c 41 56 |X in.X|.2) FLAV|
|00000dd0| 4f 52 3d 22 42 53 44 22 | 3b 3b 0a 58 09 35 29 20 |OR="BSD"|;;.X.5) |
|00000de0| 46 4c 41 56 4f 52 3d 22 | 53 79 73 56 22 3b 3b 0a |FLAVOR="|SysV";;.|
|00000df0| 58 09 2a 29 20 65 63 68 | 6f 20 22 46 6c 61 76 6f |X.*) ech|o "Flavo|
|00000e00| 72 20 6f 66 20 55 4e 49 | 58 20 69 73 20 6e 6f 74 |r of UNI|X is not|
|00000e10| 20 6b 6e 6f 77 6e 2e 22 | 0a 58 09 20 20 20 65 63 | known."|.X. ec|
|00000e20| 68 6f 20 22 50 6c 65 61 | 73 65 20 64 65 66 69 6e |ho "Plea|se defin|
|00000e30| 65 20 46 4c 41 56 4f 52 | 20 69 6e 20 52 75 6e 20 |e FLAVOR| in Run |
|00000e40| 73 63 72 69 70 74 22 0a | 58 09 20 20 20 65 78 69 |script".|X. exi|
|00000e50| 74 3b 3b 0a 58 20 20 20 | 65 73 61 63 0a 66 69 0a |t;;.X |esac.fi.|
|00000e60| 58 23 69 66 20 53 79 73 | 56 20 75 73 65 20 27 75 |X#if Sys|V use 'u|
|00000e70| 6e 61 6d 65 20 2d 61 27 | 20 2d 2d 20 69 66 20 42 |name -a'| -- if B|
|00000e80| 53 44 20 75 73 65 20 27 | 68 6f 73 74 6e 61 6d 65 |SD use '|hostname|
|00000e90| 27 0a 69 66 20 5b 20 24 | 46 4c 41 56 4f 52 20 3d |'.if [ $|FLAVOR =|
|00000ea0| 20 22 53 79 73 56 22 20 | 5d 0a 74 68 65 6e 20 55 | "SysV" |].then U|
|00000eb0| 4e 41 4d 45 3d 22 75 6e | 61 6d 65 20 2d 61 22 0a |NAME="un|ame -a".|
|00000ec0| 65 6c 73 65 20 55 4e 41 | 4d 45 3d 22 68 6f 73 74 |else UNA|ME="host|
|00000ed0| 6e 61 6d 65 22 0a 66 69 | 0a 65 78 70 6f 72 74 20 |name".fi|.export |
|00000ee0| 46 4c 41 56 4f 52 0a 58 | 23 20 63 68 65 63 6b 20 |FLAVOR.X|# check |
|00000ef0| 74 68 61 74 20 74 68 65 | 20 72 65 71 75 69 72 65 |that the| require|
|00000f00| 64 20 66 69 6c 65 73 20 | 61 72 65 20 69 6e 20 74 |d files |are in t|
|00000f10| 68 65 20 70 72 6f 70 65 | 72 20 70 6c 61 63 65 73 |he prope|r places|
|00000f20| 0a 69 66 20 6d 61 6b 65 | 20 63 68 65 63 6b 20 0a |.if make| check .|
|00000f30| 58 20 20 20 20 20 20 20 | 20 74 68 65 6e 20 3a 0a |X | then :.|
|00000f40| 58 20 20 20 20 20 20 20 | 20 65 6c 73 65 20 6d 61 |X | else ma|
|00000f50| 6b 65 20 61 6c 6c 0a 66 | 69 0a 58 23 0a 58 23 0a |ke all.f|i.X#.X#.|
|00000f60| 58 23 20 65 73 74 61 62 | 6c 69 73 68 20 66 75 6c |X# estab|lish ful|
|00000f70| 6c 20 70 61 74 68 73 20 | 74 6f 20 64 69 72 65 63 |l paths |to direc|
|00000f80| 74 6f 72 69 65 73 0a 50 | 57 44 3d 60 70 77 64 60 |tories.P|WD=`pwd`|
|00000f90| 0a 48 4f 4d 45 44 49 52 | 3d 24 7b 48 4f 4d 45 44 |.HOMEDIR|=${HOMED|
|00000fa0| 49 52 2d 2e 7d 0a 63 64 | 20 24 48 4f 4d 45 44 49 |IR-.}.cd| $HOMEDI|
|00000fb0| 52 0a 48 4f 4d 45 44 49 | 52 3d 60 70 77 64 60 0a |R.HOMEDI|R=`pwd`.|
|00000fc0| 63 64 20 24 50 57 44 0a | 58 0a 42 49 4e 44 49 52 |cd $PWD.|X.BINDIR|
|00000fd0| 3d 24 7b 42 49 4e 44 49 | 52 2d 24 7b 48 4f 4d 45 |=${BINDI|R-${HOME|
|00000fe0| 44 49 52 7d 2f 70 67 6d | 73 7d 0a 63 64 20 24 42 |DIR}/pgm|s}.cd $B|
|00000ff0| 49 4e 44 49 52 0a 42 49 | 4e 44 49 52 3d 60 70 77 |INDIR.BI|NDIR=`pw|
|00001000| 64 60 0a 63 64 20 24 50 | 57 44 0a 58 23 20 6c 65 |d`.cd $P|WD.X# le|
|00001010| 74 27 73 20 65 78 74 65 | 6e 64 20 74 68 65 20 70 |t's exte|nd the p|
|00001020| 61 74 68 20 74 6f 20 74 | 68 69 73 20 64 69 72 65 |ath to t|his dire|
|00001030| 63 74 6f 72 79 0a 50 41 | 54 48 3d 22 24 7b 50 41 |ctory.PA|TH="${PA|
|00001040| 54 48 7d 3a 24 7b 42 49 | 4e 44 49 52 7d 22 0a 58 |TH}:${BI|NDIR}".X|
|00001050| 0a 53 43 52 50 44 49 52 | 3d 24 7b 53 43 52 50 44 |.SCRPDIR|=${SCRPD|
|00001060| 49 52 2d 24 7b 48 4f 4d | 45 44 49 52 7d 2f 70 67 |IR-${HOM|EDIR}/pg|
|00001070| 6d 73 7d 0a 63 64 20 24 | 53 43 52 50 44 49 52 0a |ms}.cd $|SCRPDIR.|
|00001080| 53 43 52 50 44 49 52 3d | 60 70 77 64 60 0a 63 64 |SCRPDIR=|`pwd`.cd|
|00001090| 20 24 50 57 44 0a 58 0a | 54 4d 50 44 49 52 3d 24 | $PWD.X.|TMPDIR=$|
|000010a0| 7b 48 4f 4d 45 44 49 52 | 7d 2f 74 6d 70 0a 63 64 |{HOMEDIR|}/tmp.cd|
|000010b0| 20 24 54 4d 50 44 49 52 | 0a 54 4d 50 44 49 52 3d | $TMPDIR|.TMPDIR=|
|000010c0| 60 70 77 64 60 0a 63 64 | 20 24 50 57 44 0a 58 0a |`pwd`.cd| $PWD.X.|
|000010d0| 52 45 53 55 4c 54 44 49 | 52 3d 24 7b 52 45 53 55 |RESULTDI|R=${RESU|
|000010e0| 4c 54 44 49 52 2d 24 7b | 48 4f 4d 45 44 49 52 7d |LTDIR-${|HOMEDIR}|
|000010f0| 2f 72 65 73 75 6c 74 73 | 7d 0a 63 64 20 24 52 45 |/results|}.cd $RE|
|00001100| 53 55 4c 54 44 49 52 0a | 52 45 53 55 4c 54 44 49 |SULTDIR.|RESULTDI|
|00001110| 52 3d 60 70 77 64 60 0a | 63 64 20 24 50 57 44 0a |R=`pwd`.|cd $PWD.|
|00001120| 58 0a 54 49 4d 45 41 43 | 43 55 4d 3d 24 7b 54 49 |X.TIMEAC|CUM=${TI|
|00001130| 4d 45 41 43 43 55 4d 2d | 24 7b 52 45 53 55 4c 54 |MEACCUM-|${RESULT|
|00001140| 44 49 52 7d 2f 74 69 6d | 65 73 7d 0a 58 0a 54 45 |DIR}/tim|es}.X.TE|
|00001150| 53 54 44 49 52 3d 24 7b | 54 45 53 54 44 49 52 2d |STDIR=${|TESTDIR-|
|00001160| 24 7b 48 4f 4d 45 44 49 | 52 7d 2f 74 65 73 74 64 |${HOMEDI|R}/testd|
|00001170| 69 72 7d 0a 63 64 20 24 | 54 45 53 54 44 49 52 0a |ir}.cd $|TESTDIR.|
|00001180| 54 45 53 54 44 49 52 3d | 60 70 77 64 60 0a 63 64 |TESTDIR=|`pwd`.cd|
|00001190| 20 24 50 57 44 0a 58 0a | 65 78 70 6f 72 74 20 42 | $PWD.X.|export B|
|000011a0| 49 4e 44 49 52 20 54 4d | 50 44 49 52 20 52 45 53 |INDIR TM|PDIR RES|
|000011b0| 55 4c 54 44 49 52 20 50 | 41 54 48 20 54 45 53 54 |ULTDIR P|ATH TEST|
|000011c0| 44 49 52 20 54 49 4d 45 | 41 43 43 55 4d 0a 58 23 |DIR TIME|ACCUM.X#|
|000011d0| 0a 63 61 74 20 24 7b 42 | 49 4e 44 49 52 7d 2f 62 |.cat ${B|INDIR}/b|
|000011e0| 79 74 65 2e 6c 6f 67 6f | 20 23 20 64 69 73 70 6c |yte.logo| # displ|
|000011f0| 61 79 20 62 61 6e 6e 65 | 72 0a 72 6d 20 2d 66 20 |ay banne|r.rm -f |
|00001200| 24 7b 54 49 4d 45 41 43 | 43 55 4d 7d 20 20 20 20 |${TIMEAC|CUM} |
|00001210| 20 20 23 20 63 6c 65 61 | 6e 20 6f 75 74 20 6f 6c | # clea|n out ol|
|00001220| 64 20 74 69 6d 65 20 61 | 63 63 75 6d 75 6c 61 74 |d time a|ccumulat|
|00001230| 69 6f 6e 20 66 69 6c 65 | 0a 65 63 68 6f 20 22 6b |ion file|.echo "k|
|00001240| 69 6c 6c 20 2d 39 20 24 | 24 22 20 3e 20 24 7b 54 |ill -9 $|$" > ${T|
|00001250| 4d 50 44 49 52 7d 2f 6b | 69 6c 6c 5f 72 75 6e 20 |MPDIR}/k|ill_run |
|00001260| 3b 20 63 68 6d 6f 64 20 | 75 2b 78 20 24 7b 54 4d |; chmod |u+x ${TM|
|00001270| 50 44 49 52 7d 2f 6b 69 | 6c 6c 5f 72 75 6e 0a 58 |PDIR}/ki|ll_run.X|
|00001280| 23 0a 61 72 69 74 68 6d | 65 74 69 63 3d 22 61 72 |#.arithm|etic="ar|
|00001290| 69 74 68 6f 68 20 72 65 | 67 69 73 74 65 72 20 73 |ithoh re|gister s|
|000012a0| 68 6f 72 74 20 69 6e 74 | 20 6c 6f 6e 67 20 66 6c |hort int| long fl|
|000012b0| 6f 61 74 20 64 6f 75 62 | 6c 65 22 0a 73 79 73 74 |oat doub|le".syst|
|000012c0| 65 6d 3d 22 73 79 73 63 | 61 6c 6c 20 70 69 70 65 |em="sysc|all pipe|
|000012d0| 20 63 6f 6e 74 65 78 74 | 31 20 73 70 61 77 6e 20 | context|1 spawn |
|000012e0| 65 78 65 63 6c 20 66 73 | 74 69 6d 65 22 0a 6d 69 |execl fs|time".mi|
|000012f0| 73 63 3d 22 43 20 64 63 | 20 68 61 6e 6f 69 22 0a |sc="C dc| hanoi".|
|00001300| 64 68 72 79 3d 22 64 68 | 72 79 32 20 64 68 72 79 |dhry="dh|ry2 dhry|
|00001310| 32 72 65 67 22 20 23 20 | 64 68 72 79 73 74 6f 6e |2reg" # |dhryston|
|00001320| 65 20 6c 6f 6f 70 73 0a | 6c 6f 61 64 3d 22 73 68 |e loops.|load="sh|
|00001330| 65 6c 6c 22 20 23 20 63 | 75 6d 6d 75 6c 61 74 69 |ell" # c|ummulati|
|00001340| 76 65 20 6c 6f 61 64 20 | 74 65 73 74 73 0a 69 6e |ve load |tests.in|
|00001350| 64 65 78 3d 22 64 6f 75 | 62 6c 65 20 64 68 72 79 |dex="dou|ble dhry|
|00001360| 32 20 65 78 65 63 6c 20 | 66 73 74 69 6d 65 20 63 |2 execl |fstime c|
|00001370| 6f 6e 74 65 78 74 31 20 | 73 68 65 6c 6c 22 0a 58 |ontext1 |shell".X|
|00001380| 23 0a 61 72 67 73 3d 22 | 22 20 23 20 74 68 65 20 |#.args="|" # the |
|00001390| 61 63 63 75 6d 75 6c 61 | 74 6f 72 20 66 6f 72 20 |accumula|tor for |
|000013a0| 74 68 65 20 62 65 6e 63 | 68 20 75 6e 69 74 73 20 |the benc|h units |
|000013b0| 74 6f 20 62 65 20 72 75 | 6e 0a 72 75 6e 6f 70 74 |to be ru|n.runopt|
|000013c0| 69 6f 6e 3d 22 4e 22 0a | 58 23 20 67 65 6e 65 72 |ion="N".|X# gener|
|000013d0| 61 74 65 20 6c 69 73 74 | 20 6f 66 20 62 65 6e 63 |ate list| of benc|
|000013e0| 68 20 70 72 6f 67 72 61 | 6d 73 0a 66 6f 72 20 77 |h progra|ms.for w|
|000013f0| 6f 72 64 0a 64 6f 20 20 | 23 20 64 6f 20 6c 65 76 |ord.do |# do lev|
|00001400| 65 6c 20 31 0a 58 20 20 | 20 20 63 61 73 65 20 24 |el 1.X | case $|
|00001410| 77 6f 72 64 0a 58 20 20 | 20 20 69 6e 0a 58 20 20 |word.X | in.X |
|00001420| 61 6c 6c 29 0a 58 20 20 | 20 20 20 20 3b 3b 0a 58 |all).X | ;;.X|
|00001430| 20 20 61 72 69 74 68 6d | 65 74 69 63 29 0a 58 20 | arithm|etic).X |
|00001440| 20 20 20 20 20 61 72 67 | 73 3d 22 24 61 72 67 73 | arg|s="$args|
|00001450| 20 24 61 72 69 74 68 6d | 65 74 69 63 22 0a 58 20 | $arithm|etic".X |
|00001460| 20 20 20 20 20 3b 3b 0a | 58 20 20 64 68 72 79 29 | ;;.|X dhry)|
|00001470| 0a 58 20 20 20 20 20 20 | 61 72 67 73 3d 22 24 61 |.X |args="$a|
|00001480| 72 67 73 20 24 64 68 72 | 79 22 0a 58 20 20 20 20 |rgs $dhr|y".X |
|00001490| 20 20 3b 3b 0a 58 20 20 | 6c 6f 61 64 29 0a 58 20 | ;;.X |load).X |
|000014a0| 20 20 20 20 20 61 72 67 | 73 3d 22 24 61 72 67 73 | arg|s="$args|
|000014b0| 20 24 6c 6f 61 64 22 0a | 58 20 20 20 20 20 20 3b | $load".|X ;|
|000014c0| 3b 0a 58 20 20 6d 69 73 | 63 29 0a 58 20 20 20 20 |;.X mis|c).X |
|000014d0| 20 20 61 72 67 73 3d 22 | 24 61 72 67 73 20 24 6d | args="|$args $m|
|000014e0| 69 73 63 22 0a 58 20 20 | 20 20 20 20 3b 3b 0a 58 |isc".X | ;;.X|
|000014f0| 20 20 73 70 65 65 64 29 | 0a 58 20 20 20 20 20 20 | speed)|.X |
|00001500| 61 72 67 73 3d 22 24 61 | 72 67 73 20 24 61 72 69 |args="$a|rgs $ari|
|00001510| 74 68 6d 65 74 69 63 20 | 24 73 79 73 74 65 6d 22 |thmetic |$system"|
|00001520| 0a 58 20 20 20 20 20 20 | 3b 3b 0a 58 20 20 73 79 |.X |;;.X sy|
|00001530| 73 74 65 6d 29 0a 58 20 | 20 20 20 20 20 61 72 67 |stem).X | arg|
|00001540| 73 3d 22 24 61 72 67 73 | 20 24 73 79 73 74 65 6d |s="$args| $system|
|00001550| 22 0a 58 20 20 20 20 20 | 20 3b 3b 0a 58 20 20 69 |".X | ;;.X i|
|00001560| 6e 64 65 78 29 0a 58 20 | 20 20 20 20 20 61 72 67 |ndex).X | arg|
|00001570| 73 3d 22 24 61 72 67 73 | 20 24 69 6e 64 65 78 22 |s="$args| $index"|
|00001580| 0a 58 20 20 20 20 20 20 | 3b 3b 0a 58 20 20 2d 71 |.X |;;.X -q|
|00001590| 7c 2d 51 29 0a 58 20 20 | 20 20 20 20 72 75 6e 6f ||-Q).X | runo|
|000015a0| 70 74 69 6f 6e 3d 22 51 | 22 20 23 71 75 69 65 74 |ption="Q|" #quiet|
|000015b0| 0a 58 20 20 20 20 20 20 | 73 68 69 66 74 0a 58 20 |.X |shift.X |
|000015c0| 20 20 20 20 20 3b 3b 0a | 58 20 20 2d 76 7c 2d 56 | ;;.|X -v|-V|
|000015d0| 29 0a 58 20 20 20 20 20 | 20 72 75 6e 6f 70 74 69 |).X | runopti|
|000015e0| 6f 6e 3d 22 56 22 20 23 | 76 65 72 62 6f 73 65 0a |on="V" #|verbose.|
|000015f0| 58 20 20 20 20 20 20 73 | 68 69 66 74 0a 58 20 20 |X s|hift.X |
|00001600| 20 20 20 20 3b 3b 0a 58 | 20 20 2d 64 7c 2d 44 29 | ;;.X| -d|-D)|
|00001610| 0a 58 20 20 20 20 20 20 | 72 75 6e 6f 70 74 69 6f |.X |runoptio|
|00001620| 6e 3d 22 44 22 20 23 64 | 65 62 75 67 0a 58 20 20 |n="D" #d|ebug.X |
|00001630| 20 20 20 20 73 68 69 66 | 74 0a 58 20 20 20 20 20 | shif|t.X |
|00001640| 20 3b 3b 0a 58 20 20 2a | 29 0a 58 20 20 20 20 20 | ;;.X *|).X |
|00001650| 20 61 72 67 73 3d 22 24 | 61 72 67 73 20 24 77 6f | args="$|args $wo|
|00001660| 72 64 22 0a 58 20 20 20 | 20 20 20 3b 3b 0a 58 20 |rd".X | ;;.X |
|00001670| 20 20 20 65 73 61 63 0a | 58 0a 64 6f 6e 65 20 23 | esac.|X.done #|
|00001680| 20 65 6e 64 20 64 6f 20 | 6c 65 76 65 6c 20 31 0a | end do |level 1.|
|00001690| 58 23 69 66 20 6e 6f 20 | 62 65 6e 63 68 6d 61 72 |X#if no |benchmar|
|000016a0| 6b 20 75 6e 69 74 73 20 | 68 61 76 65 20 62 65 20 |k units |have be |
|000016b0| 73 70 65 63 69 66 69 65 | 64 2c 20 64 6f 20 74 68 |specifie|d, do th|
|000016c0| 65 6d 20 61 6c 6c 20 0a | 58 23 20 74 68 65 20 2d |em all .|X# the -|
|000016d0| 20 6f 70 74 69 6f 6e 20 | 6f 66 20 73 65 74 20 69 | option |of set i|
|000016e0| 6d 70 6c 69 65 73 20 6e | 6f 20 6f 70 74 69 6f 6e |mplies n|o option|
|000016f0| 73 3b 20 61 6e 79 20 6c | 69 73 74 20 66 6f 6c 6c |s; any l|ist foll|
|00001700| 6f 77 69 6e 67 0a 58 23 | 20 62 65 63 6f 6d 65 73 |owing.X#| becomes|
|00001710| 20 74 68 65 20 6c 69 6e | 65 20 61 72 67 75 6d 65 | the lin|e argume|
|00001720| 6e 74 73 20 28 72 65 70 | 6c 61 63 69 6e 67 20 61 |nts (rep|lacing a|
|00001730| 6e 79 20 74 68 61 74 20 | 6d 61 79 20 65 78 69 73 |ny that |may exis|
|00001740| 74 29 0a 73 65 74 20 2d | 20 24 61 72 67 73 0a 69 |t).set -| $args.i|
|00001750| 66 20 74 65 73 74 20 24 | 23 20 2d 65 71 20 30 20 |f test $|# -eq 0 |
|00001760| 20 23 6e 6f 20 61 72 67 | 75 6d 65 6e 74 73 20 73 | #no arg|uments s|
|00001770| 70 65 63 69 66 69 65 64 | 0a 58 20 20 20 74 68 65 |pecified|.X the|
|00001780| 6e 0a 58 20 20 20 73 65 | 74 20 2d 20 24 46 55 4c |n.X se|t - $FUL|
|00001790| 4c 5f 53 55 49 54 45 0a | 66 69 0a 58 0a 69 66 20 |L_SUITE.|fi.X.if |
|000017a0| 74 65 73 74 20 22 24 72 | 75 6e 6f 70 74 69 6f 6e |test "$r|unoption|
|000017b0| 22 20 3d 20 27 44 27 0a | 74 68 65 6e 0a 58 20 20 |" = 'D'.|then.X |
|000017c0| 73 65 74 20 2d 78 0a 58 | 20 20 73 65 74 20 2d 76 |set -x.X| set -v|
|000017d0| 0a 66 69 0a 58 0a 64 61 | 74 65 3d 60 64 61 74 65 |.fi.X.da|te=`date|
|000017e0| 60 0a 54 4d 50 54 49 4d | 45 53 3d 24 7b 54 4d 50 |`.TMPTIM|ES=${TMP|
|000017f0| 44 49 52 7d 2f 24 24 2e | 74 6d 70 0a 4c 4f 47 46 |DIR}/$$.|tmp.LOGF|
|00001800| 49 4c 45 3d 24 7b 52 45 | 53 55 4c 54 44 49 52 7d |ILE=${RE|SULTDIR}|
|00001810| 2f 6c 6f 67 0a 52 45 50 | 4f 52 54 4c 4f 47 3d 24 |/log.REP|ORTLOG=$|
|00001820| 7b 52 45 53 55 4c 54 44 | 49 52 7d 2f 72 65 70 6f |{RESULTD|IR}/repo|
|00001830| 72 74 0a 58 23 61 64 64 | 20 6f 6c 64 20 6c 6f 67 |rt.X#add| old log|
|00001840| 20 74 6f 20 61 63 63 75 | 6d 75 6c 61 74 65 64 20 | to accu|mulated |
|00001850| 6c 6f 67 20 6f 72 20 6d | 6f 76 65 20 69 74 0a 69 |log or m|ove it.i|
|00001860| 66 20 74 65 73 74 20 2d | 77 20 24 7b 52 45 53 55 |f test -|w ${RESU|
|00001870| 4c 54 44 49 52 7d 2f 6c | 6f 67 0a 74 68 65 6e 0a |LTDIR}/l|og.then.|
|00001880| 58 20 20 20 69 66 20 74 | 65 73 74 20 2d 77 20 24 |X if t|est -w $|
|00001890| 7b 52 45 53 55 4c 54 44 | 49 52 7d 2f 6c 6f 67 2e |{RESULTD|IR}/log.|
|000018a0| 61 63 63 75 6d 0a 58 20 | 20 20 74 68 65 6e 0a 58 |accum.X | then.X|
|000018b0| 20 20 20 20 20 20 63 61 | 74 20 24 7b 52 45 53 55 | ca|t ${RESU|
|000018c0| 4c 54 44 49 52 7d 2f 6c | 6f 67 20 3e 3e 20 24 7b |LTDIR}/l|og >> ${|
|000018d0| 52 45 53 55 4c 54 44 49 | 52 7d 2f 6c 6f 67 2e 61 |RESULTDI|R}/log.a|
|000018e0| 63 63 75 6d 0a 58 20 20 | 20 20 20 20 72 6d 20 24 |ccum.X | rm $|
|000018f0| 7b 52 45 53 55 4c 54 44 | 49 52 7d 2f 6c 6f 67 0a |{RESULTD|IR}/log.|
|00001900| 58 20 20 20 65 6c 73 65 | 0a 58 20 20 20 20 20 20 |X else|.X |
|00001910| 6d 76 20 24 7b 52 45 53 | 55 4c 54 44 49 52 7d 2f |mv ${RES|ULTDIR}/|
|00001920| 6c 6f 67 20 24 7b 52 45 | 53 55 4c 54 44 49 52 7d |log ${RE|SULTDIR}|
|00001930| 2f 6c 6f 67 2e 61 63 63 | 75 6d 0a 58 20 20 20 66 |/log.acc|um.X f|
|00001940| 69 0a 66 69 0a 65 63 68 | 6f 20 22 7c 20 20 42 59 |i.fi.ech|o "| BY|
|00001950| 54 45 20 55 4e 49 58 20 | 42 65 6e 63 68 6d 61 72 |TE UNIX |Benchmar|
|00001960| 6b 73 20 28 56 65 72 73 | 69 6f 6e 20 24 76 65 72 |ks (Vers|ion $ver|
|00001970| 73 69 6f 6e 29 22 20 3e | 3e 24 4c 4f 47 46 49 4c |sion)" >|>$LOGFIL|
|00001980| 45 0a 65 63 68 6f 20 22 | 7c 20 20 53 79 73 74 65 |E.echo "|| Syste|
|00001990| 6d 20 2d 2d 22 20 60 24 | 55 4e 41 4d 45 60 20 3e |m --" `$|UNAME` >|
|000019a0| 3e 24 4c 4f 47 46 49 4c | 45 0a 65 63 68 6f 20 22 |>$LOGFIL|E.echo "|
|000019b0| 7c 20 20 53 74 61 72 74 | 20 42 65 6e 63 68 6d 61 || Start| Benchma|
|000019c0| 72 6b 20 52 75 6e 3a 20 | 60 64 61 74 65 60 22 20 |rk Run: |`date`" |
|000019d0| 3e 3e 24 4c 4f 47 46 49 | 4c 45 0a 65 63 68 6f 20 |>>$LOGFI|LE.echo |
|000019e0| 22 7c 20 20 22 20 60 77 | 68 6f 20 7c 20 77 63 20 |"| " `w|ho | wc |
|000019f0| 2d 6c 60 20 22 69 6e 74 | 65 72 61 63 74 69 76 65 |-l` "int|eractive|
|00001a00| 20 75 73 65 72 73 2e 22 | 20 3e 3e 24 4c 4f 47 46 | users."| >>$LOGF|
|00001a10| 49 4c 45 0a 58 23 69 66 | 20 6e 6f 74 20 73 70 65 |ILE.X#if| not spe|
|00001a20| 63 69 66 69 65 64 2c 20 | 64 6f 20 65 61 63 68 20 |cified, |do each |
|00001a30| 62 65 6e 63 68 20 36 20 | 69 74 65 72 61 74 69 6f |bench 6 |iteratio|
|00001a40| 6e 73 0a 69 74 65 72 3d | 24 7b 69 74 65 72 61 74 |ns.iter=|${iterat|
|00001a50| 69 6f 6e 73 2d 36 7d 0a | 69 66 20 74 65 73 74 20 |ions-6}.|if test |
|00001a60| 24 69 74 65 72 20 2d 65 | 71 20 36 0a 74 68 65 6e |$iter -e|q 6.then|
|00001a70| 0a 58 20 20 6c 6f 6e 67 | 6c 6f 6f 70 3d 22 31 20 |.X long|loop="1 |
|00001a80| 32 20 33 20 34 20 35 20 | 36 22 0a 58 20 20 73 68 |2 3 4 5 |6".X sh|
|00001a90| 6f 72 74 6c 6f 6f 70 3d | 22 31 20 32 20 33 22 0a |ortloop=|"1 2 3".|
|00001aa0| 65 6c 73 65 20 20 23 20 | 67 65 6e 65 72 61 74 65 |else # |generate|
|00001ab0| 20 6c 69 73 74 20 6f 66 | 20 6c 6f 6f 70 20 6e 75 | list of| loop nu|
|00001ac0| 6d 62 65 72 73 0a 58 20 | 20 73 68 6f 72 74 3d 60 |mbers.X | short=`|
|00001ad0| 65 78 70 72 20 5c 28 20 | 24 69 74 65 72 20 2b 20 |expr \( |$iter + |
|00001ae0| 31 20 5c 29 20 2f 20 32 | 60 0a 58 20 20 6c 6f 6e |1 \) / 2|`.X lon|
|00001af0| 67 6c 6f 6f 70 3d 22 22 | 0a 58 20 20 73 68 6f 72 |gloop=""|.X shor|
|00001b00| 74 6c 6f 6f 70 3d 22 22 | 0a 58 20 20 77 68 69 6c |tloop=""|.X whil|
|00001b10| 65 20 74 65 73 74 20 24 | 69 74 65 72 20 2d 67 74 |e test $|iter -gt|
|00001b20| 20 30 0a 58 20 20 64 6f | 20 23 20 64 6f 20 6c 65 | 0.X do| # do le|
|00001b30| 76 65 6c 20 31 0a 58 20 | 20 20 20 20 20 20 6c 6f |vel 1.X | lo|
|00001b40| 6e 67 6c 6f 6f 70 3d 22 | 24 69 74 65 72 20 24 6c |ngloop="|$iter $l|
|00001b50| 6f 6e 67 6c 6f 6f 70 22 | 0a 58 20 20 20 20 20 20 |ongloop"|.X |
|00001b60| 20 69 66 20 74 65 73 74 | 20 24 69 74 65 72 20 2d | if test| $iter -|
|00001b70| 6c 65 20 24 73 68 6f 72 | 74 0a 58 20 20 20 20 20 |le $shor|t.X |
|00001b80| 20 20 74 68 65 6e 0a 58 | 20 20 20 20 20 20 20 20 | then.X| |
|00001b90| 20 73 68 6f 72 74 6c 6f | 6f 70 3d 22 24 69 74 65 | shortlo|op="$ite|
|00001ba0| 72 20 24 73 68 6f 72 74 | 6c 6f 6f 70 22 0a 58 20 |r $short|loop".X |
|00001bb0| 20 20 20 20 20 20 66 69 | 0a 58 20 20 20 20 20 20 | fi|.X |
|00001bc0| 20 69 74 65 72 3d 60 65 | 78 70 72 20 24 69 74 65 | iter=`e|xpr $ite|
|00001bd0| 72 20 2d 20 31 60 0a 58 | 20 20 64 6f 6e 65 20 23 |r - 1`.X| done #|
|00001be0| 20 65 6e 64 20 64 6f 20 | 6c 65 76 65 6c 20 31 0a | end do |level 1.|
|00001bf0| 66 69 20 23 6c 6f 6f 70 | 20 6c 69 73 74 20 67 65 |fi #loop| list ge|
|00001c00| 6e 72 61 74 69 6f 6e 0a | 58 23 23 23 23 23 23 23 |nration.|X#######|
|00001c10| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00001c20| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00001c30| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00001c40| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 0a 58 23 |########|#####.X#|
|00001c50| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 20 74 68 |########|##### th|
|00001c60| 65 20 6d 61 6a 6f 72 20 | 63 6f 6e 74 72 6f 6c 20 |e major |control |
|00001c70| 6c 6f 6f 70 20 23 23 23 | 23 23 23 23 23 23 23 23 |loop ###|########|
|00001c80| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00001c90| 23 23 23 0a 58 23 23 23 | 23 23 23 23 23 23 23 23 |###.X###|########|
|00001ca0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00001cb0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00001cc0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00001cd0| 23 23 23 23 23 23 23 23 | 23 0a 66 6f 72 20 62 65 |########|#.for be|
|00001ce0| 6e 63 68 20 23 20 6c 69 | 6e 65 20 61 72 67 75 6d |nch # li|ne argum|
|00001cf0| 65 6e 74 20 70 72 6f 63 | 65 73 73 69 6e 67 0a 64 |ent proc|essing.d|
|00001d00| 6f 20 23 20 64 6f 20 6c | 65 76 65 6c 20 31 0a 58 |o # do l|evel 1.X|
|00001d10| 20 20 20 20 23 20 73 65 | 74 20 73 6f 6d 65 20 64 | # se|t some d|
|00001d20| 65 66 61 75 6c 74 20 76 | 61 6c 75 65 73 0a 58 20 |efault v|alues.X |
|00001d30| 20 20 20 70 72 6f 67 3d | 24 7b 42 49 4e 44 49 52 | prog=|${BINDIR|
|00001d40| 7d 2f 24 62 65 6e 63 68 | 20 20 23 20 74 68 65 20 |}/$bench| # the |
|00001d50| 62 65 6e 63 68 20 6e 61 | 6d 65 20 69 73 20 64 65 |bench na|me is de|
|00001d60| 66 61 75 6c 74 20 70 72 | 6f 67 72 61 6d 0a 58 20 |fault pr|ogram.X |
|00001d70| 20 20 20 70 61 72 61 6d | 6c 69 73 74 3d 22 23 22 | param|list="#"|
|00001d80| 20 20 20 20 20 20 20 20 | 20 20 23 20 61 20 64 75 | | # a du|
|00001d90| 6d 6d 79 20 70 61 72 61 | 6d 65 74 65 72 20 74 6f |mmy para|meter to|
|00001da0| 20 6d 61 6b 65 20 61 6e | 79 74 68 69 6e 67 20 72 | make an|ything r|
|00001db0| 75 6e 0a 58 20 20 20 20 | 74 65 73 74 64 69 72 3d |un.X |testdir=|
|00001dc0| 22 24 7b 54 45 53 54 44 | 49 52 7d 22 20 20 20 23 |"${TESTD|IR}" #|
|00001dd0| 20 74 68 65 20 64 69 72 | 65 63 74 6f 72 79 20 69 | the dir|ectory i|
|00001de0| 6e 20 77 68 69 63 68 20 | 74 6f 20 72 75 6e 20 74 |n which |to run t|
|00001df0| 68 65 20 74 65 73 74 0a | 58 20 20 20 20 70 72 65 |he test.|X pre|
|00001e00| 70 63 6d 64 3d 22 22 20 | 20 20 20 20 20 20 20 20 |pcmd="" | |
|00001e10| 20 20 20 20 23 20 70 72 | 65 70 61 72 61 74 69 6f | # pr|eparatio|
|00001e20| 6e 20 63 6f 6d 6d 61 6e | 64 20 6f 72 20 73 63 72 |n comman|d or scr|
|00001e30| 69 70 74 0a 58 20 20 20 | 20 70 61 72 61 6d 6d 73 |ipt.X | paramms|
|00001e40| 67 3d 22 22 0a 58 20 20 | 20 20 72 65 70 65 61 74 |g="".X | repeat|
|00001e50| 3d 22 24 6c 6f 6e 67 6c | 6f 6f 70 22 0a 58 20 20 |="$longl|oop".X |
|00001e60| 20 20 73 74 64 6f 75 74 | 3d 22 24 4c 4f 47 46 49 | stdout|="$LOGFI|
|00001e70| 4c 45 22 0a 58 20 20 20 | 20 73 74 64 69 6e 3d 22 |LE".X | stdin="|
|00001e80| 22 0a 58 20 20 20 20 6f | 70 74 69 6f 6e 73 3d 22 |".X o|ptions="|
|00001e90| 22 0a 58 20 20 20 20 6c | 6f 67 6d 73 67 3d 22 22 |".X l|ogmsg=""|
|00001ea0| 0a 58 20 20 20 20 63 6c | 65 61 6e 6f 70 74 3d 22 |.X cl|eanopt="|
|00001eb0| 2d 6c 20 24 54 4d 50 54 | 49 4d 45 53 22 0a 58 20 |-l $TMPT|IMES".X |
|00001ec0| 20 20 20 62 67 6e 75 6d | 62 65 72 3d 22 22 0a 58 | bgnum|ber="".X|
|00001ed0| 20 20 20 20 74 72 61 70 | 20 22 24 7b 53 43 52 50 | trap| "${SCRP|
|00001ee0| 44 49 52 7d 2f 63 6c 65 | 61 6e 75 70 2e 73 68 20 |DIR}/cle|anup.sh |
|00001ef0| 2d 4c 20 24 4c 4f 47 46 | 49 4c 45 20 2d 61 3b 20 |-L $LOGF|ILE -a; |
|00001f00| 65 78 69 74 22 20 31 20 | 32 20 33 20 31 35 0a 58 |exit" 1 |2 3 15.X|
|00001f10| 20 20 20 20 65 63 68 6f | 20 22 22 20 3e 3e 24 4c | echo| "" >>$L|
|00001f20| 4f 47 46 49 4c 45 0a 58 | 20 20 20 20 23 23 23 23 |OGFILE.X| ####|
|00001f30| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00001f40| 23 23 20 73 65 6c 65 63 | 74 20 74 68 65 20 62 65 |## selec|t the be|
|00001f50| 6e 63 68 20 73 70 65 63 | 69 66 69 63 20 76 61 6c |nch spec|ific val|
|00001f60| 75 65 73 20 23 23 23 23 | 23 23 23 23 23 23 0a 58 |ues ####|######.X|
|00001f70| 20 20 20 20 63 61 73 65 | 20 24 62 65 6e 63 68 0a | case| $bench.|
|00001f80| 58 20 20 20 20 69 6e 0a | 58 20 20 64 68 72 79 32 |X in.|X dhry2|
|00001f90| 29 0a 58 20 20 20 20 6f | 70 74 69 6f 6e 73 3d 24 |).X o|ptions=$|
|00001fa0| 7b 64 68 72 79 74 69 6d | 65 2d 31 30 7d 0a 58 20 |{dhrytim|e-10}.X |
|00001fb0| 20 20 20 6c 6f 67 6d 73 | 67 3d 22 44 68 72 79 73 | logms|g="Dhrys|
|00001fc0| 74 6f 6e 65 20 32 20 77 | 69 74 68 6f 75 74 20 72 |tone 2 w|ithout r|
|00001fd0| 65 67 69 73 74 65 72 20 | 76 61 72 69 61 62 6c 65 |egister |variable|
|00001fe0| 73 22 0a 58 20 20 20 20 | 3b 3b 0a 58 0a 58 20 20 |s".X |;;.X.X |
|00001ff0| 64 68 72 79 32 72 65 67 | 29 0a 58 20 20 20 20 6f |dhry2reg|).X o|
|00002000| 70 74 69 6f 6e 73 3d 24 | 7b 64 68 72 79 74 69 6d |ptions=$|{dhrytim|
|00002010| 65 2d 31 30 7d 0a 58 20 | 20 20 20 6c 6f 67 6d 73 |e-10}.X | logms|
|00002020| 67 3d 22 44 68 72 79 73 | 74 6f 6e 65 20 32 20 75 |g="Dhrys|tone 2 u|
|00002030| 73 69 6e 67 20 72 65 67 | 69 73 74 65 72 20 76 61 |sing reg|ister va|
|00002040| 72 69 61 62 6c 65 73 22 | 0a 58 20 20 20 20 3b 3b |riables"|.X ;;|
|00002050| 0a 58 0a 58 20 20 61 72 | 69 74 68 6f 68 7c 72 65 |.X.X ar|ithoh|re|
|00002060| 67 69 73 74 65 72 7c 73 | 68 6f 72 74 7c 69 6e 74 |gister|s|hort|int|
|00002070| 7c 6c 6f 6e 67 29 0a 58 | 20 20 20 20 6f 70 74 69 ||long).X| opti|
|00002080| 6f 6e 73 3d 24 7b 61 72 | 69 74 68 74 69 6d 65 2d |ons=${ar|ithtime-|
|00002090| 31 30 7d 0a 58 20 20 20 | 20 6c 6f 67 6d 73 67 3d |10}.X | logmsg=|
|000020a0| 22 41 72 69 74 68 6d 65 | 74 69 63 20 54 65 73 74 |"Arithme|tic Test|
|000020b0| 20 28 74 79 70 65 20 3d | 20 24 62 65 6e 63 68 29 | (type =| $bench)|
|000020c0| 22 0a 58 20 20 20 20 3b | 3b 0a 58 0a 58 20 20 66 |".X ;|;.X.X f|
|000020d0| 6c 6f 61 74 7c 64 6f 75 | 62 6c 65 29 0a 58 20 20 |loat|dou|ble).X |
|000020e0| 20 20 6f 70 74 69 6f 6e | 73 3d 24 7b 61 72 69 74 | option|s=${arit|
|000020f0| 68 74 69 6d 65 2d 31 30 | 7d 0a 58 20 20 20 20 6c |htime-10|}.X l|
|00002100| 6f 67 6d 73 67 3d 22 41 | 72 69 74 68 6d 65 74 69 |ogmsg="A|rithmeti|
|00002110| 63 20 54 65 73 74 20 28 | 74 79 70 65 20 3d 20 24 |c Test (|type = $|
|00002120| 62 65 6e 63 68 29 22 0a | 58 20 20 20 20 3b 3b 0a |bench)".|X ;;.|
|00002130| 58 0a 58 20 20 73 79 73 | 63 61 6c 6c 29 0a 58 20 |X.X sys|call).X |
|00002140| 20 20 20 6f 70 74 69 6f | 6e 73 3d 24 7b 73 79 73 | optio|ns=${sys|
|00002150| 74 69 6d 65 2d 31 30 7d | 0a 58 20 20 20 20 6c 6f |time-10}|.X lo|
|00002160| 67 6d 73 67 3d 22 53 79 | 73 74 65 6d 20 43 61 6c |gmsg="Sy|stem Cal|
|00002170| 6c 20 4f 76 65 72 68 65 | 61 64 20 54 65 73 74 22 |l Overhe|ad Test"|
|00002180| 0a 58 20 20 20 20 3b 3b | 0a 58 0a 58 20 20 63 6f |.X ;;|.X.X co|
|00002190| 6e 74 65 78 74 31 29 0a | 58 20 20 20 20 6f 70 74 |ntext1).|X opt|
|000021a0| 69 6f 6e 73 3d 24 7b 73 | 79 73 74 69 6d 65 2d 31 |ions=${s|ystime-1|
|000021b0| 30 7d 0a 58 20 20 20 20 | 6c 6f 67 6d 73 67 3d 22 |0}.X |logmsg="|
|000021c0| 50 69 70 65 2d 62 61 73 | 65 64 20 43 6f 6e 74 65 |Pipe-bas|ed Conte|
|000021d0| 78 74 20 53 77 69 74 63 | 68 69 6e 67 20 54 65 73 |xt Switc|hing Tes|
|000021e0| 74 22 0a 58 20 20 20 20 | 3b 3b 0a 58 0a 58 20 20 |t".X |;;.X.X |
|000021f0| 70 69 70 65 29 20 20 20 | 0a 58 20 20 20 20 6f 70 |pipe) |.X op|
|00002200| 74 69 6f 6e 73 3d 24 7b | 73 79 73 74 69 6d 65 2d |tions=${|systime-|
|00002210| 31 30 7d 0a 58 20 20 20 | 20 6c 6f 67 6d 73 67 3d |10}.X | logmsg=|
|00002220| 22 50 69 70 65 20 54 68 | 72 6f 75 67 68 70 75 74 |"Pipe Th|roughput|
|00002230| 20 54 65 73 74 22 0a 58 | 20 20 20 20 3b 3b 0a 58 | Test".X| ;;.X|
|00002240| 0a 58 20 20 73 70 61 77 | 6e 29 20 20 0a 58 20 20 |.X spaw|n) .X |
|00002250| 20 20 6f 70 74 69 6f 6e | 73 3d 24 7b 73 79 73 74 | option|s=${syst|
|00002260| 69 6d 65 2d 31 30 7d 0a | 58 20 20 20 20 6c 6f 67 |ime-10}.|X log|
|00002270| 6d 73 67 3d 22 50 72 6f | 63 65 73 73 20 43 72 65 |msg="Pro|cess Cre|
|00002280| 61 74 69 6f 6e 20 54 65 | 73 74 22 0a 58 20 20 20 |ation Te|st".X |
|00002290| 20 3b 3b 0a 58 0a 58 20 | 20 65 78 65 63 6c 29 20 | ;;.X.X | execl) |
|000022a0| 20 0a 58 20 20 20 20 6f | 70 74 69 6f 6e 73 3d 24 | .X o|ptions=$|
|000022b0| 7b 73 79 73 74 69 6d 65 | 2d 31 30 7d 0a 58 20 20 |{systime|-10}.X |
|000022c0| 20 20 6c 6f 67 6d 73 67 | 3d 22 45 78 65 63 6c 20 | logmsg|="Execl |
|000022d0| 54 68 72 6f 75 67 68 70 | 75 74 20 54 65 73 74 22 |Throughp|ut Test"|
|000022e0| 0a 58 20 20 20 20 3b 3b | 0a 58 0a 58 20 20 66 73 |.X ;;|.X.X fs|
|000022f0| 74 69 6d 65 29 20 0a 58 | 20 20 20 20 6c 6f 67 6d |time) .X| logm|
|00002300| 73 67 3d 27 46 69 6c 65 | 73 79 73 74 65 6d 20 54 |sg='File|system T|
|00002310| 68 72 6f 75 67 68 70 75 | 74 20 54 65 73 74 20 28 |hroughpu|t Test (|
|00002320| 24 70 61 72 61 6d 20 73 | 65 63 6f 6e 64 20 74 65 |$param s|econd te|
|00002330| 73 74 29 27 0a 58 20 20 | 20 20 77 68 65 72 65 3d |st)'.X | where=|
|00002340| 24 7b 77 68 65 72 65 2d | 24 7b 54 4d 50 44 49 52 |${where-|${TMPDIR|
|00002350| 7d 7d 0a 58 20 20 20 20 | 63 6c 65 61 6e 6f 70 74 |}}.X |cleanopt|
|00002360| 3d 22 2d 66 20 24 54 4d | 50 54 49 4d 45 53 22 0a |="-f $TM|PTIMES".|
|00002370| 58 20 20 20 20 6f 70 74 | 69 6f 6e 73 3d 27 24 70 |X opt|ions='$p|
|00002380| 61 72 61 6d 20 27 22 24 | 77 68 65 72 65 22 0a 58 |aram '"$|where".X|
|00002390| 20 20 20 20 70 61 72 61 | 6d 6c 69 73 74 3d 24 7b | para|mlist=${|
|000023a0| 73 65 63 6f 6e 64 73 2d | 22 31 30 20 33 30 22 7d |seconds-|"10 30"}|
|000023b0| 0a 58 20 20 20 20 70 61 | 72 61 6d 6d 73 67 3d 27 |.X pa|rammsg='|
|000023c0| 54 65 73 74 20 54 69 6d | 65 3a 20 24 70 61 72 61 |Test Tim|e: $para|
|000023d0| 6d 20 73 65 63 73 27 0a | 58 20 20 20 20 3b 3b 0a |m secs'.|X ;;.|
|000023e0| 58 0a 58 20 20 43 29 20 | 20 0a 58 20 20 20 20 6c |X.X C) | .X l|
|000023f0| 6f 67 6d 73 67 3d 22 43 | 20 43 6f 6d 70 69 6c 65 |ogmsg="C| Compile|
|00002400| 72 20 54 65 73 74 22 0a | 58 20 20 20 20 70 72 6f |r Test".|X pro|
|00002410| 67 3d 22 6c 6f 6f 70 65 | 72 20 24 7b 6c 6f 6f 70 |g="loope|r ${loop|
|00002420| 65 72 2d 36 30 7d 20 63 | 63 20 63 63 74 65 73 74 |er-60} c|c cctest|
|00002430| 2e 63 22 0a 58 20 20 20 | 20 73 74 64 6f 75 74 3d |.c".X | stdout=|
|00002440| 2f 64 65 76 2f 6e 75 6c | 6c 0a 58 20 20 20 20 72 |/dev/nul|l.X r|
|00002450| 65 70 65 61 74 3d 22 24 | 73 68 6f 72 74 6c 6f 6f |epeat="$|shortloo|
|00002460| 70 22 0a 58 20 20 20 20 | 63 6c 65 61 6e 6f 70 74 |p".X |cleanopt|
|00002470| 3d 22 2d 6d 20 24 54 4d | 50 54 49 4d 45 53 22 0a |="-m $TM|PTIMES".|
|00002480| 58 20 20 20 20 72 6d 20 | 2d 66 20 24 7b 54 45 53 |X rm |-f ${TES|
|00002490| 54 44 49 52 7d 2f 63 63 | 74 65 73 74 2e 6f 20 24 |TDIR}/cc|test.o $|
|000024a0| 7b 54 45 53 54 44 49 52 | 7d 2f 61 2e 6f 75 74 0a |{TESTDIR|}/a.out.|
|000024b0| 58 20 20 20 20 3b 3b 0a | 58 0a 58 20 20 73 68 65 |X ;;.|X.X she|
|000024c0| 6c 6c 29 0a 58 20 20 20 | 20 6c 6f 67 6d 73 67 3d |ll).X | logmsg=|
|000024d0| 27 53 68 65 6c 6c 20 73 | 63 72 69 70 74 73 20 28 |'Shell s|cripts (|
|000024e0| 24 70 61 72 61 6d 20 63 | 6f 6e 63 75 72 72 65 6e |$param c|oncurren|
|000024f0| 74 29 27 0a 58 20 20 20 | 20 70 72 6f 67 3d 22 6c |t)'.X | prog="l|
|00002500| 6f 6f 70 65 72 20 24 7b | 6c 6f 6f 70 65 72 2d 36 |ooper ${|looper-6|
|00002510| 30 7d 20 6d 75 6c 74 69 | 2e 73 68 22 0a 58 20 20 |0} multi|.sh".X |
|00002520| 20 20 72 65 70 65 61 74 | 3d 22 24 73 68 6f 72 74 | repeat|="$short|
|00002530| 6c 6f 6f 70 22 0a 58 20 | 20 20 20 73 74 64 6f 75 |loop".X | stdou|
|00002540| 74 3d 2f 64 65 76 2f 6e | 75 6c 6c 0a 58 20 20 20 |t=/dev/n|ull.X |
|00002550| 20 70 61 72 61 6d 6c 69 | 73 74 3d 24 7b 62 61 63 | paramli|st=${bac|
|00002560| 6b 67 72 6f 75 6e 64 2d | 22 31 20 32 20 34 20 38 |kground-|"1 2 4 8|
|00002570| 20 22 7d 0a 58 20 20 20 | 20 70 61 72 61 6d 6d 73 | "}.X | paramms|
|00002580| 67 3d 27 24 70 61 72 61 | 6d 20 63 6f 6e 63 75 72 |g='$para|m concur|
|00002590| 72 65 6e 74 20 62 61 63 | 6b 67 72 6f 75 6e 64 20 |rent bac|kground |
|000025a0| 70 72 6f 63 65 73 73 65 | 73 27 0a 58 20 20 20 20 |processe|s'.X |
|000025b0| 62 67 6e 75 6d 62 65 72 | 3d 27 24 70 61 72 61 6d |bgnumber|='$param|
|000025c0| 27 0a 58 20 20 20 20 63 | 6c 65 61 6e 6f 70 74 3d |'.X c|leanopt=|
|000025d0| 22 2d 6d 20 24 54 4d 50 | 54 49 4d 45 53 22 0a 58 |"-m $TMP|TIMES".X|
|000025e0| 20 20 20 20 3b 3b 0a 58 | 0a 58 20 20 64 63 29 20 | ;;.X|.X dc) |
|000025f0| 20 0a 58 20 20 20 20 6c | 6f 67 6d 73 67 3d 22 44 | .X l|ogmsg="D|
|00002600| 63 3a 20 73 71 72 74 28 | 32 29 20 74 6f 20 39 39 |c: sqrt(|2) to 99|
|00002610| 20 64 65 63 69 6d 61 6c | 20 70 6c 61 63 65 73 22 | decimal| places"|
|00002620| 0a 58 20 20 20 20 70 72 | 6f 67 3d 22 6c 6f 6f 70 |.X pr|og="loop|
|00002630| 65 72 20 24 7b 6c 6f 6f | 70 65 72 2d 36 30 7d 20 |er ${loo|per-60} |
|00002640| 64 63 22 0a 58 20 20 20 | 20 73 74 64 69 6e 3d 64 |dc".X | stdin=d|
|00002650| 63 2e 64 61 74 0a 58 20 | 20 20 20 73 74 64 6f 75 |c.dat.X | stdou|
|00002660| 74 3d 2f 64 65 76 2f 6e | 75 6c 6c 0a 58 20 20 20 |t=/dev/n|ull.X |
|00002670| 20 63 6c 65 61 6e 6f 70 | 74 3d 22 2d 6d 20 24 54 | cleanop|t="-m $T|
|00002680| 4d 50 54 49 4d 45 53 22 | 0a 58 20 20 20 20 3b 3b |MPTIMES"|.X ;;|
|00002690| 0a 58 0a 58 20 20 68 61 | 6e 6f 69 29 20 20 0a 58 |.X.X ha|noi) .X|
|000026a0| 20 20 20 20 6f 70 74 69 | 6f 6e 73 3d 24 7b 73 79 | opti|ons=${sy|
|000026b0| 73 74 69 6d 65 2d 31 30 | 7d 0a 58 20 20 20 20 73 |stime-10|}.X s|
|000026c0| 74 64 6f 75 74 3d 2f 64 | 65 76 2f 6e 75 6c 6c 0a |tdout=/d|ev/null.|
|000026d0| 58 20 20 20 20 6c 6f 67 | 6d 73 67 3d 22 52 65 63 |X log|msg="Rec|
|000026e0| 75 72 73 69 6f 6e 20 54 | 65 73 74 2d 2d 54 6f 77 |ursion T|est--Tow|
|000026f0| 65 72 20 6f 66 20 48 61 | 6e 6f 69 22 0a 58 20 20 |er of Ha|noi".X |
|00002700| 20 20 70 61 72 61 6d 6d | 73 67 3d 27 24 70 61 72 | paramm|sg='$par|
|00002710| 61 6d 20 44 69 73 6b 20 | 50 72 6f 62 6c 65 6d 3a |am Disk |Problem:|
|00002720| 27 0a 58 20 20 20 20 3b | 3b 0a 58 0a 58 20 20 2a |'.X ;|;.X.X *|
|00002730| 29 20 20 20 24 7b 42 49 | 4e 44 49 52 7d 2f 63 6c |) ${BI|NDIR}/cl|
|00002740| 65 61 6e 75 70 2e 73 68 | 20 2d 4c 20 24 4c 4f 47 |eanup.sh| -L $LOG|
|00002750| 46 49 4c 45 20 2d 72 20 | 22 72 75 6e 3a 20 75 6e |FILE -r |"run: un|
|00002760| 6b 6e 6f 77 6e 20 62 65 | 6e 63 68 6d 61 72 6b 20 |known be|nchmark |
|00002770| 5c 22 24 62 65 6e 63 68 | 5c 22 20 5c 6e 20 4b 6e |\"$bench|\" \n Kn|
|00002780| 6f 77 6e 20 62 65 6e 63 | 68 6d 61 72 6b 73 20 61 |own benc|hmarks a|
|00002790| 72 65 3a 20 5c 6e 20 24 | 46 55 4c 4c 5f 53 55 49 |re: \n $|FULL_SUI|
|000027a0| 54 45 22 20 2d 61 0a 58 | 20 20 20 20 65 78 69 74 |TE" -a.X| exit|
|000027b0| 20 31 0a 58 20 20 20 20 | 3b 3b 0a 65 73 61 63 0a | 1.X |;;.esac.|
|000027c0| 58 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |X#######|########|
|000027d0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000027e0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000027f0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00002800| 23 0a 58 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |#.X#####|########|
|00002810| 23 23 23 23 23 23 23 23 | 23 20 74 68 65 20 6d 61 |########|# the ma|
|00002820| 69 6e 20 74 61 73 6b 20 | 23 23 23 23 23 23 23 23 |in task |########|
|00002830| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00002840| 23 23 23 0a 58 23 23 23 | 23 23 23 23 23 23 23 23 |###.X###|########|
|00002850| 23 23 23 23 23 23 23 23 | 23 23 23 20 72 75 6e 20 |########|### run |
|00002860| 74 68 65 20 62 65 6e 63 | 68 20 23 23 23 23 23 23 |the benc|h ######|
|00002870| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00002880| 23 23 23 23 23 0a 58 23 | 23 23 23 23 23 23 23 23 |#####.X#|########|
|00002890| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000028a0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000028b0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000028c0| 23 23 23 23 23 23 23 0a | 58 23 20 65 61 63 68 20 |#######.|X# each |
|000028d0| 6f 66 20 74 68 6f 73 65 | 20 76 61 72 69 61 62 6c |of those| variabl|
|000028e0| 65 73 20 61 72 65 20 6e | 6f 77 20 75 73 65 64 20 |es are n|ow used |
|000028f0| 69 6e 20 61 20 67 65 6e | 65 72 61 6c 20 77 61 79 |in a gen|eral way|
|00002900| 0a 58 23 0a 58 20 20 20 | 20 66 6f 72 20 70 61 72 |.X#.X | for par|
|00002910| 61 6d 20 69 6e 20 24 70 | 61 72 61 6d 6c 69 73 74 |am in $p|aramlist|
|00002920| 0a 58 20 20 20 20 64 6f | 20 20 20 23 20 6c 65 76 |.X do| # lev|
|00002930| 65 6c 20 32 0a 58 20 20 | 20 20 20 20 70 61 72 61 |el 2.X | para|
|00002940| 6d 3d 60 65 63 68 6f 20 | 24 70 61 72 61 6d 20 7c |m=`echo |$param ||
|00002950| 20 73 65 64 20 27 73 2f | 5f 2f 20 2f 67 27 60 20 | sed 's/|_/ /g'` |
|00002960| 23 20 62 65 20 73 75 72 | 65 20 74 68 61 74 20 73 |# be sur|e that s|
|00002970| 70 61 63 65 73 20 61 72 | 65 20 75 73 65 64 0a 58 |paces ar|e used.X|
|00002980| 20 20 20 20 20 20 65 76 | 61 6c 20 4c 6d 73 67 3d | ev|al Lmsg=|
|00002990| 27 22 27 24 6c 6f 67 6d | 73 67 27 22 27 0a 58 20 |'"'$logm|sg'"'.X |
|000029a0| 20 20 20 20 20 65 76 61 | 6c 20 6f 70 74 3d 27 22 | eva|l opt='"|
|000029b0| 27 24 6f 70 74 69 6f 6e | 73 27 22 27 09 09 20 23 |'$option|s'"'.. #|
|000029c0| 20 65 76 61 6c 75 61 74 | 65 20 61 6e 79 20 76 61 | evaluat|e any va|
|000029d0| 72 73 20 69 6e 20 6f 70 | 74 69 6f 6e 73 0a 58 20 |rs in op|tions.X |
|000029e0| 20 20 20 20 20 65 76 61 | 6c 20 70 72 65 70 3d 27 | eva|l prep='|
|000029f0| 22 27 24 70 72 65 70 63 | 6d 64 27 22 27 09 09 20 |"'$prepc|md'"'.. |
|00002a00| 23 20 65 76 61 6c 75 61 | 74 65 20 61 6e 79 20 70 |# evalua|te any p|
|00002a10| 72 65 70 20 63 6f 6d 6d | 61 6e 64 0a 58 20 20 20 |rep comm|and.X |
|00002a20| 20 20 20 65 76 61 6c 20 | 62 67 3d 27 22 27 24 62 | eval |bg='"'$b|
|00002a30| 67 6e 75 6d 62 65 72 27 | 22 27 09 09 20 23 20 65 |gnumber'|"'.. # e|
|00002a40| 76 61 6c 75 61 74 65 20 | 62 67 6e 75 6d 62 65 72 |valuate |bgnumber|
|00002a50| 20 73 74 72 69 6e 67 0a | 58 20 20 20 20 20 20 72 | string.|X r|
|00002a60| 6d 20 2d 66 20 24 54 4d | 50 54 49 4d 45 53 09 09 |m -f $TM|PTIMES..|
|00002a70| 09 20 23 20 72 65 6d 6f | 76 65 20 61 6e 79 20 74 |. # remo|ve any t|
|00002a80| 6d 70 20 66 69 6c 65 73 | 0a 58 0a 58 20 20 20 20 |mp files|.X.X |
|00002a90| 20 20 23 20 69 66 20 74 | 68 65 20 74 65 73 74 20 | # if t|he test |
|00002aa0| 72 65 71 75 69 72 65 73 | 20 6d 75 6c 69 74 70 6c |requires| mulitpl|
|00002ab0| 65 20 63 6f 6e 63 75 72 | 72 65 6e 74 20 70 72 6f |e concur|rent pro|
|00002ac0| 63 65 73 73 65 73 2c 0a | 58 20 20 20 20 20 20 23 |cesses,.|X #|
|00002ad0| 20 70 72 65 70 61 72 65 | 20 74 68 65 20 62 61 63 | prepare| the bac|
|00002ae0| 6b 67 72 6f 75 6e 64 20 | 70 72 6f 63 65 73 73 20 |kground |process |
|00002af0| 73 74 72 69 6e 67 20 28 | 62 67 73 74 72 29 0a 58 |string (|bgstr).X|
|00002b00| 20 20 20 20 20 20 23 20 | 74 68 69 73 20 69 73 20 | # |this is |
|00002b10| 6a 75 73 74 20 61 20 73 | 74 72 69 6e 67 20 6f 66 |just a s|tring of|
|00002b20| 20 22 2b 22 73 20 74 68 | 61 74 20 77 69 6c 6c 20 | "+"s th|at will |
|00002b30| 70 72 6f 76 69 64 65 73 | 20 61 0a 58 20 20 20 20 |provides| a.X |
|00002b40| 20 20 23 20 70 61 72 61 | 6d 65 74 65 72 20 63 6f | # para|meter co|
|00002b50| 75 6e 74 20 66 6f 72 20 | 61 20 22 66 6f 72 22 20 |unt for |a "for" |
|00002b60| 6c 6f 6f 70 0a 58 20 20 | 20 20 20 20 62 67 73 74 |loop.X | bgst|
|00002b70| 72 3d 22 22 0a 58 20 20 | 20 20 20 20 69 66 20 74 |r="".X | if t|
|00002b80| 65 73 74 20 22 24 62 67 | 22 20 21 3d 20 22 22 0a |est "$bg|" != "".|
|00002b90| 58 20 20 20 20 20 20 74 | 68 65 6e 0a 58 09 20 20 |X t|hen.X. |
|00002ba0| 63 6f 75 6e 74 3d 60 65 | 78 70 72 20 22 24 62 67 |count=`e|xpr "$bg|
|00002bb0| 22 60 0a 58 20 20 20 20 | 20 20 20 20 20 20 77 68 |"`.X | wh|
|00002bc0| 69 6c 65 20 74 65 73 74 | 20 24 63 6f 75 6e 74 20 |ile test| $count |
|00002bd0| 2d 67 74 20 30 0a 58 20 | 20 20 20 20 20 20 20 20 |-gt 0.X | |
|00002be0| 20 64 6f 0a 58 09 20 20 | 20 20 20 20 62 67 73 74 | do.X. | bgst|
|00002bf0| 72 3d 22 2b 20 24 62 67 | 73 74 72 22 0a 58 09 20 |r="+ $bg|str".X. |
|00002c00| 20 20 20 20 20 63 6f 75 | 6e 74 3d 60 65 78 70 72 | cou|nt=`expr|
|00002c10| 20 24 63 6f 75 6e 74 20 | 2d 20 31 60 0a 58 09 20 | $count |- 1`.X. |
|00002c20| 20 64 6f 6e 65 0a 58 20 | 20 20 20 20 20 66 69 0a | done.X | fi.|
|00002c30| 58 20 20 20 20 20 20 23 | 0a 58 20 20 20 20 20 20 |X #|.X |
|00002c40| 65 63 68 6f 20 22 54 45 | 53 54 7c 24 4c 6d 73 67 |echo "TE|ST|$Lmsg|
|00002c50| 22 20 3e 3e 24 54 4d 50 | 54 49 4d 45 53 0a 58 20 |" >>$TMP|TIMES.X |
|00002c60| 20 20 20 20 20 65 63 68 | 6f 20 22 46 4c 41 56 4f | ech|o "FLAVO|
|00002c70| 52 7c 24 7b 46 4c 41 56 | 4f 52 7d 22 20 3e 3e 24 |R|${FLAV|OR}" >>$|
|00002c80| 54 4d 50 54 49 4d 45 53 | 0a 58 20 20 20 20 20 20 |TMPTIMES|.X |
|00002c90| 69 66 20 5b 20 22 24 72 | 75 6e 6f 70 74 69 6f 6e |if [ "$r|unoption|
|00002ca0| 22 20 21 3d 20 27 51 27 | 20 5d 0a 58 20 20 20 20 |" != 'Q'| ].X |
|00002cb0| 20 20 74 68 65 6e 0a 58 | 09 20 20 20 20 20 20 65 | then.X|. e|
|00002cc0| 63 68 6f 20 22 22 0a 58 | 09 20 20 20 20 20 20 69 |cho "".X|. i|
|00002cd0| 66 20 5b 20 24 46 4c 41 | 56 4f 52 20 3d 20 22 53 |f [ $FLA|VOR = "S|
|00002ce0| 79 73 56 22 20 5d 0a 58 | 09 09 20 74 68 65 6e 20 |ysV" ].X|.. then |
|00002cf0| 65 63 68 6f 20 22 24 4c | 6d 73 67 20 5c 63 22 0a |echo "$L|msg \c".|
|00002d00| 58 09 09 20 65 6c 73 65 | 20 65 63 68 6f 20 2d 6e |X.. else| echo -n|
|00002d10| 20 22 24 4c 6d 73 67 20 | 22 0a 58 09 20 20 20 20 | "$Lmsg |".X. |
|00002d20| 20 20 66 69 0a 58 09 0a | 58 20 20 20 20 20 20 66 | fi.X..|X f|
|00002d30| 69 0a 58 20 20 20 20 20 | 20 66 6f 72 20 69 20 69 |i.X | for i i|
|00002d40| 6e 20 24 72 65 70 65 61 | 74 09 09 09 20 23 20 6c |n $repea|t... # l|
|00002d50| 6f 6f 70 20 66 6f 72 20 | 74 68 65 20 73 70 65 63 |oop for |the spec|
|00002d60| 69 66 69 65 64 20 6e 75 | 6d 62 65 72 0a 58 20 20 |ified nu|mber.X |
|00002d70| 20 20 20 20 64 6f 20 20 | 23 20 64 6f 20 64 65 70 | do |# do dep|
|00002d80| 74 68 20 33 0a 58 20 20 | 20 20 20 20 20 20 20 20 |th 3.X | |
|00002d90| 69 66 20 5b 20 22 24 72 | 75 6e 6f 70 74 69 6f 6e |if [ "$r|unoption|
|00002da0| 22 20 21 3d 20 27 44 27 | 20 5d 20 20 23 20 6c 65 |" != 'D'| ] # le|
|00002db0| 76 65 6c 20 31 0a 58 09 | 20 20 74 68 65 6e 0a 58 |vel 1.X.| then.X|
|00002dc0| 09 20 20 20 20 23 20 72 | 65 67 75 6c 61 72 20 52 |. # r|egular R|
|00002dd0| 75 6e 20 2d 20 73 65 74 | 20 6c 6f 67 66 69 6c 65 |un - set| logfile|
|00002de0| 20 74 6f 20 67 6f 20 6f | 6e 20 73 69 67 6e 61 6c | to go o|n signal|
|00002df0| 0a 58 20 20 20 20 20 20 | 20 20 20 20 20 20 74 72 |.X | tr|
|00002e00| 61 70 20 22 24 7b 42 49 | 4e 44 49 52 7d 2f 63 6c |ap "${BI|NDIR}/cl|
|00002e10| 65 61 6e 75 70 2e 73 68 | 20 2d 4c 20 24 4c 4f 47 |eanup.sh| -L $LOG|
|00002e20| 46 49 4c 45 20 2d 69 20 | 24 69 20 24 63 6c 65 61 |FILE -i |$i $clea|
|00002e30| 6e 6f 70 74 20 2d 61 3b | 20 65 78 69 74 22 20 31 |nopt -a;| exit" 1|
|00002e40| 20 32 20 33 20 31 35 0a | 58 09 20 20 65 6c 73 65 | 2 3 15.|X. else|
|00002e50| 0a 58 20 20 20 20 20 20 | 20 20 20 20 20 20 74 72 |.X | tr|
|00002e60| 61 70 20 22 65 78 69 74 | 22 20 31 20 32 20 33 20 |ap "exit|" 1 2 3 |
|00002e70| 31 35 0a 58 09 20 20 66 | 69 20 23 65 6e 64 20 6c |15.X. f|i #end l|
|00002e80| 65 76 65 6c 20 31 0a 58 | 09 20 20 23 20 6d 61 6b |evel 1.X|. # mak|
|00002e90| 65 20 61 6e 20 61 74 74 | 65 6d 70 74 20 74 6f 20 |e an att|empt to |
|00002ea0| 66 6c 75 73 68 20 62 75 | 66 66 65 72 73 0a 58 09 |flush bu|ffers.X.|
|00002eb0| 20 20 73 79 6e 63 3b 20 | 73 79 6e 63 3b 20 73 6c | sync; |sync; sl|
|00002ec0| 65 65 70 20 31 30 0a 58 | 09 20 20 23 20 64 69 73 |eep 10.X|. # dis|
|00002ed0| 70 6c 61 79 20 68 65 61 | 72 74 62 65 61 74 0a 58 |play hea|rtbeat.X|
|00002ee0| 20 20 20 20 20 20 20 20 | 20 20 69 66 20 5b 20 22 | | if [ "|
|00002ef0| 24 72 75 6e 6f 70 74 69 | 6f 6e 22 20 21 3d 20 27 |$runopti|on" != '|
|00002f00| 51 27 20 5d 0a 58 09 20 | 20 74 68 65 6e 0a 58 09 |Q' ].X. | then.X.|
|00002f10| 20 20 20 20 20 20 69 66 | 20 5b 20 24 46 4c 41 56 | if| [ $FLAV|
|00002f20| 4f 52 20 3d 20 22 53 79 | 73 56 22 20 5d 0a 58 09 |OR = "Sy|sV" ].X.|
|00002f30| 20 20 20 20 20 20 20 20 | 20 74 68 65 6e 20 65 63 | | then ec|
|00002f40| 68 6f 20 22 20 24 69 5c | 63 22 20 20 20 20 20 20 |ho " $i\|c" |
|00002f50| 23 20 64 69 73 70 6c 61 | 79 20 72 65 70 65 61 74 |# displa|y repeat|
|00002f60| 20 6e 75 6d 62 65 72 0a | 58 09 20 20 20 20 20 20 | number.|X. |
|00002f70| 20 20 20 65 6c 73 65 20 | 65 63 68 6f 20 2d 6e 20 | else |echo -n |
|00002f80| 22 20 24 69 22 0a 58 09 | 20 20 20 20 20 20 66 69 |" $i".X.| fi|
|00002f90| 0a 58 09 20 20 66 69 0a | 58 09 20 20 70 77 64 3d |.X. fi.|X. pwd=|
|00002fa0| 60 70 77 64 60 20 20 20 | 20 20 20 20 20 20 20 20 |`pwd` | |
|00002fb0| 20 20 20 20 20 20 20 20 | 20 20 23 20 72 65 6d 65 | | # reme|
|00002fc0| 6d 62 65 72 20 77 68 65 | 72 65 20 77 65 20 61 72 |mber whe|re we ar|
|00002fd0| 65 0a 58 09 20 20 63 64 | 20 24 74 65 73 74 64 69 |e.X. cd| $testdi|
|00002fe0| 72 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |r | |
|00002ff0| 20 20 20 20 23 20 6d 6f | 76 65 20 74 6f 20 74 68 | # mo|ve to th|
|00003000| 65 20 74 65 73 74 20 64 | 69 72 65 63 74 6f 72 79 |e test d|irectory|
|00003010| 0a 58 09 20 20 69 66 20 | 5b 20 22 24 72 75 6e 6f |.X. if |[ "$runo|
|00003020| 70 74 69 6f 6e 22 20 3d | 20 22 56 22 20 5d 0a 58 |ption" =| "V" ].X|
|00003030| 09 20 20 74 68 65 6e 0a | 58 09 09 65 63 68 6f 0a |. then.|X..echo.|
|00003040| 58 09 09 65 63 68 6f 20 | 22 42 45 4e 43 48 20 43 |X..echo |"BENCH C|
|00003050| 4f 4d 4d 41 4e 44 20 54 | 4f 20 42 45 20 45 58 45 |OMMAND T|O BE EXE|
|00003060| 43 55 54 45 44 3a 22 0a | 58 09 09 65 63 68 6f 20 |CUTED:".|X..echo |
|00003070| 22 24 70 72 6f 67 20 24 | 6f 70 74 22 0a 58 09 20 |"$prog $|opt".X. |
|00003080| 20 66 69 0a 58 0a 58 09 | 20 20 23 20 65 78 65 63 | fi.X.X.| # exec|
|00003090| 75 74 65 20 61 6e 79 20 | 70 72 65 70 72 61 74 6f |ute any |preprato|
|000030a0| 72 79 20 63 6f 6d 6d 61 | 6e 64 20 73 74 72 69 6e |ry comma|nd strin|
|000030b0| 67 0a 58 09 20 20 69 66 | 20 5b 20 2d 6e 20 22 24 |g.X. if| [ -n "$|
|000030c0| 70 72 65 70 22 20 5d 0a | 58 09 20 20 74 68 65 6e |prep" ].|X. then|
|000030d0| 0a 58 09 20 20 20 20 24 | 70 72 65 70 20 32 3e 26 |.X. $|prep 2>&|
|000030e0| 31 20 3e 3e 24 73 74 64 | 6f 75 74 20 0a 58 09 20 |1 >>$std|out .X. |
|000030f0| 20 66 69 0a 58 09 20 20 | 23 23 23 23 23 23 23 23 | fi.X. |########|
|00003100| 23 23 23 23 20 54 48 45 | 20 42 45 4e 43 48 20 49 |#### THE| BENCH I|
|00003110| 53 20 54 49 4d 45 44 20 | 23 23 23 23 23 23 23 23 |S TIMED |########|
|00003120| 23 23 23 23 23 23 0a 58 | 20 20 20 20 20 20 20 20 |######.X| |
|00003130| 20 20 69 66 20 74 65 73 | 74 20 22 24 73 74 64 69 | if tes|t "$stdi|
|00003140| 6e 22 20 3d 20 22 22 20 | 20 0a 58 20 20 20 20 20 |n" = "" | .X |
|00003150| 20 20 20 20 20 74 68 65 | 6e 20 23 20 77 69 74 68 | the|n # with|
|00003160| 6f 75 74 20 72 65 64 69 | 72 65 63 74 65 64 20 73 |out redi|rected s|
|00003170| 74 64 69 6e 0a 58 20 20 | 20 20 20 20 20 20 20 20 |tdin.X | |
|00003180| 20 20 20 2f 62 69 6e 2f | 74 69 6d 65 20 24 70 72 | /bin/|time $pr|
|00003190| 6f 67 20 24 6f 70 74 20 | 24 62 67 73 74 72 20 32 |og $opt |$bgstr 2|
|000031a0| 3e 3e 24 54 4d 50 54 49 | 4d 45 53 20 3e 3e 24 73 |>>$TMPTI|MES >>$s|
|000031b0| 74 64 6f 75 74 0a 58 20 | 20 20 20 20 20 20 20 20 |tdout.X | |
|000031c0| 20 65 6c 73 65 20 23 20 | 77 69 74 68 20 72 65 64 | else # |with red|
|000031d0| 69 72 65 63 74 65 64 20 | 73 74 64 69 6e 0a 58 20 |irected |stdin.X |
|000031e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 2f 62 69 6e | | /bin|
|000031f0| 2f 74 69 6d 65 20 24 70 | 72 6f 67 20 24 6f 70 74 |/time $p|rog $opt|
|00003200| 20 24 62 67 73 74 72 20 | 3c 24 73 74 64 69 6e 20 | $bgstr |<$stdin |
|00003210| 32 3e 3e 24 54 4d 50 54 | 49 4d 45 53 20 3e 3e 24 |2>>$TMPT|IMES >>$|
|00003220| 73 74 64 6f 75 74 0a 58 | 20 20 20 20 20 20 20 20 |stdout.X| |
|00003230| 20 20 66 69 20 0a 58 09 | 20 20 2f 62 69 6e 2f 74 | fi .X.| /bin/t|
|00003240| 69 6d 65 20 24 62 65 6e | 63 68 63 6d 64 0a 58 09 |ime $ben|chcmd.X.|
|00003250| 20 20 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 | ######|########|
|00003260| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00003270| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00003280| 23 0a 58 09 20 20 63 64 | 20 24 70 77 64 20 20 20 |#.X. cd| $pwd |
|00003290| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000032a0| 20 23 20 6d 6f 76 65 20 | 62 61 63 6b 20 68 6f 6d | # move |back hom|
|000032b0| 65 0a 58 20 20 20 20 20 | 20 20 20 20 20 73 74 61 |e.X | sta|
|000032c0| 74 75 73 3d 24 3f 20 20 | 20 20 20 20 20 20 20 20 |tus=$? | |
|000032d0| 20 20 20 20 20 20 20 20 | 23 20 73 61 76 65 20 74 | |# save t|
|000032e0| 68 65 20 72 65 73 75 6c | 74 20 63 6f 64 65 0a 58 |he resul|t code.X|
|000032f0| 20 20 20 20 20 20 20 20 | 20 20 69 66 20 74 65 73 | | if tes|
|00003300| 74 20 24 73 74 61 74 75 | 73 20 21 3d 20 30 20 23 |t $statu|s != 0 #|
|00003310| 20 6d 75 73 74 20 68 61 | 76 65 20 62 65 65 6e 20 | must ha|ve been |
|00003320| 61 6e 20 65 72 72 6f 72 | 0a 58 20 20 20 20 20 20 |an error|.X |
|00003330| 20 20 20 20 74 68 65 6e | 0a 58 20 20 20 20 20 20 | then|.X |
|00003340| 20 20 20 20 20 69 66 20 | 74 65 73 74 20 2d 66 20 | if |test -f |
|00003350| 24 54 4d 50 54 49 4d 45 | 53 20 23 20 69 73 20 74 |$TMPTIME|S # is t|
|00003360| 68 65 72 65 20 61 6e 20 | 65 72 72 6f 72 20 66 69 |here an |error fi|
|00003370| 6c 65 20 3f 0a 58 20 20 | 20 20 20 20 20 20 20 20 |le ?.X | |
|00003380| 20 74 68 65 6e 0a 58 20 | 20 20 20 20 20 20 20 20 | then.X | |
|00003390| 20 20 20 20 20 20 20 63 | 70 20 24 54 4d 50 54 49 | c|p $TMPTI|
|000033a0| 4d 45 53 20 24 7b 54 4d | 50 44 49 52 7d 2f 73 61 |MES ${TM|PDIR}/sa|
|000033b0| 76 65 2e 24 62 65 6e 63 | 68 2e 24 70 61 72 61 6d |ve.$benc|h.$param|
|000033c0| 0a 58 20 20 20 20 20 20 | 20 20 20 20 20 20 24 7b |.X | ${|
|000033d0| 53 43 52 50 44 49 52 7d | 2f 63 6c 65 61 6e 75 70 |SCRPDIR}|/cleanup|
|000033e0| 2e 73 68 20 2d 4c 20 24 | 4c 4f 47 46 49 4c 45 20 |.sh -L $|LOGFILE |
|000033f0| 2d 69 20 24 69 20 24 63 | 6c 65 61 6e 6f 70 74 20 |-i $i $c|leanopt |
|00003400| 2d 72 20 5c 0a 58 09 20 | 20 20 20 20 20 20 22 72 |-r \.X. | "r|
|00003410| 75 6e 3a 20 62 65 6e 63 | 68 3d 24 62 65 6e 63 68 |un: benc|h=$bench|
|00003420| 20 70 61 72 61 6d 3d 24 | 70 61 72 61 6d 20 66 61 | param=$|param fa|
|00003430| 74 61 6c 73 74 61 74 75 | 73 3d 24 73 74 61 74 75 |talstatu|s=$statu|
|00003440| 73 22 20 2d 61 0a 58 20 | 20 20 20 20 20 20 20 20 |s" -a.X | |
|00003450| 20 20 65 6c 73 65 0a 58 | 20 20 20 20 20 20 20 20 | else.X| |
|00003460| 20 20 20 20 24 7b 53 43 | 52 50 44 49 52 7d 2f 63 | ${SC|RPDIR}/c|
|00003470| 6c 65 61 6e 75 70 2e 73 | 68 20 2d 4c 20 24 4c 4f |leanup.s|h -L $LO|
|00003480| 47 46 49 4c 45 20 2d 72 | 20 5c 0a 58 09 20 20 20 |GFILE -r| \.X. |
|00003490| 20 20 20 20 22 72 75 6e | 3a 20 62 65 6e 63 68 3d | "run|: bench=|
|000034a0| 24 62 65 6e 63 68 20 70 | 61 72 61 6d 3d 24 70 61 |$bench p|aram=$pa|
|000034b0| 72 61 6d 20 66 61 74 61 | 6c 73 74 61 74 75 73 3d |ram fata|lstatus=|
|000034c0| 24 73 74 61 74 75 73 22 | 20 2d 61 0a 58 20 20 20 |$status"| -a.X |
|000034d0| 20 20 20 20 20 20 20 20 | 66 69 20 0a 58 20 20 20 | |fi .X |
|000034e0| 20 20 20 20 20 20 20 20 | 65 78 69 74 20 23 20 6c | |exit # l|
|000034f0| 65 61 76 65 20 74 68 65 | 20 73 63 72 69 70 74 20 |eave the| script |
|00003500| 69 66 20 74 68 65 72 65 | 20 61 72 65 20 65 72 72 |if there| are err|
|00003510| 6f 72 73 0a 58 20 20 20 | 20 20 20 20 20 20 20 66 |ors.X | f|
|00003520| 69 20 23 20 65 6e 64 20 | 20 6c 65 76 65 6c 20 31 |i # end | level 1|
|00003530| 0a 58 20 20 20 20 20 20 | 64 6f 6e 65 20 23 20 65 |.X |done # e|
|00003540| 6e 64 20 64 6f 20 64 65 | 70 74 68 20 33 20 2d 20 |nd do de|pth 3 - |
|00003550| 72 65 70 65 61 74 20 6f | 66 20 62 65 6e 63 68 0a |repeat o|f bench.|
|00003560| 58 20 20 20 20 20 20 69 | 66 20 5b 20 22 24 72 75 |X i|f [ "$ru|
|00003570| 6e 6f 70 74 69 6f 6e 22 | 20 21 3d 20 27 44 27 20 |noption"| != 'D' |
|00003580| 5d 0a 58 20 20 20 20 20 | 20 74 68 65 6e 0a 58 20 |].X | then.X |
|00003590| 20 20 20 20 20 20 20 24 | 7b 53 43 52 50 44 49 52 | $|{SCRPDIR|
|000035a0| 7d 2f 63 6c 65 61 6e 75 | 70 2e 73 68 20 2d 4c 20 |}/cleanu|p.sh -L |
|000035b0| 24 4c 4f 47 46 49 4c 45 | 20 24 63 6c 65 61 6e 6f |$LOGFILE| $cleano|
|000035c0| 70 74 20 23 20 66 69 6e | 61 6c 69 7a 65 20 74 68 |pt # fin|alize th|
|000035d0| 69 73 20 62 65 6e 63 68 | 0a 58 09 09 09 09 09 09 |is bench|.X......|
|000035e0| 20 23 20 77 69 74 68 20 | 74 68 65 73 65 20 6f 70 | # with |these op|
|000035f0| 74 69 6f 6e 73 0a 58 09 | 09 09 09 09 09 20 23 20 |tions.X.|..... # |
|00003600| 26 20 63 61 6c 63 75 6c | 61 74 65 20 72 65 73 75 |& calcul|ate resu|
|00003610| 6c 74 73 0a 58 20 20 20 | 20 20 20 66 69 0a 58 20 |lts.X | fi.X |
|00003620| 20 20 20 64 6f 6e 65 20 | 23 20 65 6e 64 20 64 6f | done |# end do|
|00003630| 20 64 65 70 74 68 20 32 | 20 2d 20 65 6e 64 20 6f | depth 2| - end o|
|00003640| 66 20 61 6c 6c 20 6f 70 | 74 69 6f 6e 73 20 66 6f |f all op|tions fo|
|00003650| 72 20 74 68 69 73 20 62 | 65 6e 63 68 0a 58 0a 58 |r this b|ench.X.X|
|00003660| 20 20 20 20 23 23 23 23 | 23 23 23 23 23 23 23 20 | ####|####### |
|00003670| 73 6f 6d 65 20 73 70 65 | 63 69 66 69 63 20 63 6c |some spe|cific cl|
|00003680| 65 61 6e 75 70 20 72 6f | 75 74 69 6e 65 73 20 23 |eanup ro|utines #|
|00003690| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 0a 58 20 |########|#####.X |
|000036a0| 20 20 20 63 61 73 65 20 | 24 62 65 6e 63 68 0a 58 | case |$bench.X|
|000036b0| 20 20 20 20 69 6e 0a 58 | 20 20 20 20 20 20 43 29 | in.X| C)|
|000036c0| 0a 58 20 20 20 20 20 20 | 72 6d 20 2d 66 20 24 7b |.X |rm -f ${|
|000036d0| 54 45 53 54 44 49 52 7d | 2f 63 63 74 65 73 74 2e |TESTDIR}|/cctest.|
|000036e0| 6f 20 24 7b 54 45 53 54 | 44 49 52 7d 2f 61 2e 6f |o ${TEST|DIR}/a.o|
|000036f0| 75 74 0a 58 20 20 20 20 | 20 20 3b 3b 0a 58 0a 58 |ut.X | ;;.X.X|
|00003700| 20 20 20 20 20 20 66 73 | 74 69 6d 65 29 0a 58 20 | fs|time).X |
|00003710| 20 20 20 20 20 73 79 6e | 63 3b 20 73 6c 65 65 70 | syn|c; sleep|
|00003720| 20 32 30 0a 58 20 20 20 | 20 20 20 3b 3b 0a 58 20 | 20.X | ;;.X |
|00003730| 20 20 20 65 73 61 63 0a | 58 20 20 20 20 69 66 20 | esac.|X if |
|00003740| 5b 20 22 24 72 75 6e 6f | 70 74 69 6f 6e 22 20 21 |[ "$runo|ption" !|
|00003750| 3d 20 27 51 27 20 5d 0a | 58 20 20 20 20 74 68 65 |= 'Q' ].|X the|
|00003760| 6e 0a 58 20 20 20 20 20 | 20 20 65 63 68 6f 20 22 |n.X | echo "|
|00003770| 22 0a 58 20 20 20 20 66 | 69 0a 64 6f 6e 65 20 23 |".X f|i.done #|
|00003780| 20 65 6e 64 20 64 6f 20 | 6c 65 76 65 6c 20 31 20 | end do |level 1 |
|00003790| 20 2d 20 61 6c 6c 20 62 | 65 6e 63 68 6d 61 72 6b | - all b|enchmark|
|000037a0| 73 20 72 65 71 75 65 73 | 74 65 64 0a 58 23 23 23 |s reques|ted.X###|
|000037b0| 23 23 23 23 23 23 23 20 | 61 20 66 65 77 20 6c 61 |####### |a few la|
|000037c0| 73 74 20 69 74 65 6d 73 | 20 66 6f 72 20 74 68 65 |st items| for the|
|000037d0| 20 65 6e 64 20 23 23 23 | 23 23 23 23 23 23 23 23 | end ###|########|
|000037e0| 23 23 23 0a 65 63 68 6f | 20 22 22 20 3e 3e 24 4c |###.echo| "" >>$L|
|000037f0| 4f 47 46 49 4c 45 0a 65 | 63 68 6f 20 22 45 6e 64 |OGFILE.e|cho "End|
|00003800| 20 42 65 6e 63 68 6d 61 | 72 6b 20 52 75 6e 3a 20 | Benchma|rk Run: |
|00003810| 60 64 61 74 65 60 22 20 | 3e 3e 24 4c 4f 47 46 49 |`date`" |>>$LOGFI|
|00003820| 4c 45 0a 65 63 68 6f 20 | 22 20 22 20 60 77 68 6f |LE.echo |" " `who|
|00003830| 20 7c 20 77 63 20 2d 6c | 60 20 22 69 6e 74 65 72 | | wc -l|` "inter|
|00003840| 61 63 74 69 76 65 20 75 | 73 65 72 73 2e 22 20 3e |active u|sers." >|
|00003850| 3e 24 4c 4f 47 46 49 4c | 45 0a 58 23 20 63 72 65 |>$LOGFIL|E.X# cre|
|00003860| 61 74 65 20 74 68 65 20 | 72 65 70 6f 72 74 0a 58 |ate the |report.X|
|00003870| 24 7b 53 43 52 50 44 49 | 52 7d 2f 72 65 70 6f 72 |${SCRPDI|R}/repor|
|00003880| 74 2e 73 68 20 24 4c 4f | 47 46 49 4c 45 20 3e 20 |t.sh $LO|GFILE > |
|00003890| 24 52 45 50 4f 52 54 4c | 4f 47 20 0a 58 24 7b 53 |$REPORTL|OG .X${S|
|000038a0| 43 52 50 44 49 52 7d 2f | 69 6e 64 65 78 2e 73 68 |CRPDIR}/|index.sh|
|000038b0| 20 24 7b 53 43 52 50 44 | 49 52 7d 2f 69 6e 64 65 | ${SCRPD|IR}/inde|
|000038c0| 78 2e 62 61 73 65 20 24 | 4c 4f 47 46 49 4c 45 20 |x.base $|LOGFILE |
|000038d0| 3e 3e 20 24 52 45 50 4f | 52 54 4c 4f 47 0a 69 66 |>> $REPO|RTLOG.if|
|000038e0| 20 5b 20 22 24 72 75 6e | 6f 70 74 69 6f 6e 22 20 | [ "$run|option" |
|000038f0| 21 3d 20 27 51 27 20 5d | 0a 74 68 65 6e 0a 58 20 |!= 'Q' ]|.then.X |
|00003900| 20 65 63 68 6f 20 22 22 | 0a 58 20 20 65 63 68 6f | echo ""|.X echo|
|00003910| 20 22 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d | "======|========|
|00003920| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003930| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003940| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003950| 22 0a 58 20 20 63 61 74 | 20 24 52 45 50 4f 52 54 |".X cat| $REPORT|
|00003960| 4c 4f 47 0a 66 69 0a 58 | 0a 65 78 69 74 0a 58 23 |LOG.fi.X|.exit.X#|
|00003970| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00003980| 23 23 23 23 23 23 23 23 | 23 23 20 41 6d 65 6e 20 |########|## Amen |
|00003990| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000039a0| 23 23 23 23 23 23 0a 45 | 4e 44 5f 4f 46 5f 46 49 |######.E|ND_OF_FI|
|000039b0| 4c 45 0a 69 66 20 74 65 | 73 74 20 31 33 33 30 35 |LE.if te|st 13305|
|000039c0| 20 2d 6e 65 20 60 77 63 | 20 2d 63 20 3c 27 52 75 | -ne `wc| -c <'Ru|
|000039d0| 6e 27 60 3b 20 74 68 65 | 6e 0a 20 20 20 20 65 63 |n'`; the|n. ec|
|000039e0| 68 6f 20 73 68 61 72 3a | 20 5c 22 27 52 75 6e 27 |ho shar:| \"'Run'|
|000039f0| 5c 22 20 75 6e 70 61 63 | 6b 65 64 20 77 69 74 68 |\" unpac|ked with|
|00003a00| 20 77 72 6f 6e 67 20 73 | 69 7a 65 21 0a 66 69 0a | wrong s|ize!.fi.|
|00003a10| 63 68 6d 6f 64 20 2b 78 | 20 27 52 75 6e 27 0a 23 |chmod +x| 'Run'.#|
|00003a20| 20 65 6e 64 20 6f 66 20 | 27 52 75 6e 27 0a 66 69 | end of |'Run'.fi|
|00003a30| 0a 69 66 20 74 65 73 74 | 20 2d 66 20 27 64 6f 63 |.if test| -f 'doc|
|00003a40| 2f 62 65 6e 63 68 2e 64 | 6f 63 27 20 2d 61 20 22 |/bench.d|oc' -a "|
|00003a50| 24 7b 31 7d 22 20 21 3d | 20 22 2d 63 22 20 3b 20 |${1}" !=| "-c" ; |
|00003a60| 74 68 65 6e 20 0a 20 20 | 65 63 68 6f 20 73 68 61 |then . |echo sha|
|00003a70| 72 3a 20 57 69 6c 6c 20 | 6e 6f 74 20 63 6c 6f 62 |r: Will |not clob|
|00003a80| 62 65 72 20 65 78 69 73 | 74 69 6e 67 20 66 69 6c |ber exis|ting fil|
|00003a90| 65 20 5c 22 27 64 6f 63 | 2f 62 65 6e 63 68 2e 64 |e \"'doc|/bench.d|
|00003aa0| 6f 63 27 5c 22 0a 65 6c | 73 65 0a 65 63 68 6f 20 |oc'\".el|se.echo |
|00003ab0| 73 68 61 72 3a 20 45 78 | 74 72 61 63 74 69 6e 67 |shar: Ex|tracting|
|00003ac0| 20 5c 22 27 64 6f 63 2f | 62 65 6e 63 68 2e 64 6f | \"'doc/|bench.do|
|00003ad0| 63 27 5c 22 20 5c 28 31 | 34 36 38 32 20 63 68 61 |c'\" \(1|4682 cha|
|00003ae0| 72 61 63 74 65 72 73 5c | 29 0a 73 65 64 20 22 73 |racters\|).sed "s|
|00003af0| 2f 5e 58 2f 2f 22 20 3e | 27 64 6f 63 2f 62 65 6e |/^X//" >|'doc/ben|
|00003b00| 63 68 2e 64 6f 63 27 20 | 3c 3c 27 45 4e 44 5f 4f |ch.doc' |<<'END_O|
|00003b10| 46 5f 46 49 4c 45 27 0a | 58 40 42 54 0a 58 0a 58 |F_FILE'.|X@BT.X.X|
|00003b20| 5b 54 49 54 4c 45 5d 42 | 59 54 45 27 73 20 55 4e |[TITLE]B|YTE's UN|
|00003b30| 49 58 20 42 65 6e 63 68 | 6d 61 72 6b 73 0a 58 5b |IX Bench|marks.X[|
|00003b40| 44 45 4b 5d 53 65 70 61 | 72 61 74 69 6e 67 20 66 |DEK]Sepa|rating f|
|00003b50| 61 63 74 20 66 72 6f 6d | 20 66 69 63 74 69 6f 6e |act from| fiction|
|00003b60| 20 69 6e 20 74 68 65 20 | 65 78 70 6c 6f 64 69 6e | in the |explodin|
|00003b70| 67 20 55 4e 49 58 20 65 | 6d 70 69 72 65 0a 58 5b |g UNIX e|mpire.X[|
|00003b80| 54 4f 43 5d 42 65 66 6f | 72 65 20 79 6f 75 20 6a |TOC]Befo|re you j|
|00003b90| 75 6d 70 20 69 6e 74 6f | 20 74 68 65 20 55 4e 49 |ump into| the UNI|
|00003ba0| 58 20 70 6f 6f 6c 2c 20 | 73 65 65 20 68 6f 77 20 |X pool, |see how |
|00003bb0| 79 6f 75 72 20 66 61 76 | 6f 72 69 74 65 20 73 79 |your fav|orite sy|
|00003bc0| 73 74 65 6d 20 73 74 61 | 63 6b 73 0a 75 70 20 61 |stem sta|cks.up a|
|00003bd0| 67 61 69 6e 73 74 20 74 | 68 65 20 72 65 73 74 20 |gainst t|he rest |
|00003be0| 6f 66 20 74 68 65 20 70 | 61 63 6b 2e 0a 58 0a 42 |of the p|ack..X.B|
|00003bf0| 65 6e 20 53 6d 69 74 68 | 0a 58 0a 49 6e 20 6d 61 |en Smith|.X.In ma|
|00003c00| 6b 69 6e 67 20 70 75 72 | 63 68 61 73 65 20 64 65 |king pur|chase de|
|00003c10| 63 69 73 69 6f 6e 73 2c | 20 69 74 27 73 20 64 69 |cisions,| it's di|
|00003c20| 66 66 69 63 75 6c 74 20 | 74 6f 20 6b 6e 6f 77 20 |fficult |to know |
|00003c30| 77 68 6f 6d 20 74 6f 20 | 62 65 6c 69 65 76 65 2e |whom to |believe.|
|00003c40| 20 45 61 63 68 0a 76 65 | 6e 64 6f 72 20 63 6c 61 | Each.ve|ndor cla|
|00003c50| 69 6d 73 2c 20 70 72 65 | 64 69 63 74 61 62 6c 79 |ims, pre|dictably|
|00003c60| 2c 20 74 68 61 74 20 74 | 68 65 69 72 20 70 72 6f |, that t|heir pro|
|00003c70| 64 75 63 74 73 20 61 72 | 65 20 62 65 74 74 65 72 |ducts ar|e better|
|00003c80| 20 74 68 61 6e 20 74 68 | 65 0a 63 6f 6d 70 65 74 | than th|e.compet|
|00003c90| 69 74 69 6f 6e 27 73 2c | 20 62 75 74 20 68 6f 77 |ition's,| but how|
|00003ca0| 20 64 6f 65 73 20 6f 6e | 65 20 70 72 6f 76 65 2c | does on|e prove,|
|00003cb0| 20 6f 72 20 64 65 62 75 | 6e 6b 2c 20 74 68 65 73 | or debu|nk, thes|
|00003cc0| 65 20 63 6c 61 69 6d 73 | 3f 0a 58 20 20 43 6f 73 |e claims|?.X Cos|
|00003cd0| 74 20 61 6e 64 20 70 65 | 72 66 6f 72 6d 61 6e 63 |t and pe|rformanc|
|00003ce0| 65 20 74 79 70 69 63 61 | 6c 6c 79 20 74 6f 70 20 |e typica|lly top |
|00003cf0| 74 68 65 20 6c 69 73 74 | 20 6f 66 20 63 6f 6e 73 |the list| of cons|
|00003d00| 69 64 65 72 61 74 69 6f | 6e 73 20 66 6f 72 20 74 |ideratio|ns for t|
|00003d10| 68 6f 73 65 0a 73 65 65 | 6b 69 6e 67 20 74 6f 20 |hose.see|king to |
|00003d20| 70 75 72 63 68 61 73 65 | 20 65 71 75 69 70 6d 65 |purchase| equipme|
|00003d30| 6e 74 2c 20 61 6e 64 20 | 77 68 69 6c 65 20 63 6f |nt, and |while co|
|00003d40| 73 74 20 63 61 6e 20 62 | 65 20 65 61 73 69 6c 79 |st can b|e easily|
|00003d50| 20 63 6f 6d 70 61 72 65 | 64 2c 0a 70 65 72 66 6f | compare|d,.perfo|
|00003d60| 72 6d 61 6e 63 65 20 63 | 61 6e 6e 6f 74 2c 20 61 |rmance c|annot, a|
|00003d70| 6e 64 20 63 6f 6d 70 61 | 72 69 6e 67 20 63 6f 73 |nd compa|ring cos|
|00003d80| 74 73 20 77 69 74 68 6f | 75 74 20 61 6e 61 6c 79 |ts witho|ut analy|
|00003d90| 7a 69 6e 67 20 65 61 63 | 68 20 73 79 73 74 65 6d |zing eac|h system|
|00003da0| 27 73 0a 72 65 6c 61 74 | 69 76 65 20 76 61 6c 75 |'s.relat|ive valu|
|00003db0| 65 20 69 73 20 61 20 77 | 6f 72 74 68 6c 65 73 73 |e is a w|orthless|
|00003dc0| 20 65 78 65 72 63 69 73 | 65 2e 0a 58 20 20 57 68 | exercis|e..X Wh|
|00003dd0| 65 6e 20 44 4f 53 20 62 | 65 63 61 6d 65 20 70 6f |en DOS b|ecame po|
|00003de0| 70 75 6c 61 72 2c 20 69 | 74 20 61 6c 6c 6f 77 65 |pular, i|t allowe|
|00003df0| 64 20 66 6f 72 20 74 68 | 65 20 64 65 76 65 6c 6f |d for th|e develo|
|00003e00| 70 6d 65 6e 74 20 6f 66 | 20 70 65 72 66 6f 72 6d |pment of| perform|
|00003e10| 61 6e 63 65 0a 6d 65 61 | 73 75 72 65 6d 65 6e 74 |ance.mea|surement|
|00003e20| 20 70 72 6f 67 72 61 6d | 73 2c 20 62 65 6e 63 68 | program|s, bench|
|00003e30| 6d 61 72 6b 73 2c 20 74 | 68 61 74 20 77 6f 75 6c |marks, t|hat woul|
|00003e40| 64 20 72 75 6e 20 6f 6e | 20 61 6e 79 20 73 79 73 |d run on| any sys|
|00003e50| 74 65 6d 20 74 68 61 74 | 20 72 61 6e 20 44 4f 53 |tem that| ran DOS|
|00003e60| 2e 0a 42 59 54 45 27 73 | 20 6c 61 62 20 74 65 63 |..BYTE's| lab tec|
|00003e70| 68 6e 69 63 69 61 6e 73 | 20 73 65 74 20 61 62 6f |hnicians| set abo|
|00003e80| 75 74 20 63 72 65 61 74 | 69 6e 67 20 74 68 65 69 |ut creat|ing thei|
|00003e90| 72 20 6f 77 6e 2c 20 61 | 6e 64 20 74 68 65 20 42 |r own, a|nd the B|
|00003ea0| 59 54 45 20 44 4f 53 0a | 62 65 6e 63 68 6d 61 72 |YTE DOS.|benchmar|
|00003eb0| 6b 73 20 77 65 72 65 20 | 62 6f 72 6e 2e 20 44 6f |ks were |born. Do|
|00003ec0| 7a 65 6e 73 20 6f 66 20 | 73 79 73 74 65 6d 73 20 |zens of |systems |
|00003ed0| 68 61 76 65 20 62 65 65 | 6e 20 63 6c 6f 63 6b 65 |have bee|n clocke|
|00003ee0| 64 20 75 73 69 6e 67 20 | 74 68 65 73 65 0a 66 61 |d using |these.fa|
|00003ef0| 63 69 6c 69 74 69 65 73 | 2c 20 61 6e 64 20 65 61 |cilities|, and ea|
|00003f00| 63 68 20 72 65 76 69 65 | 77 20 6f 66 20 61 20 6e |ch revie|w of a n|
|00003f10| 65 77 20 44 4f 53 2d 62 | 61 73 65 64 20 73 79 73 |ew DOS-b|ased sys|
|00003f20| 74 65 6d 20 69 6e 63 6c | 75 64 65 73 20 74 68 65 |tem incl|udes the|
|00003f30| 20 72 65 73 75 6c 74 73 | 20 6f 66 0a 74 68 65 73 | results| of.thes|
|00003f40| 65 20 62 65 6e 63 68 6d | 61 72 6b 73 2e 0a 58 20 |e benchm|arks..X |
|00003f50| 20 54 68 69 73 20 69 73 | 20 61 6c 6c 20 76 65 72 | This is| all ver|
|00003f60| 79 20 77 65 6c 6c 2c 20 | 62 75 74 20 77 68 69 6c |y well, |but whil|
|00003f70| 65 20 44 4f 53 20 69 73 | 20 69 6e 73 74 61 6c 6c |e DOS is| install|
|00003f80| 65 64 20 6f 6e 20 61 20 | 67 72 65 61 74 20 6d 61 |ed on a |great ma|
|00003f90| 6e 79 20 73 79 73 74 65 | 6d 73 2c 0a 69 74 20 69 |ny syste|ms,.it i|
|00003fa0| 73 20 6e 6f 20 6c 6f 6e | 67 65 72 20 74 68 65 20 |s no lon|ger the |
|00003fb0| 21 49 54 41 4c 21 6f 6e | 6c 79 21 45 4e 44 49 54 |!ITAL!on|ly!ENDIT|
|00003fc0| 41 4c 21 20 70 6f 70 75 | 6c 61 72 20 6d 75 6c 74 |AL! popu|lar mult|
|00003fd0| 69 2d 70 6c 61 74 66 6f | 72 6d 20 6f 70 65 72 61 |i-platfo|rm opera|
|00003fe0| 74 69 6e 67 0a 73 79 73 | 74 65 6d 2e 20 55 73 65 |ting.sys|tem. Use|
|00003ff0| 72 20 64 65 6d 61 6e 64 | 73 20 66 6f 72 20 67 72 |r demand|s for gr|
|00004000| 65 61 74 65 72 20 65 78 | 70 61 6e 64 61 62 69 6c |eater ex|pandabil|
|00004010| 69 74 79 2c 20 62 65 74 | 74 65 72 20 70 65 72 66 |ity, bet|ter perf|
|00004020| 6f 72 6d 61 6e 63 65 20 | 61 6e 64 0a 6d 75 6c 74 |ormance |and.mult|
|00004030| 69 2d 74 61 73 6b 69 6e | 67 20 68 61 76 65 20 74 |i-taskin|g have t|
|00004040| 75 72 6e 65 64 20 55 4e | 49 58 20 73 79 73 74 65 |urned UN|IX syste|
|00004050| 6d 73 20 69 6e 74 6f 20 | 6f 6e 65 20 6f 66 20 74 |ms into |one of t|
|00004060| 68 65 20 66 61 73 74 65 | 73 74 20 67 72 6f 77 69 |he faste|st growi|
|00004070| 6e 67 0a 73 65 67 6d 65 | 6e 74 73 20 6f 66 20 74 |ng.segme|nts of t|
|00004080| 68 65 20 6d 61 72 6b 65 | 74 2e 20 57 68 65 6e 20 |he marke|t. When |
|00004090| 55 4e 49 58 20 73 74 65 | 70 70 65 64 20 66 72 6f |UNIX ste|pped fro|
|000040a0| 6d 20 6d 69 6e 69 63 6f | 6d 70 75 74 65 72 73 20 |m minico|mputers |
|000040b0| 74 6f 20 77 6f 72 6b 73 | 74 61 74 69 6f 6e 73 2c |to works|tations,|
|000040c0| 0a 69 74 20 65 73 74 61 | 62 6c 69 73 68 65 64 20 |.it esta|blished |
|000040d0| 69 74 73 65 6c 66 20 61 | 73 20 74 68 65 20 64 65 |itself a|s the de|
|000040e0| 66 61 63 74 6f 20 4f 53 | 20 66 6f 72 20 61 6e 20 |facto OS| for an |
|000040f0| 65 78 63 69 74 69 6e 67 | 20 6e 65 77 20 62 72 65 |exciting| new bre|
|00004100| 65 64 20 6f 66 20 6d 61 | 63 68 69 6e 65 2e 0a 4e |ed of ma|chine..N|
|00004110| 6f 77 2c 20 77 69 74 68 | 20 73 6f 6c 69 64 20 69 |ow, with| solid i|
|00004120| 6d 70 6c 65 6d 65 6e 74 | 61 74 69 6f 6e 73 20 66 |mplement|ations f|
|00004130| 6f 72 20 61 66 66 6f 72 | 64 61 62 6c 65 20 49 6e |or affor|dable In|
|00004140| 74 65 6c 20 61 6e 64 20 | 4d 6f 74 6f 72 6f 6c 61 |tel and |Motorola|
|00004150| 2d 62 61 73 65 64 0a 70 | 6c 61 74 66 6f 72 6d 73 |-based.p|latforms|
|00004160| 2c 20 55 4e 49 58 20 69 | 73 20 6d 61 6b 69 6e 67 |, UNIX i|s making|
|00004170| 20 61 20 6e 61 6d 65 20 | 66 6f 72 20 69 74 73 65 | a name |for itse|
|00004180| 6c 66 20 69 6e 20 74 68 | 65 20 50 43 20 72 65 61 |lf in th|e PC rea|
|00004190| 6c 6d 2e 20 41 73 20 55 | 4e 49 58 20 66 69 6e 64 |lm. As U|NIX find|
|000041a0| 73 0a 69 74 73 20 77 61 | 79 20 69 6e 74 6f 20 74 |s.its wa|y into t|
|000041b0| 68 65 20 6d 61 69 6e 73 | 74 72 65 61 6d 2c 20 69 |he mains|tream, i|
|000041c0| 74 20 69 73 20 6e 65 63 | 65 73 73 61 72 79 20 74 |t is nec|essary t|
|000041d0| 6f 20 68 61 76 65 20 74 | 68 65 20 74 6f 6f 6c 73 |o have t|he tools|
|000041e0| 20 74 6f 20 6f 62 6a 65 | 63 74 69 76 65 6c 79 0a | to obje|ctively.|
|000041f0| 6d 65 61 73 75 72 65 20 | 6e 6f 74 20 6f 6e 6c 79 |measure |not only|
|00004200| 20 74 68 65 20 70 65 72 | 66 6f 72 6d 61 6e 63 65 | the per|formance|
|00004210| 20 6f 66 20 76 61 72 69 | 6f 75 73 20 68 61 72 64 | of vari|ous hard|
|00004220| 77 61 72 65 20 70 6c 61 | 74 66 6f 72 6d 73 2c 20 |ware pla|tforms, |
|00004230| 62 75 74 20 6f 66 0a 64 | 69 66 66 65 72 65 6e 74 |but of.d|ifferent|
|00004240| 20 76 65 72 73 69 6f 6e | 73 20 6f 66 20 55 4e 49 | version|s of UNI|
|00004250| 58 20 61 73 20 77 65 6c | 6c 2e 0a 58 0a 58 21 53 |X as wel|l..X.X!S|
|00004260| 55 42 48 45 44 21 55 6e | 69 78 20 69 73 20 4e 6f |UBHED!Un|ix is No|
|00004270| 74 20 4d 53 2d 44 4f 53 | 21 45 4e 44 53 55 42 48 |t MS-DOS|!ENDSUBH|
|00004280| 45 44 21 0a 43 6f 6e 63 | 65 70 74 75 61 6c 6c 79 |ED!.Conc|eptually|
|00004290| 2c 20 42 59 54 45 27 73 | 20 55 4e 49 58 20 62 65 |, BYTE's| UNIX be|
|000042a0| 6e 63 68 6d 61 72 6b 73 | 20 61 72 65 20 74 68 65 |nchmarks| are the|
|000042b0| 20 73 61 6d 65 20 61 73 | 20 42 59 54 45 27 73 20 | same as| BYTE's |
|000042c0| 4d 53 2d 44 4f 53 0a 62 | 65 6e 63 68 6d 61 72 6b |MS-DOS.b|enchmark|
|000042d0| 73 3a 20 57 65 20 68 61 | 76 65 20 63 6f 6d 62 69 |s: We ha|ve combi|
|000042e0| 6e 65 64 20 65 76 61 6c | 75 61 74 69 6f 6e 20 6f |ned eval|uation o|
|000042f0| 66 20 62 6f 74 68 20 6c | 6f 77 2d 6c 65 76 65 6c |f both l|ow-level|
|00004300| 20 6f 70 65 72 61 74 69 | 6f 6e 73 20 61 6e 64 0a | operati|ons and.|
|00004310| 68 69 67 68 2d 6c 65 76 | 65 6c 20 61 70 70 6c 69 |high-lev|el appli|
|00004320| 63 61 74 69 6f 6e 73 20 | 74 79 70 65 20 70 72 6f |cations |type pro|
|00004330| 67 72 61 6d 73 20 74 6f | 20 68 69 67 68 6c 69 67 |grams to| highlig|
|00004340| 68 74 20 74 68 65 20 70 | 65 72 66 6f 72 6d 61 6e |ht the p|erforman|
|00004350| 63 65 20 6f 66 20 74 68 | 65 0a 65 6e 74 69 72 65 |ce of th|e.entire|
|00004360| 20 73 79 73 74 65 6d 2e | 0a 58 20 20 42 75 74 20 | system.|.X But |
|00004370| 55 4e 49 58 20 69 73 20 | 63 6f 6e 73 69 64 65 72 |UNIX is |consider|
|00004380| 61 62 6c 79 20 64 69 66 | 66 65 72 65 6e 74 20 66 |ably dif|ferent f|
|00004390| 72 6f 6d 20 4d 53 2d 44 | 4f 53 2e 20 49 6e 20 74 |rom MS-D|OS. In t|
|000043a0| 68 65 20 66 69 72 73 74 | 20 70 6c 61 63 65 2c 20 |he first| place, |
|000043b0| 69 74 20 69 73 20 61 0a | 58 21 49 54 41 4c 21 6d |it is a.|X!ITAL!m|
|000043c0| 75 6c 74 69 21 45 4e 44 | 49 54 41 4c 21 2d 74 61 |ulti!END|ITAL!-ta|
|000043d0| 73 6b 69 6e 67 2c 20 21 | 49 54 41 4c 21 6d 75 6c |sking, !|ITAL!mul|
|000043e0| 74 69 21 45 4e 44 49 54 | 41 4c 21 2d 75 73 65 72 |ti!ENDIT|AL!-user|
|000043f0| 20 6f 70 65 72 61 74 69 | 6e 67 20 73 79 73 74 65 | operati|ng syste|
|00004400| 6d 2e 20 49 74 0a 69 73 | 20 61 6c 73 6f 20 70 6f |m. It.is| also po|
|00004410| 72 74 61 62 6c 65 2c 20 | 61 62 6c 65 20 74 6f 20 |rtable, |able to |
|00004420| 72 75 6e 20 6f 6e 20 6d | 61 6e 79 20 64 69 66 66 |run on m|any diff|
|00004430| 65 72 65 6e 74 20 6b 69 | 6e 64 73 20 6f 66 20 63 |erent ki|nds of c|
|00004440| 6f 6d 70 75 74 65 72 73 | 2e 20 4d 53 2d 44 4f 53 |omputers|. MS-DOS|
|00004450| 20 69 73 0a 61 20 21 49 | 54 41 4c 21 73 69 6e 67 | is.a !I|TAL!sing|
|00004460| 6c 65 21 45 4e 44 49 54 | 41 4c 21 2d 74 61 73 6b |le!ENDIT|AL!-task|
|00004470| 69 6e 67 2c 20 21 49 54 | 41 4c 21 73 69 6e 67 6c |ing, !IT|AL!singl|
|00004480| 65 21 45 4e 44 49 54 41 | 4c 21 2d 75 73 65 72 20 |e!ENDITA|L!-user |
|00004490| 6f 70 65 72 61 74 69 6e | 67 20 73 79 73 74 65 6d |operatin|g system|
|000044a0| 2c 0a 61 6e 64 20 69 74 | 20 69 73 20 69 6e 74 65 |,.and it| is inte|
|000044b0| 6e 64 65 64 20 74 6f 20 | 72 75 6e 20 6f 6e 20 65 |nded to |run on e|
|000044c0| 73 73 65 6e 74 69 61 6c | 6c 79 20 6f 6e 65 20 6b |ssential|ly one k|
|000044d0| 69 6e 64 20 6f 66 20 63 | 6f 6d 70 75 74 65 72 2c |ind of c|omputer,|
|000044e0| 20 61 6e 20 49 42 4d 2d | 50 43 20 6f 72 0a 50 43 | an IBM-|PC or.PC|
|000044f0| 20 60 60 63 6c 6f 6e 65 | 2c 27 27 20 75 74 69 6c | ``clone|,'' util|
|00004500| 69 7a 69 6e 67 20 61 20 | 73 70 65 63 69 66 69 63 |izing a |specific|
|00004510| 20 63 6c 61 73 73 20 6f | 66 20 70 72 6f 63 65 73 | class o|f proces|
|00004520| 73 6f 72 20 66 72 6f 6d | 20 49 6e 74 65 6c 2e 20 |sor from| Intel. |
|00004530| 41 73 20 61 0a 72 65 73 | 75 6c 74 2c 20 74 68 65 |As a.res|ult, the|
|00004540| 20 55 4e 49 58 20 62 65 | 6e 63 68 6d 61 72 6b 73 | UNIX be|nchmarks|
|00004550| 20 64 69 66 66 65 72 20 | 66 72 6f 6d 20 74 68 65 | differ |from the|
|00004560| 69 72 20 4d 53 2d 44 4f | 53 20 63 6f 75 6e 74 65 |ir MS-DO|S counte|
|00004570| 72 70 61 72 74 73 2e 20 | 45 76 65 6e 0a 74 68 6f |rparts. |Even.tho|
|00004580| 75 67 68 20 74 68 65 72 | 65 20 61 72 65 20 73 6f |ugh ther|e are so|
|00004590| 6d 65 20 65 71 75 69 76 | 61 6c 65 6e 74 20 6c 6f |me equiv|alent lo|
|000045a0| 77 2d 6c 65 76 65 6c 20 | 74 65 73 74 73 2c 20 79 |w-level |tests, y|
|000045b0| 6f 75 20 77 69 6c 6c 20 | 66 69 6e 64 20 74 68 61 |ou will |find tha|
|000045c0| 74 20 65 76 65 6e 0a 74 | 68 65 73 65 20 72 75 6e |t even.t|hese run|
|000045d0| 20 64 69 66 66 65 72 65 | 6e 74 6c 79 3b 20 74 68 | differe|ntly; th|
|000045e0| 65 20 70 6f 70 75 6c 61 | 72 20 44 68 72 79 73 74 |e popula|r Dhryst|
|000045f0| 6f 6e 65 20 62 65 6e 63 | 68 6d 61 72 6b 20 63 6f |one benc|hmark co|
|00004600| 6d 6d 6f 6e 6c 79 20 67 | 69 76 65 73 0a 64 69 66 |mmonly g|ives.dif|
|00004610| 66 65 72 65 6e 74 20 72 | 65 73 75 6c 74 73 2c 20 |ferent r|esults, |
|00004620| 6f 6e 20 74 68 65 20 73 | 61 6d 65 20 68 61 72 64 |on the s|ame hard|
|00004630| 77 61 72 65 2c 20 77 68 | 65 6e 20 72 75 6e 20 75 |ware, wh|en run u|
|00004640| 6e 64 65 72 20 62 6f 74 | 68 20 44 4f 53 20 61 6e |nder bot|h DOS an|
|00004650| 64 20 55 4e 49 58 2e 0a | 54 68 65 20 72 65 61 73 |d UNIX..|The reas|
|00004660| 6f 6e 3f 20 44 69 66 66 | 65 72 65 6e 74 20 63 6f |on? Diff|erent co|
|00004670| 6d 70 69 6c 65 72 73 20 | 61 72 65 20 62 65 69 6e |mpilers |are bein|
|00004680| 67 20 75 73 65 64 2c 20 | 61 6e 64 20 74 68 65 20 |g used, |and the |
|00004690| 75 6e 64 65 72 6c 79 69 | 6e 67 20 6f 70 65 72 61 |underlyi|ng opera|
|000046a0| 74 69 6e 67 0a 73 79 73 | 74 65 6d 73 20 61 6e 64 |ting.sys|tems and|
|000046b0| 20 73 65 72 76 69 63 65 | 73 20 61 72 65 20 77 69 | service|s are wi|
|000046c0| 6c 64 6c 79 20 64 69 66 | 66 65 72 65 6e 74 2e 0a |ldly dif|ferent..|
|000046d0| 58 20 20 41 6e 6f 74 68 | 65 72 20 69 6d 70 6f 72 |X Anoth|er impor|
|000046e0| 74 61 6e 74 20 64 69 66 | 66 65 72 65 6e 63 65 20 |tant dif|ference |
|000046f0| 69 73 20 74 68 61 74 20 | 4d 69 63 72 6f 73 6f 66 |is that |Microsof|
|00004700| 74 20 69 73 20 74 68 65 | 20 6f 6e 6c 79 20 72 65 |t is the| only re|
|00004710| 61 6c 20 73 6f 75 72 63 | 65 20 6f 66 0a 44 4f 53 |al sourc|e of.DOS|
|00004720| 3b 20 6f 74 68 65 72 20 | 73 75 70 70 6c 69 65 72 |; other |supplier|
|00004730| 73 20 73 69 6d 70 6c 79 | 20 72 65 70 61 63 6b 61 |s simply| repacka|
|00004740| 67 65 20 4d 69 63 72 6f | 73 6f 66 74 27 73 20 62 |ge Micro|soft's b|
|00004750| 61 73 69 63 20 6f 70 65 | 72 61 74 69 6e 67 20 73 |asic ope|rating s|
|00004760| 79 73 74 65 6d 0a 75 6e | 64 65 72 20 6f 74 68 65 |ystem.un|der othe|
|00004770| 72 20 6e 61 6d 65 73 2e | 20 49 6e 20 63 6f 6e 74 |r names.| In cont|
|00004780| 72 61 73 74 2c 20 74 68 | 65 72 65 20 61 72 65 20 |rast, th|ere are |
|00004790| 6d 61 6e 79 20 64 69 66 | 66 65 72 65 6e 74 20 6b |many dif|ferent k|
|000047a0| 69 6e 64 73 20 6f 66 20 | 55 4e 49 58 2c 20 61 6e |inds of |UNIX, an|
|000047b0| 64 0a 77 68 69 6c 65 20 | 73 69 6d 69 6c 61 72 69 |d.while |similari|
|000047c0| 74 69 65 73 20 65 78 69 | 73 74 20 28 74 68 65 20 |ties exi|st (the |
|000047d0| 63 6f 72 65 20 55 4e 49 | 58 20 66 72 6f 6d 20 44 |core UNI|X from D|
|000047e0| 65 6c 6c 2c 20 45 76 65 | 72 65 78 20 61 6e 64 20 |ell, Eve|rex and |
|000047f0| 49 6e 74 65 72 61 63 74 | 69 76 65 0a 53 79 73 74 |Interact|ive.Syst|
|00004800| 65 6d 73 20 61 72 65 20 | 76 69 72 74 75 61 6c 6c |ems are |virtuall|
|00004810| 79 20 74 68 65 20 73 61 | 6d 65 29 2c 20 74 68 65 |y the sa|me), the|
|00004820| 72 65 20 61 72 65 20 55 | 4e 49 58 20 61 6e 64 20 |re are U|NIX and |
|00004830| 55 4e 49 58 2d 6c 69 6b | 65 20 6f 70 65 72 61 74 |UNIX-lik|e operat|
|00004840| 69 6e 67 0a 73 79 73 74 | 65 6d 73 20 74 68 61 74 |ing.syst|ems that|
|00004850| 20 64 69 66 66 65 72 20 | 67 72 65 61 74 6c 79 20 | differ |greatly |
|00004860| 66 72 6f 6d 20 6f 6e 65 | 20 61 6e 6f 74 68 65 72 |from one| another|
|00004870| 2e 20 43 6f 6e 63 6c 75 | 73 69 6f 6e 3a 20 54 68 |. Conclu|sion: Th|
|00004880| 65 20 55 4e 49 58 20 62 | 65 6e 63 68 6d 61 72 6b |e UNIX b|enchmark|
|00004890| 73 0a 61 72 65 20 65 76 | 61 6c 75 61 74 69 6e 67 |s.are ev|aluating|
|000048a0| 20 74 68 65 20 69 6d 70 | 6c 65 6d 65 6e 74 61 74 | the imp|lementat|
|000048b0| 69 6f 6e 20 6f 66 20 55 | 4e 49 58 20 61 6e 64 20 |ion of U|NIX and |
|000048c0| 74 68 65 20 72 65 73 69 | 64 65 6e 74 20 63 6f 6d |the resi|dent com|
|000048d0| 70 69 6c 65 72 20 61 73 | 20 77 65 6c 6c 0a 61 73 |piler as| well.as|
|000048e0| 20 74 68 65 20 68 61 72 | 64 77 61 72 65 20 6f 6e | the har|dware on|
|000048f0| 20 77 68 69 63 68 20 69 | 74 20 69 73 20 72 75 6e | which i|t is run|
|00004900| 6e 69 6e 67 20 28 74 68 | 65 20 4d 53 2d 44 4f 53 |ning (th|e MS-DOS|
|00004910| 20 61 6e 64 20 41 70 70 | 6c 65 20 4d 61 63 69 6e | and App|le Macin|
|00004920| 74 6f 73 68 0a 62 65 6e | 63 68 6d 61 72 6b 73 20 |tosh.ben|chmarks |
|00004930| 75 73 65 20 61 20 63 6f | 6d 6d 6f 6e 20 63 6f 6d |use a co|mmon com|
|00004940| 70 69 6c 65 72 2c 20 74 | 68 65 20 70 75 62 6c 69 |piler, t|he publi|
|00004950| 63 2d 64 6f 6d 61 69 6e | 20 53 6d 61 6c 6c 20 43 |c-domain| Small C|
|00004960| 29 2e 0a 58 20 20 57 69 | 74 68 20 73 6f 20 6d 61 |)..X Wi|th so ma|
|00004970| 6e 79 20 76 61 72 69 61 | 62 6c 65 73 2c 20 77 68 |ny varia|bles, wh|
|00004980| 61 74 20 69 73 20 63 6f | 6e 73 74 61 6e 74 3f 20 |at is co|nstant? |
|00004990| 57 65 6c 6c 2c 20 77 65 | 20 68 61 76 65 20 65 73 |Well, we| have es|
|000049a0| 74 61 62 6c 69 73 68 65 | 64 20 61 0a 62 61 73 65 |tablishe|d a.base|
|000049b0| 6c 69 6e 65 2c 20 53 43 | 4f 20 58 65 6e 69 78 20 |line, SC|O Xenix |
|000049c0| 33 38 36 20 76 65 72 73 | 69 6f 6e 20 32 2e 33 2e |386 vers|ion 2.3.|
|000049d0| 31 2e 20 72 75 6e 6e 69 | 6e 67 20 6f 6e 20 74 68 |1. runni|ng on th|
|000049e0| 65 20 45 76 65 72 65 78 | 20 33 38 36 2f 33 33 20 |e Everex| 386/33 |
|000049f0| 77 69 74 68 20 34 0a 4d | 62 79 74 65 73 20 6f 66 |with 4.M|bytes of|
|00004a00| 20 52 41 4d 20 61 6e 64 | 20 61 6e 20 38 30 33 38 | RAM and| an 8038|
|00004a10| 37 20 6d 61 74 68 20 63 | 6f 70 72 6f 63 65 73 73 |7 math c|oprocess|
|00004a20| 6f 72 2e 20 57 68 69 6c | 65 20 69 74 20 69 73 6e |or. Whil|e it isn|
|00004a30| 27 74 20 55 4e 49 58 20 | 70 65 72 20 73 65 0a 58 |'t UNIX |per se.X|
|00004a40| 28 62 65 63 61 75 73 65 | 20 41 54 26 54 20 64 65 |(because| AT&T de|
|00004a50| 63 69 64 65 73 20 77 68 | 69 63 68 20 69 6d 70 6c |cides wh|ich impl|
|00004a60| 65 6d 65 6e 74 61 74 69 | 6f 6e 73 20 6d 61 79 20 |ementati|ons may |
|00004a70| 62 65 20 63 61 6c 6c 65 | 64 20 60 60 55 4e 49 58 |be calle|d ``UNIX|
|00004a80| 27 27 29 2c 20 69 74 20 | 69 73 0a 6d 6f 72 65 20 |''), it |is.more |
|00004a90| 70 6f 70 75 6c 61 72 20 | 74 68 61 6e 20 61 6e 79 |popular |than any|
|00004aa0| 20 6f 74 68 65 72 20 50 | 43 20 55 4e 49 58 20 69 | other P|C UNIX i|
|00004ab0| 6d 70 6c 65 6d 65 6e 74 | 61 74 69 6f 6e 2e 20 49 |mplement|ation. I|
|00004ac0| 74 20 69 73 20 73 70 65 | 63 69 66 69 63 61 6c 6c |t is spe|cificall|
|00004ad0| 79 0a 64 65 73 69 67 6e | 65 64 20 66 6f 72 20 38 |y.design|ed for 8|
|00004ae0| 30 33 38 36 2d 62 61 73 | 65 64 20 63 6f 6d 70 75 |0386-bas|ed compu|
|00004af0| 74 65 72 73 20 77 69 74 | 68 20 66 75 6c 6c 20 33 |ters wit|h full 3|
|00004b00| 32 20 62 69 74 20 6d 65 | 6d 6f 72 79 20 61 63 63 |2 bit me|mory acc|
|00004b10| 65 73 73 2e 20 54 68 65 | 20 45 76 65 72 65 78 0a |ess. The| Everex.|
|00004b20| 58 33 38 36 2f 33 33 20 | 77 61 73 20 63 68 6f 73 |X386/33 |was chos|
|00004b30| 65 6e 20 62 65 63 61 75 | 73 65 20 69 74 20 69 73 |en becau|se it is|
|00004b40| 20 6f 6e 65 20 6f 66 20 | 74 6f 64 61 79 27 73 20 | one of |today's |
|00004b50| 68 69 67 68 65 73 74 20 | 70 65 72 66 6f 72 6d 61 |highest |performa|
|00004b60| 6e 63 65 20 33 38 36 0a | 63 6f 6d 70 75 74 65 72 |nce 386.|computer|
|00004b70| 73 20 70 72 6f 70 65 72 | 6c 79 20 63 6f 6e 66 69 |s proper|ly confi|
|00004b80| 67 75 72 65 64 20 74 6f | 20 72 75 6e 20 74 68 65 |gured to| run the|
|00004b90| 20 66 75 6c 6c 20 33 32 | 20 62 69 74 20 6f 70 65 | full 32| bit ope|
|00004ba0| 72 61 74 69 6e 67 20 73 | 79 73 74 65 6d 2e 20 28 |rating s|ystem. (|
|00004bb0| 53 6f 6d 65 0a 58 33 38 | 36 20 63 6f 6d 70 75 74 |Some.X38|6 comput|
|00004bc0| 65 72 73 20 63 61 6e 6e | 6f 74 20 61 63 63 65 73 |ers cann|ot acces|
|00004bd0| 73 20 6d 65 6d 6f 72 79 | 20 74 68 72 6f 75 67 68 |s memory| through|
|00004be0| 20 73 69 6e 67 6c 65 20 | 33 32 20 62 69 74 20 6f | single |32 bit o|
|00004bf0| 70 65 72 61 74 69 6f 6e | 73 3b 20 73 6d 61 6c 6c |peration|s; small|
|00004c00| 0a 6d 61 74 74 65 72 20 | 69 66 20 79 6f 75 20 61 |.matter |if you a|
|00004c10| 72 65 20 6a 75 73 74 20 | 72 75 6e 6e 69 6e 67 20 |re just |running |
|00004c20| 4d 53 2d 44 4f 53 2c 20 | 61 6e 20 38 20 62 69 74 |MS-DOS, |an 8 bit|
|00004c30| 20 6f 70 65 72 61 74 69 | 6e 67 20 73 79 73 74 65 | operati|ng syste|
|00004c40| 6d 2c 20 62 75 74 20 73 | 65 72 69 6f 75 73 0a 69 |m, but s|erious.i|
|00004c50| 66 20 79 6f 75 20 77 61 | 6e 74 20 74 6f 20 72 75 |f you wa|nt to ru|
|00004c60| 6e 20 55 4e 49 58 2e 29 | 20 54 68 69 73 20 63 6f |n UNIX.)| This co|
|00004c70| 6d 62 69 6e 61 74 69 6f | 6e 20 6f 66 20 73 79 73 |mbinatio|n of sys|
|00004c80| 74 65 6d 20 61 6e 64 20 | 4f 53 20 69 73 20 74 69 |tem and |OS is ti|
|00004c90| 6d 65 6c 79 2c 20 62 75 | 74 0a 77 65 27 6c 6c 20 |mely, bu|t.we'll |
|00004ca0| 63 6f 6e 74 69 6e 75 65 | 20 74 6f 20 61 64 6a 75 |continue| to adju|
|00004cb0| 73 74 20 74 68 65 20 62 | 61 73 65 6c 69 6e 65 20 |st the b|aseline |
|00004cc0| 61 73 20 6e 65 65 64 65 | 64 20 74 6f 20 72 65 66 |as neede|d to ref|
|00004cd0| 6c 65 63 74 20 74 68 65 | 20 69 6e 73 74 61 6c 6c |lect the| install|
|00004ce0| 65 64 20 50 43 0a 61 6e | 64 20 77 6f 72 6b 73 74 |ed PC.an|d workst|
|00004cf0| 61 74 69 6f 6e 20 55 4e | 49 58 20 62 61 73 65 2e |ation UN|IX base.|
|00004d00| 0a 58 0a 58 21 53 55 42 | 48 45 44 21 54 68 65 20 |.X.X!SUB|HED!The |
|00004d10| 4c 6f 77 20 4c 65 76 65 | 6c 20 42 65 6e 63 68 20 |Low Leve|l Bench |
|00004d20| 50 72 6f 67 72 61 6d 73 | 21 45 4e 44 53 55 42 48 |Programs|!ENDSUBH|
|00004d30| 45 44 21 0a 54 68 65 20 | 42 59 54 45 20 55 4e 49 |ED!.The |BYTE UNI|
|00004d40| 58 20 62 65 6e 63 68 6d | 61 72 6b 73 20 63 6f 6e |X benchm|arks con|
|00004d50| 73 69 73 74 20 6f 66 20 | 65 69 67 68 74 20 67 72 |sist of |eight gr|
|00004d60| 6f 75 70 73 20 6f 66 20 | 70 72 6f 67 72 61 6d 73 |oups of |programs|
|00004d70| 3a 20 61 72 69 74 68 6d | 65 74 69 63 2c 0a 73 79 |: arithm|etic,.sy|
|00004d80| 73 74 65 6d 20 63 61 6c | 6c 73 2c 20 6d 65 6d 6f |stem cal|ls, memo|
|00004d90| 72 79 20 6f 70 65 72 61 | 74 69 6f 6e 73 2c 20 64 |ry opera|tions, d|
|00004da0| 69 73 6b 20 6f 70 65 72 | 61 74 69 6f 6e 73 2c 20 |isk oper|ations, |
|00004db0| 64 68 72 79 73 74 6f 6e | 65 2c 20 64 61 74 61 62 |dhryston|e, datab|
|00004dc0| 61 73 65 0a 6f 70 65 72 | 61 74 69 6f 6e 73 2c 20 |ase.oper|ations, |
|00004dd0| 73 79 73 74 65 6d 20 6c | 6f 61 64 69 6e 67 2c 20 |system l|oading, |
|00004de0| 61 6e 64 20 6d 69 73 63 | 65 6c 6c 61 6e 65 6f 75 |and misc|ellaneou|
|00004df0| 73 2e 20 54 68 65 73 65 | 20 63 61 6e 20 62 65 20 |s. These| can be |
|00004e00| 72 6f 75 67 68 6c 79 20 | 64 69 76 69 64 65 64 0a |roughly |divided.|
|00004e10| 69 6e 74 6f 20 74 68 65 | 20 6c 6f 77 2d 6c 65 76 |into the| low-lev|
|00004e20| 65 6c 20 74 65 73 74 73 | 20 28 61 72 69 74 68 6d |el tests| (arithm|
|00004e30| 65 74 69 63 2c 20 73 79 | 73 74 65 6d 20 63 61 6c |etic, sy|stem cal|
|00004e40| 6c 73 2c 20 6d 65 6d 6f | 72 79 2c 20 64 69 73 6b |ls, memo|ry, disk|
|00004e50| 2c 20 61 6e 64 0a 64 68 | 72 79 73 74 6f 6e 65 29 |, and.dh|rystone)|
|00004e60| 20 61 6e 64 20 68 69 67 | 68 2d 6c 65 76 65 6c 20 | and hig|h-level |
|00004e70| 74 65 73 74 73 20 28 64 | 61 74 61 62 61 73 65 20 |tests (d|atabase |
|00004e80| 6f 70 65 72 61 74 69 6f | 6e 73 2c 20 73 79 73 74 |operatio|ns, syst|
|00004e90| 65 6d 20 6c 6f 61 64 69 | 6e 67 2c 20 61 6e 64 20 |em loadi|ng, and |
|00004ea0| 74 68 65 0a 43 2d 63 6f | 6d 70 69 6c 65 72 20 74 |the.C-co|mpiler t|
|00004eb0| 65 73 74 20 74 68 61 74 | 20 69 73 20 70 61 72 74 |est that| is part|
|00004ec0| 20 6f 66 20 74 68 65 20 | 6d 69 73 63 65 6c 6c 61 | of the |miscella|
|00004ed0| 6e 65 6f 75 73 20 73 65 | 74 29 2e 0a 58 20 20 54 |neous se|t)..X T|
|00004ee0| 68 65 20 44 68 72 79 73 | 74 6f 6e 65 20 74 65 73 |he Dhrys|tone tes|
|00004ef0| 74 20 69 73 20 6b 6e 6f | 77 6e 20 6d 6f 72 65 20 |t is kno|wn more |
|00004f00| 66 6f 72 6d 61 6c 6c 79 | 20 61 73 20 60 60 44 68 |formally| as ``Dh|
|00004f10| 72 79 73 74 6f 6e 65 20 | 32 27 27 2e 20 49 74 20 |rystone |2''. It |
|00004f20| 70 65 72 66 6f 72 6d 73 | 0a 6e 6f 20 66 6c 6f 61 |performs|.no floa|
|00004f30| 74 69 6e 67 2d 70 6f 69 | 6e 74 20 6f 70 65 72 61 |ting-poi|nt opera|
|00004f40| 74 69 6f 6e 73 2c 20 62 | 75 74 20 69 74 20 64 6f |tions, b|ut it do|
|00004f50| 65 73 20 69 6e 76 6f 6c | 76 65 20 61 72 72 61 79 |es invol|ve array|
|00004f60| 73 2c 20 63 68 61 72 61 | 63 74 65 72 20 73 74 72 |s, chara|cter str|
|00004f70| 69 6e 67 73 2c 0a 69 6e | 64 69 72 65 63 74 20 61 |ings,.in|direct a|
|00004f80| 64 64 72 65 73 73 69 6e | 67 2c 20 61 6e 64 20 6d |ddressin|g, and m|
|00004f90| 6f 73 74 20 6f 66 20 74 | 68 65 20 6e 6f 6e 2d 66 |ost of t|he non-f|
|00004fa0| 6c 6f 61 74 69 6e 67 20 | 70 6f 69 6e 74 20 69 6e |loating |point in|
|00004fb0| 73 74 72 75 63 74 69 6f | 6e 73 20 74 68 61 74 0a |structio|ns that.|
|00004fc0| 6d 69 67 68 74 20 62 65 | 20 66 6f 75 6e 64 20 69 |might be| found i|
|00004fd0| 6e 20 61 6e 20 61 70 70 | 6c 69 63 61 74 69 6f 6e |n an app|lication|
|00004fe0| 20 70 72 6f 67 72 61 6d | 2e 20 49 74 20 61 6c 73 | program|. It als|
|00004ff0| 6f 20 69 6e 63 6c 75 64 | 65 73 20 63 6f 6e 64 69 |o includ|es condi|
|00005000| 74 69 6f 6e 61 6c 0a 6f | 70 65 72 61 74 69 6f 6e |tional.o|peration|
|00005010| 73 20 61 6e 64 20 6f 74 | 68 65 72 20 63 6f 6d 6d |s and ot|her comm|
|00005020| 6f 6e 20 70 72 6f 67 72 | 61 6d 20 66 6c 6f 77 20 |on progr|am flow |
|00005030| 63 6f 6e 74 72 6f 6c 73 | 2e 20 54 68 65 20 6f 75 |controls|. The ou|
|00005040| 74 70 75 74 20 6f 66 20 | 74 68 65 20 74 65 73 74 |tput of |the test|
|00005050| 20 69 73 0a 74 68 65 20 | 6e 75 6d 62 65 72 20 6f | is.the |number o|
|00005060| 66 20 64 68 72 79 73 74 | 6f 6e 65 20 6c 6f 6f 70 |f dhryst|one loop|
|00005070| 73 20 70 65 72 20 73 65 | 63 6f 6e 64 2e 20 49 74 |s per se|cond. It|
|00005080| 20 69 73 20 75 73 65 64 | 20 69 6e 20 74 68 65 20 | is used| in the |
|00005090| 42 59 54 45 20 62 65 6e | 63 68 6d 61 72 6b 73 0a |BYTE ben|chmarks.|
|000050a0| 62 65 63 61 75 73 65 20 | 6f 66 20 69 74 73 20 77 |because |of its w|
|000050b0| 69 64 65 20 73 65 6c 65 | 63 74 69 6f 6e 20 6f 66 |ide sele|ction of|
|000050c0| 20 6f 70 65 72 61 74 69 | 6f 6e 73 20 61 6e 64 20 | operati|ons and |
|000050d0| 62 65 63 61 75 73 65 20 | 69 74 20 69 73 20 6f 6e |because |it is on|
|000050e0| 65 20 6f 66 20 74 68 65 | 20 6d 6f 73 74 0a 77 69 |e of the| most.wi|
|000050f0| 64 65 6c 79 20 72 75 6e | 20 62 65 6e 63 68 6d 61 |dely run| benchma|
|00005100| 72 6b 20 70 72 6f 67 72 | 61 6d 73 2e 0a 58 20 20 |rk progr|ams..X |
|00005110| 41 20 66 75 74 75 72 65 | 20 76 65 72 73 69 6f 6e |A future| version|
|00005120| 20 6f 66 20 74 68 65 20 | 42 59 54 45 20 55 4e 49 | of the |BYTE UNI|
|00005130| 58 20 62 65 6e 63 68 6d | 61 72 6b 73 20 77 69 6c |X benchm|arks wil|
|00005140| 6c 20 69 6e 63 6c 75 64 | 65 20 74 68 65 20 57 68 |l includ|e the Wh|
|00005150| 65 74 73 74 6f 6e 65 0a | 62 65 6e 63 68 6d 61 72 |etstone.|benchmar|
|00005160| 6b 20 74 65 73 74 20 70 | 72 6f 67 72 61 6d 2c 20 |k test p|rogram, |
|00005170| 61 73 20 77 65 6c 6c 2e | 20 54 68 65 20 57 68 65 |as well.| The Whe|
|00005180| 74 73 74 6f 6e 65 20 62 | 65 6e 63 68 6d 61 72 6b |tstone b|enchmark|
|00005190| 20 69 73 20 63 6f 6e 63 | 65 70 74 75 61 6c 6c 79 | is conc|eptually|
|000051a0| 0a 73 69 6d 69 6c 61 72 | 20 74 6f 20 74 68 65 20 |.similar| to the |
|000051b0| 44 68 72 79 73 74 6f 6e | 65 2c 20 62 75 74 20 77 |Dhryston|e, but w|
|000051c0| 69 74 68 20 61 6e 20 65 | 6d 70 68 61 73 69 73 20 |ith an e|mphasis |
|000051d0| 6f 6e 20 6d 61 74 68 3b | 20 69 74 20 69 73 20 61 |on math;| it is a|
|000051e0| 20 6d 69 78 20 6f 66 0a | 66 6c 6f 61 74 69 6e 67 | mix of.|floating|
|000051f0| 20 70 6f 69 6e 74 20 61 | 6e 64 20 69 6e 74 65 67 | point a|nd integ|
|00005200| 65 72 20 61 72 69 74 68 | 6d 65 74 69 63 2c 20 66 |er arith|metic, f|
|00005210| 75 6e 63 74 69 6f 6e 20 | 63 61 6c 6c 73 2c 20 61 |unction |calls, a|
|00005220| 72 72 61 79 20 6f 70 65 | 72 61 74 69 6f 6e 73 2c |rray ope|rations,|
|00005230| 0a 63 6f 6e 64 69 74 69 | 6f 6e 61 6c 73 2c 20 61 |.conditi|onals, a|
|00005240| 6e 64 20 74 72 61 6e 73 | 63 65 6e 64 65 6e 74 61 |nd trans|cendenta|
|00005250| 6c 20 66 75 6e 63 74 69 | 6f 6e 20 63 61 6c 6c 73 |l functi|on calls|
|00005260| 2e 0a 58 20 20 41 6c 6c | 20 74 68 65 20 61 72 69 |..X All| the ari|
|00005270| 74 68 6d 65 74 69 63 20 | 74 65 73 74 73 20 68 61 |thmetic |tests ha|
|00005280| 76 65 20 74 68 65 20 73 | 61 6d 65 20 73 6f 75 72 |ve the s|ame sour|
|00005290| 63 65 20 63 6f 64 65 20 | 77 69 74 68 20 64 69 66 |ce code |with dif|
|000052a0| 66 65 72 65 6e 74 20 64 | 61 74 61 0a 74 79 70 65 |ferent d|ata.type|
|000052b0| 73 20 73 75 62 73 74 69 | 74 75 74 65 64 20 66 6f |s substi|tuted fo|
|000052c0| 72 20 74 68 65 20 6f 70 | 65 72 61 74 69 6f 6e 73 |r the op|erations|
|000052d0| 3a 20 72 65 67 69 73 74 | 65 72 2c 20 73 68 6f 72 |: regist|er, shor|
|000052e0| 74 2c 20 69 6e 74 2c 20 | 6c 6f 6e 67 2c 20 66 6c |t, int, |long, fl|
|000052f0| 6f 61 74 2c 0a 64 6f 75 | 62 6c 65 2c 20 61 6e 64 |oat,.dou|ble, and|
|00005300| 20 61 6e 20 65 6d 70 74 | 79 20 6c 6f 6f 70 20 66 | an empt|y loop f|
|00005310| 6f 72 20 63 61 6c 63 75 | 6c 61 74 69 6e 67 20 74 |or calcu|lating t|
|00005320| 68 65 20 6f 76 65 72 68 | 65 61 64 20 72 65 71 75 |he overh|ead requ|
|00005330| 69 72 65 64 20 62 79 20 | 74 68 65 0a 70 72 6f 67 |ired by |the.prog|
|00005340| 72 61 6d 2e 20 54 68 65 | 20 61 63 74 75 61 6c 20 |ram. The| actual |
|00005350| 74 65 73 74 20 69 6e 76 | 6f 6c 76 65 73 20 61 73 |test inv|olves as|
|00005360| 73 69 67 6e 6d 65 6e 74 | 2c 20 61 64 64 69 74 69 |signment|, additi|
|00005370| 6f 6e 2c 20 73 75 62 74 | 72 61 63 74 69 6f 6e 2c |on, subt|raction,|
|00005380| 0a 6d 75 6c 74 69 70 6c | 69 63 61 74 69 6f 6e 2c |.multipl|ication,|
|00005390| 20 61 6e 64 20 64 69 76 | 69 73 69 6f 6e 2e 20 56 | and div|ision. V|
|000053a0| 65 72 79 20 73 69 6d 70 | 6c 65 2e 20 42 75 74 20 |ery simp|le. But |
|000053b0| 64 6f 6e 27 74 20 62 6f | 74 68 65 72 20 72 75 6e |don't bo|ther run|
|000053c0| 6e 69 6e 67 20 74 68 65 | 20 66 6c 6f 61 74 0a 61 |ning the| float.a|
|000053d0| 6e 64 20 64 6f 75 62 6c | 65 20 70 72 65 63 69 73 |nd doubl|e precis|
|000053e0| 69 6f 6e 20 74 65 73 74 | 20 75 6e 6c 65 73 73 20 |ion test| unless |
|000053f0| 79 6f 75 20 68 61 76 65 | 20 61 20 6d 61 74 68 20 |you have| a math |
|00005400| 63 6f 2d 70 72 6f 63 65 | 73 73 6f 72 3b 20 77 68 |co-proce|ssor; wh|
|00005410| 61 74 20 74 61 6b 65 73 | 20 61 0a 6d 61 74 68 20 |at takes| a.math |
|00005420| 63 6f 2d 70 72 6f 63 65 | 73 73 6f 72 20 73 79 73 |co-proce|ssor sys|
|00005430| 74 65 6d 20 31 35 20 73 | 65 63 6f 6e 64 73 2c 20 |tem 15 s|econds, |
|00005440| 6d 61 79 20 74 61 6b 65 | 20 61 6e 20 75 6e 61 69 |may take| an unai|
|00005450| 64 65 64 20 70 72 6f 63 | 65 73 73 6f 72 20 33 30 |ded proc|essor 30|
|00005460| 20 6d 69 6e 75 74 65 73 | 0a 6f 72 20 6d 6f 72 65 | minutes|.or more|
|00005470| 21 0a 58 20 20 54 68 65 | 20 73 79 73 74 65 6d 20 |!.X The| system |
|00005480| 63 61 6c 6c 20 74 65 73 | 74 73 20 61 72 65 3a 20 |call tes|ts are: |
|00005490| 73 79 73 74 65 6d 20 63 | 61 6c 6c 20 6f 76 65 72 |system c|all over|
|000054a0| 68 65 61 64 2c 20 70 69 | 70 65 20 74 68 72 6f 75 |head, pi|pe throu|
|000054b0| 67 68 70 75 74 2c 20 70 | 69 70 65 0a 63 6f 6e 74 |ghput, p|ipe.cont|
|000054c0| 65 78 74 20 73 77 69 74 | 63 68 69 6e 67 2c 20 73 |ext swit|ching, s|
|000054d0| 70 61 77 6e 69 6e 67 20 | 6f 66 20 63 68 69 6c 64 |pawning |of child|
|000054e0| 20 70 72 6f 63 65 73 73 | 65 73 2c 20 65 78 65 63 | process|es, exec|
|000054f0| 6c 20 28 72 65 70 6c 61 | 63 65 6d 65 6e 74 20 6f |l (repla|cement o|
|00005500| 66 20 74 68 65 0a 63 75 | 72 72 65 6e 74 20 70 72 |f the.cu|rrent pr|
|00005510| 6f 63 65 73 73 20 62 79 | 20 61 20 6e 65 77 20 70 |ocess by| a new p|
|00005520| 72 6f 63 65 73 73 29 2c | 20 61 6e 64 20 66 69 6c |rocess),| and fil|
|00005530| 65 20 72 65 61 64 2c 20 | 77 72 69 74 65 2c 20 61 |e read, |write, a|
|00005540| 6e 64 20 63 6f 70 79 2e | 20 54 68 65 20 73 79 73 |nd copy.| The sys|
|00005550| 74 65 6d 0a 63 61 6c 6c | 20 6f 76 65 72 68 65 61 |tem.call| overhea|
|00005560| 64 20 74 65 73 74 20 65 | 76 61 6c 75 61 74 65 73 |d test e|valuates|
|00005570| 20 74 68 65 20 74 69 6d | 65 20 72 65 71 75 69 72 | the tim|e requir|
|00005580| 65 64 20 74 6f 20 64 6f | 20 69 74 65 72 61 74 69 |ed to do| iterati|
|00005590| 6f 6e 73 20 6f 66 0a 58 | 21 4d 4f 4e 4f 21 64 75 |ons of.X|!MONO!du|
|000055a0| 70 28 29 21 45 4e 44 4d | 4f 4e 4f 21 2c 20 21 4d |p()!ENDM|ONO!, !M|
|000055b0| 4f 4e 4f 21 63 6c 6f 73 | 65 28 29 21 45 4e 44 4d |ONO!clos|e()!ENDM|
|000055c0| 4f 4e 4f 21 2c 20 21 4d | 4f 4e 4f 21 67 65 74 70 |ONO!, !M|ONO!getp|
|000055d0| 69 64 28 29 21 45 4e 44 | 4d 4f 4e 4f 21 2c 0a 58 |id()!END|MONO!,.X|
|000055e0| 21 4d 4f 4e 4f 21 67 65 | 74 75 69 64 28 29 21 45 |!MONO!ge|tuid()!E|
|000055f0| 4e 44 4d 4f 4e 4f 21 2c | 20 61 6e 64 20 21 4d 4f |NDMONO!,| and !MO|
|00005600| 4e 4f 21 75 6d 61 73 6b | 28 29 21 45 4e 44 4d 4f |NO!umask|()!ENDMO|
|00005610| 4e 4f 21 20 63 61 6c 6c | 73 2e 0a 58 20 20 54 68 |NO! call|s..X Th|
|00005620| 65 20 70 69 70 65 20 74 | 68 72 6f 75 67 68 70 75 |e pipe t|hroughpu|
|00005630| 74 20 74 65 73 74 20 68 | 61 73 20 6e 6f 20 72 65 |t test h|as no re|
|00005640| 61 6c 20 63 6f 75 6e 74 | 65 72 70 61 72 74 20 69 |al count|erpart i|
|00005650| 6e 20 72 65 61 6c 2d 77 | 6f 72 6c 64 20 70 72 6f |n real-w|orld pro|
|00005660| 67 72 61 6d 6d 69 6e 67 | 3b 0a 69 6e 20 69 74 2c |gramming|;.in it,|
|00005670| 20 61 20 73 69 6e 67 6c | 65 20 70 72 6f 63 65 73 | a singl|e proces|
|00005680| 73 20 6f 70 65 6e 73 20 | 61 20 70 69 70 65 20 28 |s opens |a pipe (|
|00005690| 61 6e 20 69 6e 74 65 72 | 2d 70 72 6f 63 65 73 73 |an inter|-process|
|000056a0| 20 63 6f 6d 6d 75 6e 69 | 63 61 74 69 6f 6e 73 20 | communi|cations |
|000056b0| 63 68 61 6e 6e 65 6c 0a | 74 68 61 74 20 77 6f 72 |channel.|that wor|
|000056c0| 6b 73 20 72 61 74 68 65 | 72 20 6c 69 6b 65 20 69 |ks rathe|r like i|
|000056d0| 74 73 20 70 6c 75 6d 62 | 69 6e 67 20 6e 61 6d 65 |ts plumb|ing name|
|000056e0| 73 61 6b 65 29 20 74 6f | 20 69 74 73 65 6c 66 20 |sake) to| itself |
|000056f0| 61 6e 64 20 73 70 69 6e | 73 20 61 20 6d 65 67 61 |and spin|s a mega|
|00005700| 62 79 74 65 0a 61 72 6f | 75 6e 64 20 74 68 69 73 |byte.aro|und this|
|00005710| 20 73 68 6f 72 74 20 6c | 6f 6f 70 2e 20 59 6f 75 | short l|oop. You|
|00005720| 20 6d 69 67 68 74 20 63 | 61 6c 6c 20 74 68 69 73 | might c|all this|
|00005730| 20 74 68 65 20 70 69 70 | 65 20 6f 76 65 72 68 65 | the pip|e overhe|
|00005740| 61 64 20 74 65 73 74 2e | 20 54 68 65 0a 63 6f 6e |ad test.| The.con|
|00005750| 74 65 78 74 20 73 77 69 | 74 63 68 69 6e 67 20 70 |text swi|tching p|
|00005760| 69 70 65 20 74 65 73 74 | 20 69 73 20 6d 6f 72 65 |ipe test| is more|
|00005770| 20 6c 69 6b 65 20 61 20 | 72 65 61 6c 2d 77 6f 72 | like a |real-wor|
|00005780| 6c 64 20 61 70 70 6c 69 | 63 61 74 69 6f 6e 3b 20 |ld appli|cation; |
|00005790| 74 68 65 20 74 65 73 74 | 0a 70 72 6f 67 72 61 6d |the test|.program|
|000057a0| 20 73 70 61 77 6e 73 20 | 61 20 63 68 69 6c 64 20 | spawns |a child |
|000057b0| 70 72 6f 63 65 73 73 20 | 77 69 74 68 20 77 68 69 |process |with whi|
|000057c0| 63 68 20 69 74 20 63 61 | 72 72 69 65 73 20 6f 6e |ch it ca|rries on|
|000057d0| 20 61 20 62 69 2d 64 69 | 72 65 63 74 69 6f 6e 61 | a bi-di|rectiona|
|000057e0| 6c 20 70 69 70 65 0a 63 | 6f 6e 76 65 72 73 61 74 |l pipe.c|onversat|
|000057f0| 69 6f 6e 2e 0a 58 20 20 | 54 68 65 20 73 70 61 77 |ion..X |The spaw|
|00005800| 6e 20 74 65 73 74 20 63 | 72 65 61 74 65 73 20 61 |n test c|reates a|
|00005810| 20 63 68 69 6c 64 20 70 | 72 6f 63 65 73 73 20 77 | child p|rocess w|
|00005820| 68 69 63 68 20 69 6d 6d | 65 64 69 61 74 65 6c 79 |hich imm|ediately|
|00005830| 20 64 69 65 73 20 61 66 | 74 65 72 20 69 74 73 20 | dies af|ter its |
|00005840| 6f 77 6e 0a 58 21 4d 4f | 4e 4f 21 66 6f 72 6b 28 |own.X!MO|NO!fork(|
|00005850| 29 21 45 4e 44 4d 4f 4e | 4f 21 2e 20 54 68 65 20 |)!ENDMON|O!. The |
|00005860| 70 72 6f 63 65 73 73 20 | 69 73 20 72 65 70 65 61 |process |is repea|
|00005870| 74 65 64 20 6f 76 65 72 | 20 61 6e 64 20 6f 76 65 |ted over| and ove|
|00005880| 72 2e 20 53 69 6d 69 6c | 61 72 6c 79 2c 20 74 68 |r. Simil|arly, th|
|00005890| 65 0a 65 78 65 63 20 74 | 65 73 74 20 69 73 20 61 |e.exec t|est is a|
|000058a0| 20 70 72 6f 63 65 73 73 | 20 74 68 61 74 20 72 65 | process| that re|
|000058b0| 70 65 61 74 65 64 6c 79 | 20 63 68 61 6e 67 65 73 |peatedly| changes|
|000058c0| 20 74 6f 20 61 20 6e 65 | 77 20 69 6e 63 61 72 6e | to a ne|w incarn|
|000058d0| 61 74 69 6f 6e 2e 20 4f | 6e 65 20 6f 66 0a 74 68 |ation. O|ne of.th|
|000058e0| 65 20 61 72 67 75 6d 65 | 6e 74 73 20 70 61 73 73 |e argume|nts pass|
|000058f0| 65 64 20 74 6f 20 74 68 | 65 20 6e 65 77 20 69 6e |ed to th|e new in|
|00005900| 63 61 72 6e 61 74 69 6f | 6e 20 69 73 20 74 68 65 |carnatio|n is the|
|00005910| 20 6e 75 6d 62 65 72 20 | 6f 66 20 72 65 6d 61 69 | number |of remai|
|00005920| 6e 69 6e 67 0a 69 74 65 | 72 61 74 69 6f 6e 73 20 |ning.ite|rations |
|00005930| 28 74 68 65 72 65 20 68 | 61 73 20 74 6f 20 62 65 |(there h|as to be|
|00005940| 20 73 6f 6d 65 20 63 6f | 6e 74 72 6f 6c 2c 20 61 | some co|ntrol, a|
|00005950| 66 74 65 72 20 61 6c 6c | 29 2e 0a 58 20 54 68 65 |fter all|)..X The|
|00005960| 20 66 69 6c 65 20 72 65 | 61 64 2c 20 77 72 69 74 | file re|ad, writ|
|00005970| 65 2c 20 61 6e 64 20 63 | 6f 70 79 20 74 65 73 74 |e, and c|opy test|
|00005980| 73 20 63 61 70 74 75 72 | 65 20 74 68 65 20 6e 75 |s captur|e the nu|
|00005990| 6d 62 65 72 20 6f 66 20 | 63 68 61 72 61 63 74 65 |mber of |characte|
|000059a0| 72 73 20 74 68 61 74 0a | 63 61 6e 20 62 65 20 77 |rs that.|can be w|
|000059b0| 72 69 74 74 65 6e 2c 20 | 72 65 61 64 2c 20 61 6e |ritten, |read, an|
|000059c0| 64 20 63 6f 70 69 65 64 | 20 69 6e 20 61 20 73 70 |d copied| in a sp|
|000059d0| 65 63 69 66 69 65 64 20 | 74 69 6d 65 20 28 64 65 |ecified |time (de|
|000059e0| 66 61 75 6c 74 20 69 73 | 20 31 30 20 73 65 63 6f |fault is| 10 seco|
|000059f0| 6e 64 73 29 2e 0a 49 66 | 20 79 6f 75 20 72 75 6e |nds)..If| you run|
|00005a00| 20 74 68 69 73 20 74 65 | 73 74 20 77 69 74 68 20 | this te|st with |
|00005a10| 74 68 65 20 6d 69 6e 69 | 6d 75 6d 20 65 6c 65 6d |the mini|mum elem|
|00005a20| 65 6e 74 20 28 31 20 73 | 65 63 6f 6e 64 29 2c 20 |ent (1 s|econd), |
|00005a30| 79 6f 75 20 73 68 6f 75 | 6c 64 20 73 65 65 20 61 |you shou|ld see a|
|00005a40| 0a 73 69 67 6e 69 66 69 | 63 61 6e 74 6c 79 20 68 |.signifi|cantly h|
|00005a50| 69 67 68 65 72 20 76 61 | 6c 75 65 20 66 6f 72 20 |igher va|lue for |
|00005a60| 61 6c 6c 20 6f 70 65 72 | 61 74 69 6f 6e 73 20 69 |all oper|ations i|
|00005a70| 66 20 79 6f 75 72 20 73 | 79 73 74 65 6d 20 69 6d |f your s|ystem im|
|00005a80| 70 6c 65 6d 65 6e 74 73 | 20 64 69 73 6b 0a 63 61 |plements| disk.ca|
|00005a90| 63 68 65 69 6e 67 2e 20 | 42 65 20 73 75 72 65 20 |cheing. |Be sure |
|00005aa0| 79 6f 75 20 68 61 76 65 | 20 70 6c 65 6e 74 79 20 |you have| plenty |
|00005ab0| 6f 66 20 64 69 73 6b 20 | 73 70 61 63 65 20 62 65 |of disk |space be|
|00005ac0| 66 6f 72 65 20 79 6f 75 | 20 72 75 6e 20 74 68 69 |fore you| run thi|
|00005ad0| 73 20 74 65 73 74 2e 0a | 58 0a 58 21 53 55 42 48 |s test..|X.X!SUBH|
|00005ae0| 45 44 21 54 68 65 20 48 | 69 67 68 2d 4c 65 76 65 |ED!The H|igh-Leve|
|00005af0| 6c 20 42 65 6e 63 68 20 | 50 72 6f 67 72 61 6d 73 |l Bench |Programs|
|00005b00| 21 45 4e 44 53 55 42 48 | 45 44 21 0a 54 6f 20 71 |!ENDSUBH|ED!.To q|
|00005b10| 75 61 6c 69 66 79 20 61 | 73 20 61 20 68 69 67 68 |ualify a|s a high|
|00005b20| 2d 6c 65 76 65 6c 20 74 | 65 73 74 2c 20 74 68 65 |-level t|est, the|
|00005b30| 20 74 65 73 74 20 6d 75 | 73 74 20 69 6e 76 6f 6c | test mu|st invol|
|00005b40| 76 65 20 6f 70 65 72 61 | 74 69 6f 6e 73 20 74 68 |ve opera|tions th|
|00005b50| 61 74 20 61 0a 72 65 61 | 6c 2d 77 6f 72 6c 64 20 |at a.rea|l-world |
|00005b60| 61 70 70 6c 69 63 61 74 | 69 6f 6e 20 70 72 6f 67 |applicat|ion prog|
|00005b70| 72 61 6d 20 6d 69 67 68 | 74 20 65 6d 70 6c 6f 79 |ram migh|t employ|
|00005b80| 2c 20 69 6e 63 6c 75 64 | 69 6e 67 20 68 65 61 76 |, includ|ing heav|
|00005b90| 79 20 75 73 65 20 6f 66 | 20 74 68 65 20 43 50 55 |y use of| the CPU|
|00005ba0| 0a 61 6e 64 20 64 69 73 | 6b 2e 20 41 74 20 74 68 |.and dis|k. At th|
|00005bb0| 65 20 74 69 6d 65 20 6f | 66 20 77 72 69 74 69 6e |e time o|f writin|
|00005bc0| 67 20 74 68 69 73 20 61 | 72 74 69 63 6c 65 2c 20 |g this a|rticle, |
|00005bd0| 77 65 20 68 61 76 65 20 | 63 75 72 72 65 6e 74 6c |we have |currentl|
|00005be0| 79 20 69 6d 70 6c 65 6d | 65 6e 74 65 64 0a 6f 6e |y implem|ented.on|
|00005bf0| 6c 79 20 74 68 65 20 73 | 79 73 74 65 6d 20 6c 6f |ly the s|ystem lo|
|00005c00| 61 64 69 6e 67 20 61 6e | 64 20 64 61 74 61 62 61 |ading an|d databa|
|00005c10| 73 65 20 74 65 73 74 73 | 2c 20 62 75 74 20 77 65 |se tests|, but we|
|00005c20| 20 77 69 6c 6c 20 62 65 | 20 61 64 64 69 6e 67 20 | will be| adding |
|00005c30| 73 65 76 65 72 61 6c 20 | 6e 65 77 0a 74 65 73 74 |several |new.test|
|00005c40| 73 20 69 6e 20 74 68 65 | 20 6d 6f 6e 74 68 73 20 |s in the| months |
|00005c50| 61 68 65 61 64 2e 0a 58 | 20 20 54 68 65 20 73 79 |ahead..X| The sy|
|00005c60| 73 74 65 6d 20 6c 6f 61 | 64 69 6e 67 20 74 65 73 |stem loa|ding tes|
|00005c70| 74 20 69 73 20 61 20 73 | 68 65 6c 6c 20 73 63 72 |t is a s|hell scr|
|00005c80| 69 70 74 20 74 68 61 74 | 20 69 73 20 72 75 6e 20 |ipt that| is run |
|00005c90| 62 79 20 31 2c 20 32 2c | 20 34 2c 20 61 6e 64 20 |by 1, 2,| 4, and |
|00005ca0| 38 0a 63 6f 6e 63 75 72 | 72 65 6e 74 20 70 72 6f |8.concur|rent pro|
|00005cb0| 63 65 73 73 65 73 2e 20 | 54 68 65 20 73 63 72 69 |cesses. |The scri|
|00005cc0| 70 74 20 63 6f 6e 73 69 | 73 74 73 20 6f 66 20 61 |pt consi|sts of a|
|00005cd0| 6e 20 61 6c 70 68 61 62 | 65 74 69 63 20 73 6f 72 |n alphab|etic sor|
|00005ce0| 74 20 6f 6e 65 20 66 69 | 6c 65 20 74 6f 0a 61 6e |t one fi|le to.an|
|00005cf0| 6f 74 68 65 72 3b 20 74 | 61 6b 69 6e 67 20 74 68 |other; t|aking th|
|00005d00| 65 20 6f 63 74 61 6c 20 | 64 75 6d 70 20 6f 66 20 |e octal |dump of |
|00005d10| 74 68 65 20 72 65 73 75 | 6c 74 20 61 6e 64 20 64 |the resu|lt and d|
|00005d20| 6f 69 6e 67 20 61 20 6e | 75 6d 65 72 69 63 20 73 |oing a n|umeric s|
|00005d30| 6f 72 74 20 74 6f 20 61 | 0a 74 68 69 72 64 20 66 |ort to a|.third f|
|00005d40| 69 6c 65 3b 20 72 75 6e | 6e 69 6e 67 20 67 72 65 |ile; run|ning gre|
|00005d50| 70 20 6f 6e 20 74 68 65 | 20 72 65 73 75 6c 74 20 |p on the| result |
|00005d60| 6f 66 20 74 68 65 20 61 | 6c 70 68 61 62 65 74 69 |of the a|lphabeti|
|00005d70| 63 20 73 6f 72 74 20 66 | 69 6c 65 3b 0a 58 21 4d |c sort f|ile;.X!M|
|00005d80| 4f 4e 4f 21 74 65 65 21 | 45 4e 44 4d 4f 4e 4f 21 |ONO!tee!|ENDMONO!|
|00005d90| 69 6e 67 20 74 68 65 20 | 72 65 73 75 6c 74 20 74 |ing the |result t|
|00005da0| 6f 20 61 20 66 69 6c 65 | 20 61 6e 64 20 74 6f 20 |o a file| and to |
|00005db0| 21 4d 4f 4e 4f 21 77 63 | 21 45 4e 44 4d 4f 4e 4f |!MONO!wc|!ENDMONO|
|00005dc0| 21 20 28 77 6f 72 64 0a | 63 6f 75 6e 74 29 3b 20 |! (word.|count); |
|00005dd0| 77 72 69 74 69 6e 67 20 | 74 68 65 20 66 69 6e 61 |writing |the fina|
|00005de0| 6c 20 72 65 73 75 6c 74 | 20 74 6f 20 61 20 66 69 |l result| to a fi|
|00005df0| 6c 65 3b 20 61 6e 64 20 | 72 65 6d 6f 76 69 6e 67 |le; and |removing|
|00005e00| 20 61 6c 6c 20 6f 66 20 | 74 68 65 20 72 65 73 75 | all of |the resu|
|00005e10| 6c 74 69 6e 67 0a 66 69 | 6c 65 73 2e 20 54 68 69 |lting.fi|les. Thi|
|00005e20| 73 20 73 63 72 69 70 74 | 20 77 61 73 20 75 73 65 |s script| was use|
|00005e30| 64 20 69 6e 20 74 68 65 | 20 6f 72 69 67 69 6e 61 |d in the| origina|
|00005e40| 6c 20 42 59 54 45 20 55 | 4e 49 58 20 62 65 6e 63 |l BYTE U|NIX benc|
|00005e50| 68 6d 61 72 6b 73 20 28 | 31 39 38 33 29 2c 20 62 |hmarks (|1983), b|
|00005e60| 75 74 0a 74 68 65 20 73 | 6f 75 72 63 65 20 66 69 |ut.the s|ource fi|
|00005e70| 6c 65 20 69 73 20 73 65 | 76 65 72 61 6c 20 6d 61 |le is se|veral ma|
|00005e80| 67 6e 69 74 75 64 65 73 | 20 6c 61 72 67 65 72 20 |gnitudes| larger |
|00005e90| 74 68 61 6e 20 74 68 65 | 20 6f 72 69 67 69 6e 61 |than the| origina|
|00005ea0| 6c 2e 0a 58 20 20 54 68 | 65 20 43 20 63 6f 6d 70 |l..X Th|e C comp|
|00005eb0| 69 6c 65 20 61 6e 64 20 | 6c 69 6e 6b 20 69 73 20 |ile and |link is |
|00005ec0| 6e 6f 74 68 69 6e 67 20 | 6d 6f 72 65 20 74 68 61 |nothing |more tha|
|00005ed0| 6e 20 74 68 61 74 2e 0a | 58 20 20 54 68 65 20 64 |n that..|X The d|
|00005ee0| 61 74 61 62 61 73 65 20 | 6f 70 65 72 61 74 69 6f |atabase |operatio|
|00005ef0| 6e 73 20 63 6f 6e 73 69 | 73 74 20 6f 66 20 72 61 |ns consi|st of ra|
|00005f00| 6e 64 6f 6d 20 72 65 61 | 64 2c 20 77 72 69 74 65 |ndom rea|d, write|
|00005f10| 2c 20 61 6e 64 20 61 64 | 64 20 6f 70 65 72 61 74 |, and ad|d operat|
|00005f20| 69 6f 6e 73 0a 6f 6e 20 | 61 20 64 61 74 61 62 61 |ions.on |a databa|
|00005f30| 73 65 20 66 69 6c 65 2e | 20 54 68 65 20 6f 70 65 |se file.| The ope|
|00005f40| 72 61 74 69 6f 6e 73 20 | 61 72 65 20 68 61 6e 64 |rations |are hand|
|00005f50| 6c 65 64 20 62 79 20 61 | 20 73 65 72 76 65 72 20 |led by a| server |
|00005f60| 70 72 6f 63 65 73 73 3b | 20 74 68 65 0a 72 65 71 |process;| the.req|
|00005f70| 75 65 73 74 73 20 63 6f | 6d 65 20 66 72 6f 6d 20 |uests co|me from |
|00005f80| 63 6c 69 65 6e 74 20 70 | 72 6f 63 65 73 73 65 73 |client p|rocesses|
|00005f90| 2e 20 54 68 65 20 74 65 | 73 74 20 69 73 20 72 75 |. The te|st is ru|
|00005fa0| 6e 20 77 69 74 68 20 31 | 2c 20 32 2c 20 34 2c 20 |n with 1|, 2, 4, |
|00005fb0| 61 6e 64 20 38 0a 63 6c | 69 65 6e 74 20 70 72 6f |and 8.cl|ient pro|
|00005fc0| 63 65 73 73 65 73 2e 20 | 54 68 65 20 74 65 73 74 |cesses. |The test|
|00005fd0| 20 65 6d 70 6c 6f 79 73 | 20 73 65 6d 61 70 68 6f | employs| semapho|
|00005fe0| 72 65 73 20 61 6e 64 20 | 6d 65 73 73 61 67 65 20 |res and |message |
|00005ff0| 71 75 65 75 65 73 2e 20 | 53 65 6d 61 70 68 6f 72 |queues. |Semaphor|
|00006000| 65 73 0a 61 72 65 20 62 | 65 69 6e 67 20 75 73 65 |es.are b|eing use|
|00006010| 64 20 6c 65 73 73 20 61 | 6e 64 20 6c 65 73 73 20 |d less a|nd less |
|00006020| 74 68 65 73 65 20 64 61 | 79 73 2e 20 42 53 44 20 |these da|ys. BSD |
|00006030| 73 79 73 74 65 6d 73 20 | 75 73 65 20 73 6f 63 6b |systems |use sock|
|00006040| 65 74 73 20 69 6e 73 74 | 65 61 64 20 69 6e 0a 70 |ets inst|ead in.p|
|00006050| 6c 61 63 65 20 6f 66 20 | 62 6f 74 68 20 6f 66 20 |lace of |both of |
|00006060| 74 68 65 73 65 20 53 79 | 73 74 65 6d 20 56 2e 33 |these Sy|stem V.3|
|00006070| 20 49 50 43 20 75 74 69 | 6c 69 74 69 65 73 2e 20 | IPC uti|lities. |
|00006080| 53 79 73 74 65 6d 20 56 | 2e 34 20 6f 66 66 65 72 |System V|.4 offer|
|00006090| 73 20 62 6f 74 68 2e 20 | 54 68 69 73 0a 74 65 73 |s both. |This.tes|
|000060a0| 74 20 69 73 20 62 65 69 | 6e 67 20 72 65 77 72 69 |t is bei|ng rewri|
|000060b0| 74 74 65 6e 20 75 73 69 | 6e 67 20 73 6f 63 6b 65 |tten usi|ng socke|
|000060c0| 74 73 2c 20 62 75 74 20 | 73 69 6e 63 65 20 58 65 |ts, but |since Xe|
|000060d0| 6e 69 78 20 64 6f 65 73 | 6e 27 74 20 69 6d 70 6c |nix does|n't impl|
|000060e0| 65 6d 65 6e 74 0a 73 6f | 63 6b 65 74 73 2c 20 6f |ement.so|ckets, o|
|000060f0| 75 72 20 62 61 73 65 6c | 69 6e 65 20 63 6f 6e 66 |ur basel|ine conf|
|00006100| 69 67 75 72 61 74 69 6f | 6e 20 62 65 63 6f 6d 65 |iguratio|n become|
|00006110| 73 20 69 6e 73 74 61 6e | 74 6c 79 20 6f 62 73 6f |s instan|tly obso|
|00006120| 6c 65 74 65 20 77 68 65 | 6e 20 77 65 0a 72 65 70 |lete whe|n we.rep|
|00006130| 6c 61 63 65 20 74 68 65 | 20 64 61 74 61 62 61 73 |lace the| databas|
|00006140| 65 20 74 65 73 74 2e 20 | 4a 75 73 74 20 61 6e 6f |e test. |Just ano|
|00006150| 74 68 65 72 20 6f 6e 65 | 20 6f 66 20 74 68 6f 73 |ther one| of thos|
|00006160| 65 20 6c 69 74 74 6c 65 | 20 70 72 6f 62 6c 65 6d |e little| problem|
|00006170| 73 20 69 6e 0a 74 72 79 | 69 6e 67 20 74 6f 20 63 |s in.try|ing to c|
|00006180| 72 65 61 74 65 20 6a 6f | 75 72 6e 61 6c 69 73 74 |reate jo|urnalist|
|00006190| 69 63 20 63 6f 6d 70 75 | 74 65 72 20 62 65 6e 63 |ic compu|ter benc|
|000061a0| 68 6d 61 72 6b 73 3a 20 | 61 6e 79 20 70 72 6f 67 |hmarks: |any prog|
|000061b0| 72 61 6d 20 74 68 61 74 | 20 68 61 73 20 62 65 65 |ram that| has bee|
|000061c0| 6e 0a 66 75 6c 6c 79 20 | 64 65 62 75 67 67 65 64 |n.fully |debugged|
|000061d0| 20 69 73 20 70 72 6f 62 | 61 62 6c 79 20 6f 62 73 | is prob|ably obs|
|000061e0| 6f 6c 65 74 65 20 5b 20 | 4d 75 72 70 68 79 2c 20 |olete [ |Murphy, |
|000061f0| 65 74 20 61 6c 20 5d 2e | 0a 58 0a 58 21 53 55 42 |et al ].|.X.X!SUB|
|00006200| 48 45 44 21 4d 69 73 63 | 65 6c 6c 61 6e 79 21 45 |HED!Misc|ellany!E|
|00006210| 4e 44 53 55 42 48 45 44 | 21 0a 54 68 65 20 72 65 |NDSUBHED|!.The re|
|00006220| 6d 61 69 6e 69 6e 67 20 | 74 65 73 74 73 20 61 72 |maining |tests ar|
|00006230| 65 20 69 6e 20 74 68 65 | 20 6d 69 73 63 65 6c 6c |e in the| miscell|
|00006240| 61 6e 65 6f 75 73 20 67 | 72 6f 75 70 3a 20 54 6f |aneous g|roup: To|
|00006250| 77 65 72 20 6f 66 20 48 | 61 6e 6f 69 20 28 61 20 |wer of H|anoi (a |
|00006260| 74 65 73 74 20 6f 66 0a | 72 65 63 75 72 73 69 76 |test of.|recursiv|
|00006270| 65 20 6f 70 65 72 61 74 | 69 6f 6e 73 29 20 61 6e |e operat|ions) an|
|00006280| 64 20 61 20 74 65 73 74 | 20 6f 66 20 74 68 65 20 |d a test| of the |
|00006290| 55 4e 49 58 20 61 72 62 | 69 74 72 61 72 79 20 70 |UNIX arb|itrary p|
|000062a0| 72 65 63 69 73 69 6f 6e | 20 63 61 6c 63 75 6c 61 |recision| calcula|
|000062b0| 74 6f 72 0a 63 61 6c 63 | 75 6c 61 74 69 6e 67 20 |tor.calc|ulating |
|000062c0| 74 68 65 20 73 71 75 61 | 72 65 20 72 6f 6f 74 20 |the squa|re root |
|000062d0| 6f 66 20 74 77 6f 20 74 | 6f 20 39 39 20 64 65 63 |of two t|o 99 dec|
|000062e0| 69 6d 61 6c 20 70 6c 61 | 63 65 73 2e 0a 58 20 20 |imal pla|ces..X |
|000062f0| 4e 6f 20 64 6f 75 62 74 | 2c 20 77 65 20 77 69 6c |No doubt|, we wil|
|00006300| 6c 20 62 65 20 61 64 64 | 69 6e 67 20 74 65 73 74 |l be add|ing test|
|00006310| 73 20 74 6f 20 74 68 69 | 73 20 73 75 69 74 65 20 |s to thi|s suite |
|00006320| 61 73 20 77 65 20 73 65 | 65 20 74 68 65 20 6e 65 |as we se|e the ne|
|00006330| 65 64 20 74 6f 20 74 65 | 73 74 0a 61 6e 64 20 65 |ed to te|st.and e|
|00006340| 76 61 6c 75 61 74 65 20 | 66 72 6f 6d 20 64 69 66 |valuate |from dif|
|00006350| 66 65 72 65 6e 74 20 70 | 65 72 73 70 65 63 74 69 |ferent p|erspecti|
|00006360| 76 65 73 2e 0a 58 0a 58 | 21 53 55 42 48 45 44 21 |ves..X.X|!SUBHED!|
|00006370| 50 72 6f 62 6c 65 6d 73 | 20 69 6e 20 74 68 65 20 |Problems| in the |
|00006380| 4d 6f 64 65 72 6e 20 57 | 6f 72 6c 64 21 45 4e 44 |Modern W|orld!END|
|00006390| 53 55 42 48 45 44 21 0a | 54 68 65 20 6d 61 6a 6f |SUBHED!.|The majo|
|000063a0| 72 20 70 72 6f 62 6c 65 | 6d 20 77 65 20 68 61 76 |r proble|m we hav|
|000063b0| 65 20 68 61 64 20 77 69 | 74 68 20 64 65 76 65 6c |e had wi|th devel|
|000063c0| 6f 70 69 6e 67 20 74 68 | 65 20 55 4e 49 58 20 62 |oping th|e UNIX b|
|000063d0| 65 6e 63 68 6d 61 72 6b | 20 70 72 6f 67 72 61 6d |enchmark| program|
|000063e0| 73 20 69 73 0a 64 65 73 | 69 67 6e 69 6e 67 20 74 |s is.des|igning t|
|000063f0| 68 65 6d 20 73 6f 20 74 | 68 61 74 20 74 68 65 79 |hem so t|hat they|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.