LMbench/0040775002170200000240000000000007322324167011707 5ustar staelingamesLMbench/SCCS/0040775002170200000240000000000007322324161012434 5ustar staelingamesLMbench/SCCS/s.ChangeSet0100444002170200000240000020161207322324162014455 0ustar staelingamesH09767 s 00000/00000/00000 d R 1.73 01/07/09 15:48:30 staelin 102 100 cSlmbench2.0final cS101 l e s 00000/00000/00000 d R 1.73 01/06/18 14:06:26 staelin 101 100 cSBeta2.4 cS96 e s 00001/00000/00368 d D 1.73 01/06/18 12:55:20 staelin 100 99 c Update the "make dist" process to make it a little more robust in c the face of clock skew for NFS file systems. cC cK35127 e s 00001/00000/00367 d D 1.72 01/06/18 12:42:38 staelin 99 98 c Add getpagesize() implementation for WIN32 cC cK35131 e s 00001/00000/00366 d D 1.71 01/06/18 12:41:38 staelin 98 97 c Fixup the "dist" target is Makefile to reduce the mistakes in c generating distribution tarballs. cC cK35116 e s 00003/00000/00363 d D 1.70 01/06/18 09:47:05 staelin 97 95 c Move drand48/rand/random #defines from command line to bench.h cC cK35113 e s 00000/00000/00000 d R 1.69 01/06/14 11:41:09 staelin 96 95 cSBeta2.4 cS94 e s 00001/00000/00362 d D 1.69 01/06/13 11:40:34 staelin 95 93 c Fix buglet in scripts/build with new random number generator stuff cC cK35093 e s 00000/00000/00000 d R 1.68 01/06/13 10:43:37 staelin 94 93 cSBeta2.4 cS88 e s 00001/00000/00361 d D 1.68 01/06/13 10:43:13 staelin 93 92 c Add new target for Mac/Darwin to gnu-os cC cK35092 e s 00004/00000/00357 d D 1.67 01/06/13 10:42:20 staelin 92 91 c Add new/improved handling of various available interfaces for c random number generation lrand48()/rand()/random(). cC cK35089 e s 00003/00000/00354 d D 1.66 01/05/21 10:28:39 staelin 91 90 c Add new tests for existence of srand48 and drand48, with backoff to srand and drand if they aren't found cC cK35111 e s 00001/00000/00353 d D 1.65 01/05/21 09:41:53 staelin 90 89 c Fixup lmdd so it should work on Darwin/OSX; remove unneeded #include c and add #undef ALIGN before #define ALIGN(...). cC cK34918 e s 00001/00000/00352 d D 1.64 01/05/10 16:06:56 staelin 89 87 c Update to ftp://ftp.gnu.org/gnu/config/config-guess version 4/20/2001 cC cK34854 e s 00000/00000/00000 d R 1.63 01/05/07 15:20:17 staelin 88 87 cSBeta2.3 cS85 e s 00001/00000/00351 d D 1.63 01/05/02 11:51:47 staelin 87 86 c - Fix a bug in getsummary with the reporting of file system latencies. c We were reporting in 10microsecond units instead of 1microsecond c units. Thanks to Duc Vianney for the bug report. cC cK34808 e s 00001/00000/00350 d D 1.62 01/05/02 11:47:41 staelin 86 84 c Add missing file, webpage-lm.tar, to package cC cK34750 e s 00000/00000/00000 d R 1.61 01/05/01 14:29:04 staelin 85 84 cSBeta2.2 cS82 e s 00001/00000/00349 d D 1.61 01/05/01 14:28:55 staelin 84 83 c Add #ifdef wrapper to timing.h so it is only included once cC cK21622 e s 00002/00000/00347 d D 1.60 01/05/01 14:28:12 staelin 83 81 c Add missing target for ../scripts/depend to src/Makefile cC cHhpli69.hpli.hpl.hp.com cK20596 e s 00000/00000/00000 d R 1.59 01/05/01 14:23:35 staelin 82 81 cHhpli69.hpli.hpl.hp.com cSBeta2.2 cS0 e s 00001/00000/00346 d D 1.59 01/04/09 09:48:15 staelin 81 78 i 79 80 c Merge bitmover.com:/home/bk/LMbench c into hpli12.hpli.hpl.hp.com:/usr/WebPaper/users/staelin/src/LMbench cC cHhpli12.hpli.hpl.hp.com cK20523 cM80 cZ+03:00 e s 00001/00000/00341 d D 1.56.1.2 01/02/17 12:56:57 lm 80 79 c More config. cC cK20257 e s 00001/00000/00340 d D 1.56.1.1 01/02/07 17:00:59 lm 79 76 c Update the links. cC cHwork.bitmover.com cK20245 cZ-08:00 e s 00003/00000/00341 d D 1.58 01/02/07 15:16:56 staelin 78 77 c - Add better handling of predefined uint and uint64 types c - Add check for S_IFIFO (at least one OS uses S_IFFIFO instead) cC cK21008 e s 00001/00000/00340 d D 1.57 01/02/07 13:54:42 staelin 77 76 c Don't define FLUSH for Lynx OS in lmdd cC cK20988 e s 00001/00000/00339 d D 1.56 01/02/07 12:26:46 staelin 76 75 c - Add a description to the BitKeeper config file cC cHhpli8.hpli.hpl.hp.com cK21006 cZ+02:00 e s 00001/00000/00338 d D 1.55 01/01/30 21:16:38 lm 75 74 c The config is shared across trees so this is just LMbench. cC cK20259 e s 00002/00000/00336 d D 1.54 01/01/30 20:40:44 lm 74 72 c A few tweaks for logging and newer BK. cC cHwork.bitmover.com cK20249 cZ-08:00 e s 00000/00000/00000 d R 1.53 01/01/09 10:18:40 staelin 73 72 cSBeta2.1 e s 00001/00000/00335 d D 1.53 01/01/09 10:18:26 staelin 72 70 c - Change Makefile so you can do parallel builds (e.g., gmake -j4) cC cK21012 e s 00000/00000/00000 d R 1.52 01/01/07 16:48:49 staelin 71 70 cSBeta2.1 e s 00001/00000/00334 d D 1.52 01/01/07 16:47:41 staelin 70 68 c - bw_pipe: close uneeded pipe file descriptors so child process will c die properly cC cK20993 e s 00000/00000/00000 d R 1.51 01/01/07 15:39:32 staelin 69 68 cSBeta2.1 e s 00001/00000/00333 d D 1.51 01/01/07 15:37:01 staelin 68 66 c - scripts/getsummary: update 'num' subroutine so it is given the c number of available digits and it decides how to format the data c given the available space and data magnitude. cC cK20023 e s 00000/00000/00000 d R 1.50 00/12/24 10:43:38 staelin 67 66 cSBeta2.1 e s 00001/00000/00332 d D 1.50 00/12/24 10:42:08 staelin 66 65 c - Fix problem with HP-UX 64bit include files; PORTMAP needs to be c defined so that svcudp_create gets a prototype cC cK20028 e s 00001/00000/00331 d D 1.49 00/12/24 10:39:34 staelin 65 64 c - Add references to new man pages in src/Makefile cC cK20038 e s 00001/00000/00330 d D 1.48 00/12/24 10:38:05 staelin 64 62 c - Fix 64bit bug that bites on HP-UX 11.x cC cK19042 e s 00000/00000/00000 d R 1.47 00/12/11 16:38:57 staelin 63 62 cSBeta2.1 e s 00001/00000/00329 d D 1.47 00/12/11 16:36:44 staelin 62 60 c - Fix typo in src/Makefile cC cK19029 e s 00000/00000/00000 d R 1.46 00/12/11 16:29:34 staelin 61 60 cSBeta2.1 e s 00001/00000/00328 d D 1.46 00/12/11 16:24:00 staelin 60 59 c - Fix src/Makefile so it correctly refers to all new manpages c and programs cC cK19030 e s 00001/00000/00327 d D 1.45 00/12/11 16:23:11 staelin 59 58 c - Update version number to 2alpha13 (which is really 2beta1) cC cK19036 e s 00001/00000/00326 d D 1.44 00/12/11 16:22:35 staelin 58 57 c - Fix lat_select so all tmpfiles are always removed cC cK19033 e s 00001/00000/00325 d D 1.43 00/12/11 16:22:02 staelin 57 56 c - Fix lat_fifo so it correctly reports results cC cK19041 e s 00001/00000/00324 d D 1.42 00/12/11 16:20:59 staelin 56 55 c - Fix lock/unlock sequencing bug in lat_fcntl c - Remove unnecessary fork()/wait() operations in lat_fcntl c - Always remove tmpfiles in lat_fcntl cC cK18084 e s 00001/00000/00323 d D 1.41 00/12/11 16:19:46 staelin 55 54 c Debug clock.c so that it works with current timing harness cC cK17359 e s 00011/00000/00312 d D 1.40 00/12/11 16:12:54 staelin 54 53 c - Add new relevant entries to "SEE ALSO" section cC cK16386 e s 00002/00000/00310 d D 1.39 00/12/11 16:12:11 staelin 53 52 c - Add new manpages for loop_o and timing_o cC cK12552 e s 00008/00000/00302 d D 1.38 00/12/11 15:53:58 staelin 52 51 c - Major rewrite of man pages cC cK54305 e s 00012/00000/00290 d D 1.37 00/12/11 15:50:50 staelin 51 50 c - Add information to "SEE ALSO" section cC cK48743 e s 00015/00000/00275 d D 1.36 00/12/11 15:44:13 staelin 50 48 c - Add lots of new man pages for new commands: bw_unix, clock, disk, c enough, lat_fcntl, lat_fifo, lat_http, lat_select, lat_sig, c lat_unix, and lat_unix_connect cC cK37217 e s 00000/00000/00000 d R 1.35 00/12/10 16:52:22 staelin 49 48 cSBeta2.1 e s 00001/00000/00274 d D 1.35 00/12/07 12:25:33 staelin 48 47 c - Fix scripts/build so it works properly on HP-UX with ANSI C compiler c - Modify scripts/build to use variables to shorten command lines cC cK23401 e s 00001/00000/00273 d D 1.34 00/11/15 09:46:37 staelin 47 45 c - Fixed bug in getsummary which resulted in incorrect main memory c latencies being reported. It used to choose the 8MB value as the c main memory latency, it now uses the largest memsize as the main c memory latency. cC cK23417 e s 00000/00000/00000 d R 1.33 00/10/30 13:45:34 staelin 46 45 cSAlpha2.12 e s 00001/00000/00272 d D 1.33 00/10/30 13:45:23 staelin 45 43 c - Add more descriptive error output on RPC timeout for lat_rpc cC cK23408 e s 00000/00000/00000 d R 1.32 00/10/30 13:44:22 staelin 44 43 cSAlpha2.12 e s 00002/00000/00270 d D 1.32 00/10/30 13:42:39 staelin 43 41 c - Add protocol flags for TCP_SELECT c - Fixup tcp_select c - use SOCKOPT_REUSE on the server c - close all open file descriptors on exit c - cleanly kill child server process cC cK22983 e s 00000/00000/00000 d R 1.31 00/10/29 12:08:51 staelin 42 41 cSAlpha2.12 e s 00001/00000/00269 d D 1.31 00/10/25 14:58:40 staelin 41 40 c - Fix result file naming so it always looks like . cC cK22535 e s 00003/00000/00266 d D 1.30 00/10/25 12:33:33 staelin 40 39 c - Enhance lat_select so it can select either on a file or on a TCP c socket. c - Modify getsummary so the TCP socket select latency is used rather c than the file latency (select() is more commonly used for networking c than for files) cC cHhpli8.hpli.hpl.hp.com cK22535 cZ+02:00 e s 00005/00000/00261 d D 1.29 00/09/24 12:00:51 lm 39 38 c OpenBSD stuff. cC cHopenbsd.bitmover.com cK22081 cZ-07:00 e s 00003/00000/00258 d D 1.28 00/09/24 14:18:15 staelin 38 36 c - Fix buglets in redirection of status output to OUTPUT cC cK20503 e s 00000/00000/00000 d R 1.27 00/09/13 14:39:47 staelin 37 36 cSAlpha2.12 e s 00002/00000/00256 d D 1.27 00/09/13 14:26:31 staelin 36 35 c - Change handling of lmbench script's status output handling to use user-specified file cC cHhpli8.hpli.hpl.hp.com cK20497 cZ+03:00 e s 00001/00000/00255 d D 1.26 00/08/15 15:33:22 lm 35 34 c lat_udp.c Add a timeout; HPUX seems to drop packets. cC cHhp.bitmover.com cK20511 e s 00001/00000/00254 d D 1.25 00/08/15 15:11:47 lm 34 33 c Add a missing htons() that was causing Intel arch to break. cC cHlm.bitmover.com cK20554 cZ-07:00 e s 00001/00000/00253 d D 1.24 00/08/14 17:10:24 staelin 33 32 c - Add check for HP-UX on AI64 cC cK20576 e s 00001/00000/00252 d D 1.23 00/08/10 16:15:39 staelin 32 31 c - Fix gnu-os so it properly identifies HP series 800 servers. From Chris Ruemmler. cC cHhpli8.hpli.hpl.hp.com cK20569 cZ+03:00 e s 00001/00000/00251 d D 1.22 00/08/08 05:41:07 staelin 31 26 i 28 29 30 c Merge cC cHwork.bitmover.com cK20577 cM30 cZ-07:00 e s 00002/00000/00243 d D 1.17.1.3 00/08/03 17:38:28 lm 30 29 c Use 15 bit port numbers, we must have a signed/unsigned bug. cC cHva.bitmover.com cK18806 e s 00001/00000/00242 d D 1.17.1.2 00/08/03 15:02:05 lm 29 28 c Do not move less than MINMOVE bytes. Don't run this over your modem. cC cK19257 e s 00003/00000/00239 d D 1.17.1.1 00/08/03 13:40:21 lm 28 19 c Do not use the portmapper. cC cHwork.bitmover.com cK19030 cZ-07:00 e s 00000/00000/00000 d R 1.21 00/08/03 14:20:17 staelin 27 26 cSAlpha2.12 e s 00001/00000/00244 d D 1.21 00/08/03 14:19:32 staelin 26 24 c - Fix bk.ver target so it succeeds even if user doesn't have BK cC cK09845 e s 00000/00000/00000 d R 1.20 00/08/03 12:06:03 staelin 25 24 cSAlpha2.12 e s 00001/00000/00243 d D 1.20 00/08/03 12:00:51 staelin 24 23 c - fix bug in dist target cC cK09858 e s 00001/00000/00242 d D 1.19 00/08/03 11:59:22 staelin 23 21 c - Fix/update the 'dist' target cC cK09860 e s 00000/00000/00000 d R 1.18 00/08/03 11:55:11 staelin 22 21 cSAlpha2.12 e s 00003/00000/00239 d D 1.18 00/08/03 11:45:05 staelin 21 19 c - Rip out support for broken parallelism implementation using synchronize cC cK09843 e s 00000/00000/00000 d R 1.17 00/08/02 11:22:19 staelin 20 19 cSAlpha2.12 e s 00002/00000/00237 d D 1.17 00/08/02 11:22:02 staelin 19 17 c - Check that /dev/tty is writable from scripts/lmbench, and if it isn't, then send c status messages to /dev/null instead cC cK08838 e s 00000/00000/00000 d R 1.16 00/08/02 10:38:34 staelin 18 17 cSAlpha2.12 e s 00002/00000/00235 d D 1.16 00/08/02 10:38:06 staelin 17 16 c - Add bk.ver (ChangeSet tag) to results file as [LMBENCH_VER: ...] cC cK61879 e s 00002/00000/00233 d D 1.15 00/08/01 16:04:25 staelin 16 15 c - Report more significant digits for memory latency cC cK61889 e s 00001/00000/00232 d D 1.14 00/08/01 10:54:24 staelin 15 14 c - Tweak formatting of summary statistics cC cK60926 e s 00017/00000/00215 d D 1.13 00/07/31 16:57:40 staelin 14 13 c - Improved results reporting in getsummary c - Update scripts/build to reduce tmp file collisions in clustered environments c - Update scripts/build to include separate checks for -nsl and -socket c - Update scripts/build to check for RUSAGE c - scripts/getlist version check updated to 2.x c - scripts/gnu-os updated from latest version of config.guess in autoconf 2.13 c - Add parameters RSH and RCP to config-run; update lmbench to use parameters c - Change type of iterations parameter in BENCH_INNER from uint64 to u_long c - Added check for zero time to insertsort(); removed all such checks from outside routine c - Change while(diff->tv_usec < 0 && ...) to if (...) in lib_timing.c:tvsub() c - Fixed bug in lmhttp which caused it to fail during remote network testing c - Update minor version in version.h to -12 cC cK60931 e s 00002/00000/00213 d D 1.12 00/07/03 16:21:42 staelin 13 12 c - fix bug in gnu-os which causes lmbench to fail in clustered environments c - try to prevent smart optimizers from optimizing away benchmark loops by marking c the dummy variable in use_int() and use_pointer() as volatile cC cK27830 e s 00001/00000/00212 d D 1.11 00/06/27 17:41:23 staelin 12 11 c - Slight tweak to "-lnsl -lsocket" test cC cK26841 e s 00002/00000/00210 d D 1.10 00/06/27 14:59:13 staelin 11 10 c - Create new build script which automagically determines compile flags c - Modify Makefile to use new script cC cK26832 e s 00001/00000/00209 d D 1.9 00/06/26 10:05:54 staelin 10 9 c - Add #include for aix cC cK14733 e s 00001/00000/00208 d D 1.8 00/06/26 09:54:57 staelin 9 8 c - Add special handling for aix which doesn't have valloc() cC cK14725 e s 00002/00000/00206 d D 1.7 00/06/25 13:35:13 staelin 8 7 c - fix buglets in median computations c - fix bug in mhz's compute_mhz so only subsets with enough data points are examined cC cK13732 e s 00003/00000/00203 d D 1.6 00/06/21 17:09:40 staelin 7 6 c - Changed lat_rpc's command line interface to match other networking benchmarks c - Added "-d" debug flag to mhz so that it will print out debugging data c - Fixed a bug in lat_rpc so that it correctly measures performance for only one protocol c when a protocol is specified on the command line cC cK12778 e s 00003/00000/00200 d D 1.5 00/06/04 11:58:34 staelin 6 5 c Fixed bug which made 'enough' unstable cC cK11756 cZ+03:00 e s 00005/00000/00195 d D 1.4 00/02/02 09:58:11 staelin 5 4 c lmbench version 2 alpha 12 c c This ChangeSet incorporates all the bugfixes made to c lmbench since version 2 alpha 11. The primary changes c are tweaks to the timing harness so bad measurements c are ignored and a simple bugfix to lat_rpc. Some of c the changes done to start the Windows port were also c integrated. cC cHhpli8.hpli.hpl.hp.com cK63218 cZ+02:00 e s 00044/00000/00151 d D 1.3 00/01/31 16:29:31 lm 4 3 c Updates for BitKeeper. cC cK58368 e s 00150/00000/00001 d D 1.2 00/01/31 15:05:45 lm 3 2 c Import changeset cC cK58225 e s 00001/00000/00000 d D 1.1 00/01/31 14:55:54 lm 2 1 c Initial repository create cC cK11166 e s 00000/00000/00000 d D 1.0 00/01/31 14:53:35 lm 1 0 c BitKeeper file /home/lm/lmbench.BK/ChangeSet cBlm@lm.bitmover.com|ChangeSet|20000131225335|47351|--LMBENCH-- cC cHlm.bitmover.com cK47351 cPChangeSet cR--LMBENCH-- cV4 cX0x61 cZ-08:00 e u U f e 0 f x 0x61 t The lmbench benchmarking system T I 100 lm@lm.bitmover.com|src/Makefile|19941118085513|37692|bce1823a10fe7d49 staelin@hpli69.hpli.hpl.hp.com|src/Makefile|20010618095520|49066 E 100 I 99 lm@lm.bitmover.com|src/timing.h|19961114001459|21532|b03b538da693ddd3 staelin@hpli69.hpli.hpl.hp.com|src/timing.h|20010618094237|38926 E 99 I 98 lm@lm.bitmover.com|src/Makefile|19941118085513|37692|bce1823a10fe7d49 staelin@hpli69.hpli.hpl.hp.com|src/Makefile|20010618094137|39095 E 98 I 97 lm@lm.bitmover.com|src/lmdd.c|19900601103208|08405|49191613a2a80e staelin@hpli69.hpli.hpl.hp.com|src/lmdd.c|20010618064705|34850 lm@lm.bitmover.com|src/bench.h|19941118084947|26325|ad8c6e375dc87a5c staelin@hpli69.hpli.hpl.hp.com|src/bench.h|20010618064705|60238 staelin@hpli8.hpli.hpl.hp.com|scripts/build|20000627112120|02240|2e577c9d312058c8 staelin@hpli69.hpli.hpl.hp.com|scripts/build|20010618064704|41594 E 97 I 95 staelin@hpli8.hpli.hpl.hp.com|scripts/build|20000627112120|02240|2e577c9d312058c8 staelin@hpli69.hpli.hpl.hp.com|scripts/build|20010613084034|50458 E 95 I 93 lm@lm.bitmover.com|scripts/gnu-os|19970616034135|04002|f13ac0c986e51a1 staelin@hpli69.hpli.hpl.hp.com|scripts/gnu-os|20010613074312|59410 E 93 I 92 lm@lm.bitmover.com|src/lmdd.c|19900601103208|08405|49191613a2a80e staelin@hpli69.hpli.hpl.hp.com|src/lmdd.c|20010613074220|37851 lm@lm.bitmover.com|src/bench.h|19941118084947|26325|ad8c6e375dc87a5c staelin@hpli69.hpli.hpl.hp.com|src/bench.h|20010613074219|44416 lm@lm.bitmover.com|src/lib_timing.c|19920624210914|13663|4ef3c93154a38206 staelin@hpli69.hpli.hpl.hp.com|src/lib_timing.c|20010613074219|15882 staelin@hpli8.hpli.hpl.hp.com|scripts/build|20000627112120|02240|2e577c9d312058c8 staelin@hpli69.hpli.hpl.hp.com|scripts/build|20010613074219|50642 E 92 I 91 lm@lm.bitmover.com|src/bench.h|19941118084947|26325|ad8c6e375dc87a5c staelin@hpli69.hpli.hpl.hp.com|src/bench.h|20010521072838|50783 lm@lm.bitmover.com|src/lib_timing.c|19920624210914|13663|4ef3c93154a38206 staelin@hpli69.hpli.hpl.hp.com|src/lib_timing.c|20010521072838|24485 staelin@hpli8.hpli.hpl.hp.com|scripts/build|20000627112120|02240|2e577c9d312058c8 staelin@hpli69.hpli.hpl.hp.com|scripts/build|20010521072838|22069 E 91 I 90 lm@lm.bitmover.com|src/lmdd.c|19900601103208|08405|49191613a2a80e staelin@hpli69.hpli.hpl.hp.com|src/lmdd.c|20010521064153|39945 E 90 I 89 lm@lm.bitmover.com|scripts/gnu-os|19970616034135|04002|f13ac0c986e51a1 staelin@hpli69.hpli.hpl.hp.com|scripts/gnu-os|20010510130655|53333 E 89 I 87 lm@lm.bitmover.com|scripts/getsummary|19941123071647|04502|3ff841867aca8d12 staelin@hpli69.hpli.hpl.hp.com|scripts/getsummary|20010502085146|13928 E 87 I 86 staelin@hpli69.hpli.hpl.hp.com|src/webpage-lm.tar|20010502082019|32084|b6bbd95b37d7e103 staelin@hpli69.hpli.hpl.hp.com|src/webpage-lm.tar|20010502082020|15069 E 86 I 84 lm@lm.bitmover.com|src/timing.h|19961114001459|21532|b03b538da693ddd3 staelin@hpli69.hpli.hpl.hp.com|src/timing.h|20010501112854|37475 E 84 I 83 lm@lm.bitmover.com|src/Makefile|19941118085513|37692|bce1823a10fe7d49 staelin@hpli69.hpli.hpl.hp.com|src/Makefile|20010501112809|29987 staelin@hpli8.hpli.hpl.hp.com|BitKeeper/etc/logging_ok|20000604085831|17701|2f56095411a8a312 staelin@hpli69.hpli.hpl.hp.com|BitKeeper/etc/logging_ok|20010501112812|16959 E 83 I 81 staelin@hpli8.hpli.hpl.hp.com|BitKeeper/etc/logging_ok|20000604085831|17701|2f56095411a8a312 staelin@hpli12.hpli.hpl.hp.com|BitKeeper/etc/logging_ok|20010409064815|14121 E 81 I 80 lm@lm.bitmover.com|BitKeeper/etc/config|20000131225554|14900|b315f4732d73103 lm@work.bitmover.com|BitKeeper/etc/config|20010217205657|23267 E 80 I 79 lm@lm.bitmover.com|BitKeeper/etc/config|20000131225554|14900|b315f4732d73103 lm@work.bitmover.com|BitKeeper/etc/config|20010208010058|59014 E 79 I 78 lm@lm.bitmover.com|src/bench.h|19941118084947|26325|ad8c6e375dc87a5c staelin@hpli8.hpli.hpl.hp.com|src/bench.h|20010207131652|38901 staelin@hpli8.hpli.hpl.hp.com|scripts/build|20000627112120|02240|2e577c9d312058c8 staelin@hpli8.hpli.hpl.hp.com|scripts/build|20010207131646|47500 lm@lm.bitmover.com|src/lmdd.c|19900601103208|08405|49191613a2a80e staelin@hpli8.hpli.hpl.hp.com|src/lmdd.c|20010207131653|40673 E 78 I 77 lm@lm.bitmover.com|src/lmdd.c|19900601103208|08405|49191613a2a80e staelin@hpli8.hpli.hpl.hp.com|src/lmdd.c|20010207115440|40809 E 77 I 76 lm@lm.bitmover.com|BitKeeper/etc/config|20000131225554|14900|b315f4732d73103 staelin@hpli8.hpli.hpl.hp.com|BitKeeper/etc/config|20010207102641|46850 E 76 I 75 lm@lm.bitmover.com|BitKeeper/etc/config|20000131225554|14900|b315f4732d73103 lm@work.bitmover.com|BitKeeper/etc/config|20010131051638|39188 E 75 I 74 lm@work.bitmover.com|BitKeeper/etc/ignore|20000803203902|22403|45273e24173205ec lm@work.bitmover.com|BitKeeper/etc/ignore|20010131043746|06107 lm@lm.bitmover.com|BitKeeper/etc/config|20000131225554|14900|b315f4732d73103 lm@work.bitmover.com|BitKeeper/etc/config|20010131044044|39554 E 74 I 72 lm@lm.bitmover.com|src/Makefile|19941118085513|37692|bce1823a10fe7d49 staelin@hpli8.hpli.hpl.hp.com|src/Makefile|20010109081824|28369 E 72 I 70 lm@lm.bitmover.com|src/bw_pipe.c|19941118084947|54645|fa12331757b8149c staelin@hpli8.hpli.hpl.hp.com|src/bw_pipe.c|20010107144739|62093 E 70 I 68 lm@lm.bitmover.com|scripts/getsummary|19941123071647|04502|3ff841867aca8d12 staelin@hpli8.hpli.hpl.hp.com|scripts/getsummary|20010107133658|09260 E 68 I 66 lm@lm.bitmover.com|src/bench.h|19941118084947|26325|ad8c6e375dc87a5c staelin@hpli8.hpli.hpl.hp.com|src/bench.h|20001224084205|26012 E 66 I 65 lm@lm.bitmover.com|doc/Makefile|19941124014539|03739|9262ecd1cb60d077 staelin@hpli8.hpli.hpl.hp.com|doc/Makefile|20001224083932|44041 E 65 I 64 lm@lm.bitmover.com|src/lmdd.c|19900601103208|08405|49191613a2a80e staelin@hpli8.hpli.hpl.hp.com|src/lmdd.c|20001224083758|38742 E 64 I 62 lm@lm.bitmover.com|src/Makefile|19941118085513|37692|bce1823a10fe7d49 staelin@hpli8.hpli.hpl.hp.com|src/Makefile|20001211143642|16524 E 62 I 60 lm@lm.bitmover.com|src/Makefile|19941118085513|37692|bce1823a10fe7d49 staelin@hpli8.hpli.hpl.hp.com|src/Makefile|20001211142358|16405 E 60 I 59 lm@lap|src/version.h|19980617000207|02698|ea66bbcacf225bf6 staelin@hpli8.hpli.hpl.hp.com|src/version.h|20001211142309|05583 E 59 I 58 lm@lm.bitmover.com|src/lat_select.c|19961114001606|65044|97c296f6daba401d staelin@hpli8.hpli.hpl.hp.com|src/lat_select.c|20001211142232|15464 E 58 I 57 lm@lm.bitmover.com|src/lat_fifo.c|19971020064843|03898|e79b9fced992184a staelin@hpli8.hpli.hpl.hp.com|src/lat_fifo.c|20001211142159|29330 E 57 I 56 lm@work.bitmover.com|src/lat_fcntl.c|19991208171819|08698|13b82230576b9707 staelin@hpli8.hpli.hpl.hp.com|src/lat_fcntl.c|20001211142057|48357 E 56 I 55 lm@lm.bitmover.com|src/clock.c|19970611034617|27314|c65f836be45c53d8 staelin@hpli8.hpli.hpl.hp.com|src/clock.c|20001211141455|42089 E 55 I 54 lm@lm.bitmover.com|doc/lat_rpc.8|19941118092634|03775|6edcc5c54c822c39 staelin@hpli8.hpli.hpl.hp.com|doc/lat_rpc.8|20001211141250|12000 lm@lm.bitmover.com|doc/lat_pipe.8|19941118092634|03880|37e8ddab859a93ee staelin@hpli8.hpli.hpl.hp.com|doc/lat_pipe.8|20001211141248|10775 lm@lm.bitmover.com|doc/bw_tcp.8|19941118092634|03673|7dc15eaaec14a49e staelin@hpli8.hpli.hpl.hp.com|doc/bw_tcp.8|20001211141244|16847 lm@lm.bitmover.com|doc/lat_udp.8|19941118092634|03779|44c63df220a6d3a2 staelin@hpli8.hpli.hpl.hp.com|doc/lat_udp.8|20001211141252|27181 lm@lm.bitmover.com|doc/lat_connect.8|19941118092634|04196|2b29d3e2c9189258 staelin@hpli8.hpli.hpl.hp.com|doc/lat_connect.8|20001211141245|25088 lm@lm.bitmover.com|doc/bw_pipe.8|19941118092634|03776|9adf2f02618b4e50 staelin@hpli8.hpli.hpl.hp.com|doc/bw_pipe.8|20001211141244|44386 lm@lm.bitmover.com|doc/lat_tcp.8|19941118092634|03777|5609f9268d2e1165 staelin@hpli8.hpli.hpl.hp.com|doc/lat_tcp.8|20001211141251|27940 lm@lm.bitmover.com|doc/lat_fs.8|19941118092634|03667|63d927a6ff8bcf3e staelin@hpli8.hpli.hpl.hp.com|doc/lat_fs.8|20001211141246|11904 lm@lm.bitmover.com|doc/lat_pagefault.8|19941124020532|04402|7d20eeb85f9f1645 staelin@hpli8.hpli.hpl.hp.com|doc/lat_pagefault.8|20001211141248|21940 lm@lm.bitmover.com|doc/lat_mmap.8|19941118092634|03877|84a64349f0123bfd staelin@hpli8.hpli.hpl.hp.com|doc/lat_mmap.8|20001211141247|15495 lm@lm.bitmover.com|doc/lat_proc.8|19941118092634|03886|ea79d2afffceab staelin@hpli8.hpli.hpl.hp.com|doc/lat_proc.8|20001211141249|61703 E 54 I 53 staelin@hpli8.hpli.hpl.hp.com|doc/timing_o.8|20001211140829|05985|6b45e9f139215ec2 staelin@hpli8.hpli.hpl.hp.com|doc/timing_o.8|20001211140830|39082 staelin@hpli8.hpli.hpl.hp.com|doc/loop_o.8|20001211140830|06009|6b40fca13929b6c0 staelin@hpli8.hpli.hpl.hp.com|doc/loop_o.8|20001211140831|59069 E 53 I 52 staelin@hpisc8.lempel|/users/staelin/src/lmbench/doc/reporting.3|19980507160021|06933|bf8cc461e69735b1 staelin@hpli8.hpli.hpl.hp.com|doc/reporting.3|20001211135353|39242 lm@lm.bitmover.com|doc/lat_syscall.8|19941118092634|04213|b18bb8295c98aaf1 staelin@hpli8.hpli.hpl.hp.com|doc/lat_syscall.8|20001211135345|55596 staelin@hpisc8.lempel|/users/staelin/src/lmbench/doc/lmbench.3|19980507160012|06676|59c0c51f7abc65bc staelin@hpli8.hpli.hpl.hp.com|doc/lmbench.3|20001211135346|37771 staelin@hpisc8.lempel|/users/staelin/src/lmbench/doc/results.3|19980507160025|06737|95a37785bda67a80 staelin@hpli8.hpli.hpl.hp.com|doc/results.3|20001211135354|31507 lm@lm.bitmover.com|doc/mhz.8|19941118092634|03369|7e573fe1f46fec90 staelin@hpli8.hpli.hpl.hp.com|doc/mhz.8|20001211135348|28914 lm@lm.bitmover.com|doc/bw_mem_cp.8|19941118092634|03971|f97504d24c730298 staelin@hpli8.hpli.hpl.hp.com|doc/bw_mem.8|20001211135344|11264 lm@lm.bitmover.com|doc/lmbench.8|19941118092634|03763|d3dc7cbc3d593fd1 staelin@hpli8.hpli.hpl.hp.com|doc/lmbench.8|20001211135347|06596 staelin@hpisc8.lempel|/users/staelin/src/lmbench/doc/timing.3|19980507160031|06596|6f0a881ebd8a9da8 staelin@hpli8.hpli.hpl.hp.com|doc/timing.3|20001211135355|38005 E 52 I 51 lm@lm.bitmover.com|doc/bw_tcp.8|19941118092634|03673|7dc15eaaec14a49e staelin@hpli8.hpli.hpl.hp.com|doc/bw_tcp.8|20001211135031|13037 lm@lm.bitmover.com|doc/lat_udp.8|19941118092634|03779|44c63df220a6d3a2 staelin@hpli8.hpli.hpl.hp.com|doc/lat_udp.8|20001211135045|23371 lm@lm.bitmover.com|doc/lat_connect.8|19941118092634|04196|2b29d3e2c9189258 staelin@hpli8.hpli.hpl.hp.com|doc/lat_connect.8|20001211135032|19875 lm@lm.bitmover.com|doc/lat_mem_rd.8|19941118092634|04078|fb0f80dcbbf45ddf staelin@hpli8.hpli.hpl.hp.com|doc/lat_mem_rd.8|20001211135034|57582 lm@lm.bitmover.com|doc/lat_ctx.8|19941118092634|03785|d9efbba7b0374c36 staelin@hpli8.hpli.hpl.hp.com|doc/lat_ctx.8|20001211135033|23038 lm@lm.bitmover.com|doc/bw_mmap_rd.8|19941118092634|04082|762e7e2793b39f89 staelin@hpli8.hpli.hpl.hp.com|doc/bw_mmap_rd.8|20001211135031|13689 lm@lm.bitmover.com|doc/lat_pagefault.8|19941124020532|04402|7d20eeb85f9f1645 staelin@hpli8.hpli.hpl.hp.com|doc/lat_pagefault.8|20001211135036|20445 lm@lm.bitmover.com|doc/lat_mmap.8|19941118092634|03877|84a64349f0123bfd staelin@hpli8.hpli.hpl.hp.com|doc/lat_mmap.8|20001211135035|13359 lm@lm.bitmover.com|doc/lmdd.8|19941118092634|03451|45b46ec0e9b4426c staelin@hpli8.hpli.hpl.hp.com|doc/lmdd.8|20001211135045|31338 lm@lm.bitmover.com|doc/lat_proc.8|19941118092634|03886|ea79d2afffceab staelin@hpli8.hpli.hpl.hp.com|doc/lat_proc.8|20001211135041|58723 lm@lm.bitmover.com|doc/lat_rpc.8|19941118092634|03775|6edcc5c54c822c39 staelin@hpli8.hpli.hpl.hp.com|doc/lat_rpc.8|20001211135044|64802 lm@lm.bitmover.com|doc/bw_file_rd.8|19941118092634|04071|25620ef556775f09 staelin@hpli8.hpli.hpl.hp.com|doc/bw_file_rd.8|20001211135030|17029 E 51 I 50 staelin@hpli8.hpli.hpl.hp.com|doc/lat_select.8|20001211133912|14023|6f043918330b2f52 staelin@hpli8.hpli.hpl.hp.com|doc/lat_select.8|20001211133913|10910 lm@lm.bitmover.com|src/mhz.irix|19941130214038|00301|845ba9c3182ca3bb staelin@hpli8.hpli.hpl.hp.com|BitKeeper/deleted/.del-mhz.irix~845ba9c3182ca3bb|20001211124130|07717 staelin@hpli8.hpli.hpl.hp.com|doc/disk.8|20001211133911|12375|6f01ad1d3301757a staelin@hpli8.hpli.hpl.hp.com|doc/disk.8|20001211133912|26388 staelin@hpli8.hpli.hpl.hp.com|doc/lat_fifo.8|20001211133914|18604|6f04785833008df0 staelin@hpli8.hpli.hpl.hp.com|doc/lat_fifo.8|20001211133915|08348 lm@lm.bitmover.com|doc/bw_mem_wr.8|19941118092634|03993|99ed12a73b549c3 staelin@hpli8.hpli.hpl.hp.com|BitKeeper/deleted/.del-bw_mem_wr.8~99ed12a73b549c3|20001211075109|09985 staelin@hpli8.hpli.hpl.hp.com|doc/lat_unix_connect.8|20001211133914|52961|6f02a81d330f6d78 staelin@hpli8.hpli.hpl.hp.com|doc/lat_unix_connect.8|20001211133915|18634 staelin@hpli8.hpli.hpl.hp.com|doc/lat_fcntl.8|20001211133913|45658|6f00bc08330885d8 staelin@hpli8.hpli.hpl.hp.com|doc/lat_fcntl.8|20001211133914|00348 lm@lm.bitmover.com|doc/bw_mem_cp.8|19941118092634|03971|f97504d24c730298 staelin@hpli8.hpli.hpl.hp.com|doc/bw_mem.8|20001211073453|07993 lm@lm.bitmover.com|doc/bw_mem_rd.8|19941118092634|03974|a4464de6fbe63828 staelin@hpli8.hpli.hpl.hp.com|BitKeeper/deleted/.del-bw_mem_rd.8~a4464de6fbe63828|20001211075108|10049 staelin@hpli8.hpli.hpl.hp.com|doc/bw_unix.8|20001211133859|28925|6f00ad8133095cd0 staelin@hpli8.hpli.hpl.hp.com|doc/bw_unix.8|20001211133900|49352 staelin@hpli8.hpli.hpl.hp.com|doc/enough.8|20001211133912|13078|6f05fc08330195d0 staelin@hpli8.hpli.hpl.hp.com|doc/enough.8|20001211133913|09575 staelin@hpli8.hpli.hpl.hp.com|doc/lat_http.8|20001211133913|12023|6f042819330a4fd2 staelin@hpli8.hpli.hpl.hp.com|doc/lat_http.8|20001211133914|40245 staelin@hpli8.hpli.hpl.hp.com|doc/lat_sig.8|20001211133914|19254|6f02fd5833052ff2 staelin@hpli8.hpli.hpl.hp.com|doc/lat_sig.8|20001211133915|65327 staelin@hpli8.hpli.hpl.hp.com|doc/lat_unix.8|20001211133913|11808|6f05ec1c3300c5d0 staelin@hpli8.hpli.hpl.hp.com|doc/lat_unix.8|20001211133914|13704 staelin@hpli8.hpli.hpl.hp.com|doc/clock.8|20001211133912|45968|6f012948330b6fd8 staelin@hpli8.hpli.hpl.hp.com|doc/clock.8|20001211133913|32418 E 50 I 48 staelin@hpli8.hpli.hpl.hp.com|scripts/build|20000627112120|02240|2e577c9d312058c8 staelin@hpli8.hpli.hpl.hp.com|scripts/build|20001207102531|22617 E 48 I 47 lm@lm.bitmover.com|scripts/getsummary|19941123071647|04502|3ff841867aca8d12 staelin@hpli8.hpli.hpl.hp.com|scripts/getsummary|20001115074635|41856 E 47 I 45 lm@lm.bitmover.com|src/lat_rpc.c|19941118084947|10025|8144ca9d37f3411e staelin@hpli8.hpli.hpl.hp.com|src/lat_rpc.c|20001030114521|56104 E 45 I 43 lm@lm.bitmover.com|src/bench.h|19941118084947|26325|ad8c6e375dc87a5c staelin@hpli8.hpli.hpl.hp.com|src/bench.h|20001030114236|24769 lm@lm.bitmover.com|src/lat_select.c|19961114001606|65044|97c296f6daba401d staelin@hpli8.hpli.hpl.hp.com|src/lat_select.c|20001030114237|16558 E 43 I 41 lm@lm.bitmover.com|scripts/results|19941126004058|04190|4fe7cbc4774e86d3 staelin@hpli8.hpli.hpl.hp.com|scripts/results|20001025125838|46024 E 41 I 40 lm@lm.bitmover.com|scripts/lmbench|19941123071647|45281|acff2ef2b9c4b39c staelin@hpli8.hpli.hpl.hp.com|scripts/lmbench|20001025103327|08562 lm@lm.bitmover.com|src/lat_select.c|19961114001606|65044|97c296f6daba401d staelin@hpli8.hpli.hpl.hp.com|src/lat_select.c|20001025103329|51510 lm@lm.bitmover.com|scripts/getsummary|19941123071647|04502|3ff841867aca8d12 staelin@hpli8.hpli.hpl.hp.com|scripts/getsummary|20001025103326|46780 E 40 I 39 lm@lm.bitmover.com|src/lat_rpc.c|19941118084947|10025|8144ca9d37f3411e lm@openbsd.bitmover.com|src/lat_rpc.c|20000924184845|49346 lm@lm.bitmover.com|src/lat_select.c|19961114001606|65044|97c296f6daba401d lm@openbsd.bitmover.com|src/lat_select.c|20000924190013|01621 lm@lm.bitmover.com|src/lib_tcp.h|19961114001459|32750|fae00e4b816a260 lm@openbsd.bitmover.com|src/lib_tcp.h|20000924184850|52225 lm@lm.bitmover.com|src/lib_udp.h|19961114001459|51303|54591f07d0325bfe lm@openbsd.bitmover.com|src/lib_udp.h|20000924184857|40423 lm@lm.bitmover.com|src/bench.h|19941118084947|26325|ad8c6e375dc87a5c lm@openbsd.bitmover.com|src/bench.h|20000924184837|18584 E 39 I 38 lm@lm.bitmover.com|scripts/results|19941126004058|04190|4fe7cbc4774e86d3 staelin@hpli8.hpli.hpl.hp.com|scripts/results|20000924111808|45701 lm@lm.bitmover.com|scripts/config-run|19941126004058|04811|7bdb249a4ff37f0 staelin@hpli8.hpli.hpl.hp.com|scripts/config-run|20000924111803|15333 lm@lm.bitmover.com|scripts/lmbench|19941123071647|45281|acff2ef2b9c4b39c staelin@hpli8.hpli.hpl.hp.com|scripts/lmbench|20000924111806|04288 E 38 I 36 lm@lm.bitmover.com|scripts/config-run|19941126004058|04811|7bdb249a4ff37f0 staelin@hpli8.hpli.hpl.hp.com|scripts/config-run|20000913112621|15585 lm@lm.bitmover.com|scripts/lmbench|19941123071647|45281|acff2ef2b9c4b39c staelin@hpli8.hpli.hpl.hp.com|scripts/lmbench|20000913112623|02203 E 36 I 35 lm@lm.bitmover.com|src/lat_udp.c|19941118084947|24062|7459a472444854ce lm@hp.bitmover.com|src/lat_udp.c|20000815223250|08351 E 35 I 34 lm@lm.bitmover.com|src/lib_udp.c|19941118084947|37686|742df623760bb62f lm@lm.bitmover.com|src/lib_udp.c|20000815221146|22286 E 34 I 33 lm@lm.bitmover.com|scripts/gnu-os|19970616034135|04002|f13ac0c986e51a1 staelin@hpli8.hpli.hpl.hp.com|scripts/gnu-os|20000814141022|59574 E 33 I 32 lm@lm.bitmover.com|scripts/gnu-os|19970616034135|04002|f13ac0c986e51a1 staelin@hpli8.hpli.hpl.hp.com|scripts/gnu-os|20000810131536|50175 E 32 I 31 staelin@hpli8.hpli.hpl.hp.com|BitKeeper/etc/logging_ok|20000604085831|17701|2f56095411a8a312 staelin@work.bitmover.com|BitKeeper/etc/logging_ok|20000808124107|11295 E 31 I 30 staelin@hpli8.hpli.hpl.hp.com|BitKeeper/etc/logging_ok|20000604085831|17701|2f56095411a8a312 lm@va.bitmover.com|BitKeeper/etc/logging_ok|20000804003828|08735 lm@lm.bitmover.com|src/bench.h|19941118084947|26325|ad8c6e375dc87a5c lm@va.bitmover.com|src/bench.h|20000804003825|14962 E 30 I 29 lm@lm.bitmover.com|src/bw_tcp.c|19941118084947|19070|7051c2802eae1cf3 lm@work.bitmover.com|src/bw_tcp.c|20000803220205|05364 E 29 I 28 lm@work.bitmover.com|BitKeeper/etc/ignore|20000803203902|22403|45273e24173205ec lm@work.bitmover.com|BitKeeper/etc/ignore|20000803203944|05117 staelin@hpli8.hpli.hpl.hp.com|BitKeeper/etc/logging_ok|20000604085831|17701|2f56095411a8a312 lm@work.bitmover.com|BitKeeper/etc/logging_ok|20000803204021|06946 lm@lm.bitmover.com|src/bench.h|19941118084947|26325|ad8c6e375dc87a5c lm@work.bitmover.com|src/bench.h|20000803204019|17151 E 28 I 26 lm@lm.bitmover.com|src/Makefile|19941118085513|37692|bce1823a10fe7d49 staelin@hpli8.hpli.hpl.hp.com|src/Makefile|20000803111929|56113 E 26 I 24 lm@lm.bitmover.com|src/Makefile|19941118085513|37692|bce1823a10fe7d49 staelin@hpli8.hpli.hpl.hp.com|src/Makefile|20000803090048|54886 E 24 I 23 lm@lm.bitmover.com|src/Makefile|19941118085513|37692|bce1823a10fe7d49 staelin@hpli8.hpli.hpl.hp.com|src/Makefile|20000803085919|54850 E 23 I 21 lm@lm.bitmover.com|scripts/results|19941126004058|04190|4fe7cbc4774e86d3 staelin@hpli8.hpli.hpl.hp.com|scripts/results|20000803084502|44488 lm@lm.bitmover.com|scripts/config-run|19941126004058|04811|7bdb249a4ff37f0 staelin@hpli8.hpli.hpl.hp.com|scripts/config-run|20000803084501|44825 lm@lm.bitmover.com|scripts/lmbench|19941123071647|45281|acff2ef2b9c4b39c staelin@hpli8.hpli.hpl.hp.com|scripts/lmbench|20000803084502|03662 E 21 I 19 lm@lm.bitmover.com|scripts/lmbench|19941123071647|45281|acff2ef2b9c4b39c staelin@hpli8.hpli.hpl.hp.com|scripts/lmbench|20000802082158|45154 staelin@hpli8.hpli.hpl.hp.com|scripts/output|20000802081751|27110|6f4768b433aa78f0 staelin@hpli8.hpli.hpl.hp.com|scripts/output|20000802081752|16487 E 19 I 17 lm@lm.bitmover.com|src/Makefile|19941118085513|37692|bce1823a10fe7d49 staelin@hpli8.hpli.hpl.hp.com|src/Makefile|20000802073802|50058 lm@lm.bitmover.com|scripts/lmbench|19941123071647|45281|acff2ef2b9c4b39c staelin@hpli8.hpli.hpl.hp.com|scripts/lmbench|20000802073802|43425 E 17 I 16 lm@lm.bitmover.com|src/lat_mem_rd.c|19941118084947|64604|c02704ba4b897de0 staelin@hpli8.hpli.hpl.hp.com|src/lat_mem_rd.c|20000801130421|17665 lm@lm.bitmover.com|scripts/getsummary|19941123071647|04502|3ff841867aca8d12 staelin@hpli8.hpli.hpl.hp.com|scripts/getsummary|20000801130421|38573 E 16 I 15 lm@lm.bitmover.com|scripts/getsummary|19941123071647|04502|3ff841867aca8d12 staelin@hpli8.hpli.hpl.hp.com|scripts/getsummary|20000801075421|38516 E 15 I 14 lm@lm.bitmover.com|src/Makefile|19941118085513|37692|bce1823a10fe7d49 staelin@hpli8.hpli.hpl.hp.com|src/Makefile|20000731134115|19686 lm@lm.bitmover.com|src/lmdd.c|19900601103208|08405|49191613a2a80e staelin@hpli8.hpli.hpl.hp.com|src/lmdd.c|20000731134118|38641 lm@lm.bitmover.com|src/bench.h|19941118084947|26325|ad8c6e375dc87a5c staelin@hpli8.hpli.hpl.hp.com|src/bench.h|20000731134116|12055 lm@lm.bitmover.com|src/lib_timing.c|19920624210914|13663|4ef3c93154a38206 staelin@hpli8.hpli.hpl.hp.com|src/lib_timing.c|20000731134117|15882 lm@lap|src/version.h|19980617000207|02698|ea66bbcacf225bf6 staelin@hpli8.hpli.hpl.hp.com|src/version.h|20000731134120|05582 lm@lm.bitmover.com|src/mhz.c|19941118085154|23994|a8a6d33bb26f366 staelin@hpli8.hpli.hpl.hp.com|src/mhz.c|20000731134119|54669 lm@lm.bitmover.com|src/bw_mem.c|19970708061759|19200|6b79a80385eb9ec7 staelin@hpli8.hpli.hpl.hp.com|src/bw_mem.c|20000731134116|21654 lm@lm.bitmover.com|src/lmhttp.c|19970613043401|03634|44f0727f23143b90 staelin@hpli8.hpli.hpl.hp.com|src/lmhttp.c|20000731134118|28496 lm@lm.bitmover.com|scripts/getlist|19941123071647|00421|646c9152fb842aab staelin@hpli8.hpli.hpl.hp.com|scripts/getlist|20000731134112|46992 lm@lm.bitmover.com|scripts/config-run|19941126004058|04811|7bdb249a4ff37f0 staelin@hpli8.hpli.hpl.hp.com|scripts/config-run|20000731134111|52572 lm@lm.bitmover.com|scripts/getsummary|19941123071647|04502|3ff841867aca8d12 staelin@hpli8.hpli.hpl.hp.com|scripts/getsummary|20000731135737|09046 lm@lm.bitmover.com|scripts/gnu-os|19970616034135|04002|f13ac0c986e51a1 staelin@hpli8.hpli.hpl.hp.com|scripts/gnu-os|20000731134113|51987 lm@lm.bitmover.com|scripts/lmbench|19941123071647|45281|acff2ef2b9c4b39c staelin@hpli8.hpli.hpl.hp.com|scripts/lmbench|20000731134113|39761 staelin@hpli8.hpli.hpl.hp.com|scripts/build|20000627112120|02240|2e577c9d312058c8 staelin@hpli8.hpli.hpl.hp.com|scripts/build|20000731134111|59785 staelin@hpli8.hpli.hpl.hp.com|scripts/statsummary|20000726080715|05046|6f126cfd330a587a staelin@hpli8.hpli.hpl.hp.com|scripts/statsummary|20000731134114|13899 staelin@hpli8.hpli.hpl.hp.com|scripts/make|20000731122559|32332|6b5338a43982f8f8 staelin@hpli8.hpli.hpl.hp.com|scripts/make|20000731122600|10474 lm@lm.bitmover.com|results/Makefile|19941124014656|04215|b60f2a10c224046e staelin@hpli8.hpli.hpl.hp.com|results/Makefile|20000731134110|07474 E 14 I 13 lm@lm.bitmover.com|src/lib_timing.c|19920624210914|13663|4ef3c93154a38206 staelin@hpli8.hpli.hpl.hp.com|src/lib_timing.c|20000703132139|21732 lm@lm.bitmover.com|scripts/gnu-os|19970616034135|04002|f13ac0c986e51a1 staelin@hpli8.hpli.hpl.hp.com|scripts/gnu-os|20000703132139|04736 E 13 I 12 staelin@hpli8.hpli.hpl.hp.com|scripts/build|20000627112120|02240|2e577c9d312058c8 staelin@hpli8.hpli.hpl.hp.com|scripts/build|20000627144120|47318 E 12 I 11 lm@lm.bitmover.com|src/Makefile|19941118085513|37692|bce1823a10fe7d49 staelin@hpli8.hpli.hpl.hp.com|src/Makefile|20000627115859|19341 staelin@hpli8.hpli.hpl.hp.com|scripts/build|20000627112120|02240|2e577c9d312058c8 staelin@hpli8.hpli.hpl.hp.com|scripts/build|20000627112121|34461 E 11 I 10 lm@lm.bitmover.com|src/bench.h|19941118084947|26325|ad8c6e375dc87a5c staelin@hpli8.hpli.hpl.hp.com|src/bench.h|20000626070552|11690 E 10 I 9 lm@lm.bitmover.com|src/Makefile|19941118085513|37692|bce1823a10fe7d49 staelin@hpli8.hpli.hpl.hp.com|src/Makefile|20000626065454|15044 E 9 I 8 lm@lm.bitmover.com|src/mhz.c|19941118085154|23994|a8a6d33bb26f366 staelin@hpli8.hpli.hpl.hp.com|src/mhz.c|20000625103510|56032 lm@lm.bitmover.com|src/lib_stats.c|19970613043347|45129|6b0974d3d98b42e9 staelin@hpli8.hpli.hpl.hp.com|src/lib_stats.c|20000625103510|13932 E 8 I 7 lm@lm.bitmover.com|src/mhz.c|19941118085154|23994|a8a6d33bb26f366 staelin@hpli8.hpli.hpl.hp.com|src/mhz.c|20000621140938|54492 lm@lm.bitmover.com|src/lat_rpc.c|19941118084947|10025|8144ca9d37f3411e staelin@hpli8.hpli.hpl.hp.com|src/lat_rpc.c|20000621140937|61826 lm@lm.bitmover.com|scripts/lmbench|19941123071647|45281|acff2ef2b9c4b39c staelin@hpli8.hpli.hpl.hp.com|scripts/lmbench|20000621140936|44048 E 7 I 6 lm@lm.bitmover.com|BitKeeper/etc/config|20000131225554|14900|b315f4732d73103 staelin@hpli8.hpli.hpl.hp.com|BitKeeper/etc/config|20000604085831|35250 staelin@hpli8.hpli.hpl.hp.com|BitKeeper/etc/logging_ok|20000604085831|17701|2f56095411a8a312 staelin@hpli8.hpli.hpl.hp.com|BitKeeper/etc/logging_ok|20000604085832|04921 lm@lm.bitmover.com|src/lib_timing.c|19920624210914|13663|4ef3c93154a38206 staelin@hpli8.hpli.hpl.hp.com|src/lib_timing.c|20000604085830|20845 E 6 I 5 lm@lm.bitmover.com|BitKeeper/etc/config|20000131225554|14900|b315f4732d73103 staelin@hpli8.hpli.hpl.hp.com|BitKeeper/etc/config|20000202075807|43540 lm@lm.bitmover.com|src/bench.h|19941118084947|26325|ad8c6e375dc87a5c staelin@hpli8.hpli.hpl.hp.com|src/bench.h|20000202075741|10193 lm@lm.bitmover.com|src/lib_timing.c|19920624210914|13663|4ef3c93154a38206 staelin@hpli8.hpli.hpl.hp.com|src/lib_timing.c|20000202075742|16347 lm@lm.bitmover.com|src/mhz.c|19941118085154|23994|a8a6d33bb26f366 staelin@hpli8.hpli.hpl.hp.com|src/mhz.c|20000202075743|21318 lm@lm.bitmover.com|src/lat_rpc.c|19941118084947|10025|8144ca9d37f3411e staelin@hpli8.hpli.hpl.hp.com|src/lat_rpc.c|20000202075742|44033 E 5 I 4 lm@lm.bitmover.com|BitKeeper/etc/config|20000131225554|14900|b315f4732d73103 lm@lm.bitmover.com|BitKeeper/etc/config|20000201002931|39634 lm@lm.bitmover.com|Makefile|19941126011957|03385|b47aad8cf4afe990 lm@lm.bitmover.com|Makefile|20000201002928|54037 lm@lm.bitmover.com|doc/Makefile|19941124014539|03739|9262ecd1cb60d077 lm@lm.bitmover.com|doc/Makefile|20000201002928|27316 lm@lm.bitmover.com|src/Makefile|19941118085513|37692|bce1823a10fe7d49 lm@lm.bitmover.com|src/Makefile|20000201002928|07677 lm@lm.bitmover.com|scripts/Makefile|19941124014401|04193|5e85834849ee718e lm@lm.bitmover.com|scripts/Makefile|20000201002928|06190 lm@lm.bitmover.com|scripts/allctx|19951025165200|04044|cc93e1fcf21cfdd5 lm@lm.bitmover.com|scripts/allctx|20000131232941|06389 lm@lm.bitmover.com|scripts/getlist|19941123071647|00421|646c9152fb842aab lm@lm.bitmover.com|scripts/getlist|20000131232941|17366 lm@lm.bitmover.com|scripts/allmem|19951025165200|04028|300808bde8ca0dcf lm@lm.bitmover.com|scripts/allmem|20000131232941|06373 lm@lm.bitmover.com|scripts/bghtml|19970615041409|04040|3aa371e545f99eea lm@lm.bitmover.com|scripts/bghtml|20000131232941|06379 lm@lm.bitmover.com|scripts/bargraph|19941123071647|04239|ca073339c08ad586 lm@lm.bitmover.com|scripts/bargraph|20000131232941|06580 lm@lm.bitmover.com|scripts/results|19941126004058|04190|4fe7cbc4774e86d3 lm@lm.bitmover.com|scripts/results|20000131232942|06528 lm@lm.bitmover.com|scripts/config|19970615041303|04025|c7aeb615f51dd402 lm@lm.bitmover.com|scripts/config|20000131232941|06371 lm@lm.bitmover.com|scripts/compiler|19970616061229|04264|c0a3d7f6c0556250 lm@lm.bitmover.com|scripts/compiler|20000131232941|06600 lm@lm.bitmover.com|scripts/config-run|19941126004058|04811|7bdb249a4ff37f0 lm@lm.bitmover.com|scripts/config-run|20000131232941|44946 lm@lm.bitmover.com|scripts/depend|19941123071647|04024|5223a6a8e4dfff54 lm@lm.bitmover.com|scripts/depend|20000131232941|06365 lm@lm.bitmover.com|scripts/getbg|19941123071647|03921|e5fe9ba5830ee435 lm@lm.bitmover.com|scripts/getbg|20000131232941|06262 lm@lm.bitmover.com|scripts/getbw|19970615041409|03939|9d79bf4769c384ce lm@lm.bitmover.com|scripts/getbw|20000131232941|06278 lm@lm.bitmover.com|scripts/getctx|19941123071647|04055|5af976ad278e7418 lm@lm.bitmover.com|scripts/getctx|20000131232941|06396 lm@lm.bitmover.com|scripts/getmax|19941123071647|04046|b3fb9fe573436abf lm@lm.bitmover.com|scripts/getmax|20000131232941|06387 lm@lm.bitmover.com|scripts/getdisk|19971101020000|04135|3b2ec488bd048f37 lm@lm.bitmover.com|scripts/getdisk|20000131232941|06488 lm@lm.bitmover.com|scripts/getmem|19941123071647|04039|ef6b575d2ae3b853 lm@lm.bitmover.com|scripts/getmem|20000131232941|06380 lm@lm.bitmover.com|scripts/gifs|19970615041331|03821|64a9206ca9d2af8a lm@lm.bitmover.com|scripts/gifs|20000131232942|06167 lm@lm.bitmover.com|scripts/getpercent|19941123071647|04473|6f25a175673b6b6a lm@lm.bitmover.com|scripts/getpercent|20000131232941|06814 lm@lm.bitmover.com|scripts/getsummary|19941123071647|04502|3ff841867aca8d12 lm@lm.bitmover.com|scripts/getsummary|20000131232942|06844 lm@lm.bitmover.com|scripts/gnu-os|19970616034135|04002|f13ac0c986e51a1 lm@lm.bitmover.com|scripts/gnu-os|20000131232942|06343 lm@lm.bitmover.com|scripts/graph|19941123071647|03930|e02d7d6eb8b1fa01 lm@lm.bitmover.com|scripts/graph|20000131232942|06272 lm@lm.bitmover.com|scripts/info|19970616025553|03842|983152f24ab0d3f9 lm@lm.bitmover.com|scripts/info|20000131232942|06170 lm@lm.bitmover.com|scripts/html-list|19970615041409|04328|bc4b0e696fe0b7ab lm@lm.bitmover.com|scripts/html-list|20000131232942|06668 lm@lm.bitmover.com|scripts/html-man|19970615041409|04200|fb5cdd3e80d2e120 lm@lm.bitmover.com|scripts/html-man|20000131232942|06540 lm@lm.bitmover.com|scripts/os|19941123071647|03626|1b9fa2853f304463 lm@lm.bitmover.com|scripts/os|20000131232942|05968 lm@lm.bitmover.com|scripts/lmbench|19941123071647|45281|acff2ef2b9c4b39c lm@lm.bitmover.com|scripts/lmbench|20000201002928|44088 lm@lm.bitmover.com|scripts/info-template|19970616025601|01278|772aa74ddb9a5907 lm@lm.bitmover.com|scripts/info-template|20000131232942|45194 lm@lm.bitmover.com|scripts/man2html|19970615041409|04205|14724f5cb00b57d7 lm@lm.bitmover.com|scripts/man2html|20000131232942|06545 lm@lm.bitmover.com|scripts/new2oldctx|19970615041409|04436|7ef96e61ec39fdee lm@lm.bitmover.com|scripts/new2oldctx|20000131232942|06776 lm@lm.bitmover.com|scripts/opercent|19970615041409|04266|da232ce92ab7eca2 lm@lm.bitmover.com|scripts/opercent|20000131232942|06606 lm@lm.bitmover.com|scripts/percent|19970615041409|04155|da9ac6bee3eca1b8 lm@lm.bitmover.com|scripts/percent|20000131232942|06495 lm@lm.bitmover.com|scripts/rccs|19941124001810|03822|42f2c092869bbff5 lm@lm.bitmover.com|scripts/rccs|20000131232942|06169 lm@lm.bitmover.com|scripts/save|19941123071647|03831|f1160696e1a1d471 lm@lm.bitmover.com|scripts/save|20000131232942|06173 lm@lm.bitmover.com|scripts/stats|19970615041401|03953|5dd15d544b61fcd lm@lm.bitmover.com|scripts/stats|20000131232943|06302 lm@lm.bitmover.com|scripts/target|19970616025557|04065|cb9ca50866020da8 lm@lm.bitmover.com|scripts/target|20000131232943|06390 lm@lm.bitmover.com|scripts/xroff|19941123071647|03949|72252dff1a8e9b55 lm@lm.bitmover.com|scripts/xroff|20000131232943|06292 lm@bitmover|scripts/mkrelease|19980609055826|03739|8ca5c15a85807840 lm@lm.bitmover.com|scripts/mkrelease|20000131232942|06695 lm@lm.bitmover.com|scripts/version|19980701070310|04161|86f4c240e0ad9f12 lm@lm.bitmover.com|scripts/version|20000131232943|06517 lm@lm.bitmover.com|results/Makefile|19941124014656|04215|b60f2a10c224046e lm@lm.bitmover.com|results/Makefile|20000201002928|02127 E 4 I 3 lm@lm.bitmover.com|COPYING|19941126011939|03124|726656805de0b341 lm@lm.bitmover.com|COPYING|19941126011940|28409 lm@lm.bitmover.com|COPYING-2|19941126011939|12849|b10a375651a436ed lm@lm.bitmover.com|COPYING-2|19980630180905|59783 lm@lm.bitmover.com|Makefile|19941126011957|03385|b47aad8cf4afe990 lm@work.home|Makefile|19980330090054|52478 lm@lm.bitmover.com|README|19941126012116|28559|1836b00241ca7bea lm@lm.bitmover.com|README|19980701081956|49150 lm@lm.bitmover.com|hbench-REBUTTAL|19980630181154|03846|f06092ce32cca902 lm@lm.bitmover.com|hbench-REBUTTAL|19980630181451|22146 staelin@hpisc8.lempel|/users/staelin/src/lmbench/doc/lmbench.3|19980507160012|06676|59c0c51f7abc65bc staelin@hpisc8.lempel|doc/lmbench.3|19980507230013|41018 lm@lm.bitmover.com|doc/Makefile|19941124014539|03739|9262ecd1cb60d077 lm@work.home|doc/Makefile|19980330090405|27034 lm@lm.bitmover.com|doc/bargraph.1|19941123070408|03862|26353988fef89910 lm@lm.bitmover.com|doc/bargraph.1|19941123070409|32265 lm@lm.bitmover.com|doc/benchmarks|19940226131411|03981|3fc262271f9a32a3 lm@lm.bitmover.com|doc/benchmarks|19941118005646|11992 lm@lm.bitmover.com|doc/bw_pipe.8|19941118092634|03776|9adf2f02618b4e50 lm@lm.bitmover.com|doc/bw_pipe.8|19941118092635|43749 lm@lm.bitmover.com|doc/bw_file_rd.8|19941118092634|04071|25620ef556775f09 lm@lm.bitmover.com|doc/bw_file_rd.8|19941118092635|17017 lm@lm.bitmover.com|doc/bw_mem_cp.8|19941118092634|03971|f97504d24c730298 lm@lm.bitmover.com|doc/bw_mem_cp.8|19941118092635|31225 lm@lm.bitmover.com|doc/bw_mem_rd.8|19941118092634|03974|a4464de6fbe63828 lm@lm.bitmover.com|doc/bw_mem_rd.8|19941118092635|04836 lm@lm.bitmover.com|doc/bw_mem_wr.8|19941118092634|03993|99ed12a73b549c3 lm@lm.bitmover.com|doc/bw_mem_wr.8|19941118092635|14666 lm@lm.bitmover.com|doc/bw_mmap_rd.8|19941118092634|04082|762e7e2793b39f89 lm@lm.bitmover.com|doc/bw_mmap_rd.8|19941118092635|13685 lm@lm.bitmover.com|doc/bw_tcp.8|19941118092634|03673|7dc15eaaec14a49e lm@lm.bitmover.com|doc/bw_tcp.8|19971201234932|13029 lm@lm.bitmover.com|doc/ctx.pic|19941118092708|03631|2e58e73e6a4a0f41 lm@lm.bitmover.com|doc/ctx.pic|19951112003630|12872 lm@lm.bitmover.com|doc/graph.1|19941123070408|03553|1eaaf1edeacf94f9 lm@lm.bitmover.com|doc/graph.1|19941228015018|57675 lm@lm.bitmover.com|doc/description.ms|19941118093530|04386|48e3ea434fb9b923 lm@lm.bitmover.com|doc/description.ms|19941124020212|14252 lm@lm.bitmover.com|doc/lat_ctx.8|19941118092634|03785|d9efbba7b0374c36 lm@lm.bitmover.com|doc/lat_ctx.8|19941118092635|23018 lm@lm.bitmover.com|doc/lat_connect.8|19941118092634|04196|2b29d3e2c9189258 lm@lm.bitmover.com|doc/lat_connect.8|19941118092635|19861 lm@lm.bitmover.com|doc/lat_fs.8|19941118092634|03667|63d927a6ff8bcf3e lm@lm.bitmover.com|doc/lat_fs.8|19941126003319|11170 lm@lm.bitmover.com|doc/lat_mmap.8|19941118092634|03877|84a64349f0123bfd lm@lm.bitmover.com|doc/lat_mmap.8|19941118092635|13351 lm@lm.bitmover.com|doc/lat_mem_rd.8|19941118092634|04078|fb0f80dcbbf45ddf lm@lm.bitmover.com|doc/lat_mem_rd.8|19941126003500|57562 lm@lm.bitmover.com|doc/lat_pipe.8|19941118092634|03880|37e8ddab859a93ee lm@lm.bitmover.com|doc/lat_pipe.8|19941118092635|08958 lm@lm.bitmover.com|doc/lat_pagefault.8|19941124020532|04402|7d20eeb85f9f1645 lm@lm.bitmover.com|doc/lat_pagefault.8|19941124020533|20441 lm@lm.bitmover.com|doc/lat_proc.8|19941118092634|03886|ea79d2afffceab lm@lm.bitmover.com|doc/lat_proc.8|19941118092635|58719 lm@lm.bitmover.com|doc/lat_rpc.8|19941118092634|03775|6edcc5c54c822c39 lm@lm.bitmover.com|doc/lat_rpc.8|19941118092635|65071 lm@lm.bitmover.com|doc/lat_tcp.8|19941118092634|03777|5609f9268d2e1165 lm@lm.bitmover.com|doc/lat_tcp.8|19941118092635|23542 lm@lm.bitmover.com|doc/lat_syscall.8|19941118092634|04213|b18bb8295c98aaf1 lm@lm.bitmover.com|doc/lat_syscall.8|19941118092635|48253 lm@lm.bitmover.com|doc/lat_udp.8|19941118092634|03779|44c63df220a6d3a2 lm@lm.bitmover.com|doc/lat_udp.8|19941118092635|23367 lm@lm.bitmover.com|doc/lmbench.8|19941118092634|03763|d3dc7cbc3d593fd1 lm@lm.bitmover.com|doc/lmbench.8|19941124020110|04232 lm@lm.bitmover.com|doc/lmdd.8|19941118092634|03451|45b46ec0e9b4426c lm@lm.bitmover.com|doc/lmdd.8|19941118092635|31550 lm@lm.bitmover.com|doc/mhz.8|19941118092634|03369|7e573fe1f46fec90 lm@lm.bitmover.com|doc/mhz.8|19941126003312|03535 lm@lm.bitmover.com|doc/mem.pic|19941118092708|03615|7173161645f32a65 lm@lm.bitmover.com|doc/mem.pic|19951109043746|20399 lm@lm.bitmover.com|doc/rccs.1|19951129205203|03454|fceccc93a50b940b lm@lm.bitmover.com|doc/rccs.1|19951129205204|05446 lm@lm.bitmover.com|doc/pgraph.1|19941123070408|03665|c655ab1e2ccea001 lm@lm.bitmover.com|doc/pgraph.1|19951129195439|47823 staelin@lm.bitmover.com|doc/references|19950928013925|04545|ea42015f423ee575 staelin@lm.bitmover.com|doc/references|19951114022213|47406 staelin@lm.bitmover.com|doc/refdbms.keys|19950928013944|04717|ba53e1afe6a03bc7 staelin@lm.bitmover.com|doc/refdbms.keys|19950928013945|14764 lm@lm.bitmover.com|doc/usenix.ol|19950918203756|03882|1d8cf597e1e6e672 lm@lm.bitmover.com|doc/usenix.ol|19950927171508|28636 staelin@lm.bitmover.com|doc/references-|19950928013925|04590|71f8341b137326cb staelin@lm.bitmover.com|doc/references-|19951111023801|30895 lm@lm.bitmover.com|doc/tmac.usenix|19951025164747|04080|32814bd0494a91e7 lm@lm.bitmover.com|doc/tmac.usenix|19951025164748|17102 staelin@lm.bitmover.com|doc/references.private|19950928014040|05343|8f6093c1d1b10b5e staelin@lm.bitmover.com|doc/references.private|19950928014041|18470 staelin@hpisc8.lempel|/users/staelin/src/lmbench/doc/reporting.3|19980507160021|06933|bf8cc461e69735b1 staelin@hpisc8.lempel|doc/reporting.3|19980507230022|39578 lm@lm.bitmover.com|doc/usenix96.ms|19950918203756|03998|941e479c9cec20f0 lm@lm.bitmover.com|doc/usenix96.ms|19971201235006|43025 staelin@hpisc8.lempel|/users/staelin/src/lmbench/doc/results.3|19980507160025|06737|95a37785bda67a80 staelin@hpisc8.lempel|doc/results.3|19980507230026|32486 staelin@hpisc8.lempel|/users/staelin/src/lmbench/doc/timing.3|19980507160031|06596|6f0a881ebd8a9da8 staelin@hpisc8.lempel|doc/timing.3|19980507230032|37776 lm@lm.bitmover.com|src/Makefile|19941118085513|37692|bce1823a10fe7d49 lm@work.bitmover.com|src/Makefile|19990902173842|47824 lm@lm.bitmover.com|src/lmdd.c|19900601103208|08405|49191613a2a80e lm@work.bitmover.com|src/lmdd.c|19990903054738|43495 lm@lm.bitmover.com|src/TODO|19941118084947|33874|757cb19dbe6b995 lm@lap|src/TODO|19980630071408|64828 lm@lm.bitmover.com|src/disk.c|19971020064832|09828|4136b37fbde5c85d lm@lm.bitmover.com|src/disk.c|19980703003254|24803 lm@lm.bitmover.com|src/bw_mem.c|19970708061759|19200|6b79a80385eb9ec7 lm@lm.bitmover.com|src/bw_mem.c|19980630053723|13554 lm@lm.bitmover.com|src/bench.h|19941118084947|26325|ad8c6e375dc87a5c lm@lm.bitmover.com|src/bench.h|19980630064944|03233 lm@lm.bitmover.com|src/bw_file_rd.c|19941118084947|42959|7d6e949af5846971 lm@lm.bitmover.com|src/bw_file_rd.c|19980630053725|12743 lm@lm.bitmover.com|src/bw_pipe.c|19941118084947|54645|fa12331757b8149c lm@lm.bitmover.com|src/bw_pipe.c|19970625172501|55727 lm@lm.bitmover.com|src/enough.c|19970613043340|63250|9a0843e42c129a15 lm@lm.bitmover.com|src/enough.c|19980630064951|13806 lm@lm.bitmover.com|src/bw_mmap_rd.c|19941118084947|04186|418ae16dc12971 lm@lm.bitmover.com|src/bw_mmap_rd.c|19980630053727|21305 lm@lm.bitmover.com|src/flushdisk.c|19971024204947|14057|816a5afb22774a0 lm@lm.bitmover.com|src/flushdisk.c|19980630064957|39708 lm@lm.bitmover.com|src/bw_tcp.c|19941118084947|19070|7051c2802eae1cf3 lm@lm.bitmover.com|src/bw_tcp.c|19971020064011|01142 lm@lm.bitmover.com|src/bw_unix.c|19960522073302|32506|3ecbff5984316fe lm@lm.bitmover.com|src/bw_unix.c|19970625172501|60058 lm@lm.bitmover.com|src/lat_ctx.c|19941118084947|05650|8c9456d3fe23f5b3 lm@lm.bitmover.com|src/lat_ctx.c|19980701065820|07445 lm@lm.bitmover.com|src/clock.c|19970611034617|27314|c65f836be45c53d8 lm@lm.bitmover.com|src/clock.c|19970613043006|47171 lm@lm.bitmover.com|src/lmdd.1|19920227103516|33921|df9fa92cb54a1f00 lm@lm.bitmover.com|src/lmdd.1|19930516214537|06578 lm@lm.bitmover.com|src/seek.c|19960905055704|42171|5efb8d827f2f602 lm@lm.bitmover.com|src/seek.c|19970613043006|23812 lm@lm.bitmover.com|src/lat_unix_connect.c|19971020065015|47898|993911110514ea9 lm@lm.bitmover.com|src/lat_unix_connect.c|19980630065059|53896 lm@lm.bitmover.com|src/hello.c|19941118084947|57098|f8859fefaf295a3c lm@lm.bitmover.com|src/hello.c|19970613043006|05957 lm@lm.bitmover.com|src/lat_mem_rd.c|19941118084947|64604|c02704ba4b897de0 lm@lm.bitmover.com|src/lat_mem_rd.c|19980630231349|14350 lm@lm.bitmover.com|src/lib_timing.c|19920624210914|13663|4ef3c93154a38206 lm@lm.bitmover.com|src/lib_timing.c|19990321073834|57041 lm@lap|src/version.h|19980617000207|02698|ea66bbcacf225bf6 lm@lm.bitmover.com|src/version.h|19980731195454|03883 lm@lm.bitmover.com|src/lat_connect.c|19941118084947|14665|86372c4fec5b6e34 lm@lm.bitmover.com|src/lat_connect.c|19980731050411|28543 lm@lm.bitmover.com|src/mhz.c|19941118085154|23994|a8a6d33bb26f366 lm@lm.bitmover.com|src/mhz.c|19980630054136|16240 lm@lm.bitmover.com|src/lat_fifo.c|19971020064843|03898|e79b9fced992184a lm@lm.bitmover.com|src/lat_fifo.c|19971020064844|28664 lm@lm.bitmover.com|src/lat_fs.c|19941118084947|08513|e78dec908fe62e64 lm@lm.bitmover.com|src/lat_fs.c|19970616053858|60593 lm@lm.bitmover.com|src/lat_mmap.c|19941118084947|19537|e3044628e9a37e7 lm@lm.bitmover.com|src/lat_mmap.c|19970616053858|10049 lm@lm.bitmover.com|src/lat_pipe.c|19941118084947|42508|b08317879cd9d375 lm@lm.bitmover.com|src/lat_pipe.c|19970616053858|21742 lm@lm.bitmover.com|src/lat_proc.c|19941118084947|49449|67978a001d538da6 lm@work.bitmover.com|src/lat_proc.c|19990903054747|26654 lm@lm.bitmover.com|src/lat_http.c|19971020064852|58926|bb3831f9effa4c1c lm@lm.bitmover.com|src/lat_http.c|19980630053732|34536 lm@lm.bitmover.com|src/lat_select.c|19961114001606|65044|97c296f6daba401d lm@lm.bitmover.com|src/lat_select.c|19980731194756|01851 lm@lm.bitmover.com|src/lat_sig.c|19941130001638|06404|b8488b438b6e1c23 lm@lm.bitmover.com|src/lat_sig.c|19970616053858|20341 lm@lm.bitmover.com|src/lat_tcp.c|19941118084947|17274|403c1dd2be70f174 lm@lm.bitmover.com|src/lat_tcp.c|19970616053858|42655 lm@lm.bitmover.com|src/lat_udp.c|19941118084947|24062|7459a472444854ce lm@lm.bitmover.com|src/lat_udp.c|19970616053858|65433 lm@lm.bitmover.com|src/lat_pagefault.c|19941118084947|33722|21040cf28d60fb56 lm@lm.bitmover.com|src/lat_pagefault.c|19971101020623|61244 lm@lm.bitmover.com|src/lat_unix.c|19960522073302|07499|60b40b303e5dd5e0 lm@lm.bitmover.com|src/lat_unix.c|19970616053858|23557 lm@lm.bitmover.com|src/lat_syscall.c|19941118084947|13682|92127cb9fcc9c374 lm@lm.bitmover.com|src/lat_syscall.c|19970616053858|11950 lm@lm.bitmover.com|src/lib_tcp.c|19941118084947|22782|70231aa7476519f5 lm@lm.bitmover.com|src/lib_tcp.c|19970617020550|01568 lm@lm.bitmover.com|src/lib_tcp.h|19961114001459|32750|fae00e4b816a260 lm@lm.bitmover.com|src/lib_tcp.h|19970616053858|49958 lm@lm.bitmover.com|src/lib_udp.c|19941118084947|37686|742df623760bb62f lm@lm.bitmover.com|src/lib_udp.c|19970617020550|21649 lm@lm.bitmover.com|src/lib_stats.c|19970613043347|45129|6b0974d3d98b42e9 lm@lm.bitmover.com|src/lib_stats.c|19971101020701|08249 lm@lm.bitmover.com|src/lib_udp.h|19961114001459|51303|54591f07d0325bfe lm@lm.bitmover.com|src/lib_udp.h|19970616053858|38166 lm@lm.bitmover.com|src/lib_unix.c|19971020064904|55858|98550639d79890cd lm@lm.bitmover.com|src/lib_unix.c|19971020064905|00059 lm@lm.bitmover.com|src/loop_o.c|19970615042705|61253|6ebf90f45ce175dc lm@lm.bitmover.com|src/loop_o.c|19970616053858|06124 lm@lm.bitmover.com|src/mhz.irix|19941130214038|00301|845ba9c3182ca3bb lm@lm.bitmover.com|src/mhz.irix|19941209195029|20487 lm@lm.bitmover.com|src/msleep.c|19970615042710|05121|d239bb576a096245 lm@lm.bitmover.com|src/msleep.c|19970615213644|24725 lm@lm.bitmover.com|src/lat_rpc.c|19941118084947|10025|8144ca9d37f3411e lm@lm.bitmover.com|src/lat_rpc.c|19980630053737|44357 lm@lm.bitmover.com|src/names.h|19961114001459|20509|438cda61ceaadaee lm@lm.bitmover.com|src/names.h|19961114001500|37888 lm@lm.bitmover.com|src/rhttp.c|19970613043406|25541|5dc7507474b0219e lm@lm.bitmover.com|src/rhttp.c|19971024204903|07830 lm@lm.bitmover.com|src/stats.h|19970613043352|32183|7340c05fd9766fd9 lm@lm.bitmover.com|src/stats.h|19971031023302|59940 lm@lm.bitmover.com|src/lmhttp.c|19970613043401|03634|44f0727f23143b90 lm@lm.bitmover.com|src/lmhttp.c|19980630053743|30057 lm@lm.bitmover.com|src/memsize.c|19950214190337|11395|37f652d1bab57b36 lm@work.bitmover.com|src/memsize.c|19990903054755|28066 lm@lm.bitmover.com|src/timing.h|19961114001459|21532|b03b538da693ddd3 lm@lm.bitmover.com|src/timing.h|19980630053750|36570 lm@lm.bitmover.com|src/timing_o.c|19970613043340|28440|ed38e6e135adb2ce staelin@bitmover|src/timing_o.c|19980627003521|10787 lm@work.bitmover.com|src/lib_unix.h|19991208171717|08519|a4141822484ace9 lm@work.bitmover.com|src/lib_unix.h|19991208171718|16259 lm@work.bitmover.com|src/busy.c|19991208171828|07698|66f642dc353072aa lm@work.bitmover.com|src/busy.c|19991208171829|06061 lm@work.bitmover.com|src/lat_fcntl.c|19991208171819|08698|13b82230576b9707 lm@work.bitmover.com|src/lat_fcntl.c|19991208171820|45595 lm@lm.bitmover.com|scripts/Makefile|19941124014401|04193|5e85834849ee718e lm@work.home|scripts/Makefile|19980330090255|05908 lm@lm.bitmover.com|scripts/README|19941123071926|03830|db3322f87176643c lm@lm.bitmover.com|scripts/README|19970615041042|32083 lm@lm.bitmover.com|scripts/SHIT|19951129203848|03723|d2921abdc0373c7 lm@lm.bitmover.com|scripts/SHIT|19951129203938|11064 lm@lm.bitmover.com|scripts/allctx|19951025165200|04044|cc93e1fcf21cfdd5 lm@lm.bitmover.com|scripts/allctx|19960522060908|34192 lm@lm.bitmover.com|scripts/getlist|19941123071647|00421|646c9152fb842aab lm@work.bitmover.com|scripts/getlist|19990902170947|46991 lm@lm.bitmover.com|scripts/allmem|19951025165200|04028|300808bde8ca0dcf lm@lm.bitmover.com|scripts/allmem|19960522060908|27555 lm@lm.bitmover.com|scripts/bghtml|19970615041409|04040|3aa371e545f99eea lm@lm.bitmover.com|scripts/bghtml|19970615041410|22140 lm@lm.bitmover.com|scripts/bargraph|19941123071647|04239|ca073339c08ad586 lm@lm.bitmover.com|scripts/bargraph|19960522060940|56583 lm@lm.bitmover.com|scripts/results|19941126004058|04190|4fe7cbc4774e86d3 lm@work.bitmover.com|scripts/results|19990903054926|18295 lm@lm.bitmover.com|scripts/config|19970615041303|04025|c7aeb615f51dd402 lm@lm.bitmover.com|scripts/config|19970615041304|07617 lm@lm.bitmover.com|scripts/compiler|19970616061229|04264|c0a3d7f6c0556250 lm@lm.bitmover.com|scripts/compiler|19970624063719|09218 lm@lm.bitmover.com|scripts/config-run|19941126004058|04811|7bdb249a4ff37f0 lm@work.bitmover.com|scripts/config-run|19990902192444|62970 lm@lm.bitmover.com|scripts/depend|19941123071647|04024|5223a6a8e4dfff54 lm@lm.bitmover.com|scripts/depend|19970213021505|50445 lm@lm.bitmover.com|scripts/getbg|19941123071647|03921|e5fe9ba5830ee435 lm@lm.bitmover.com|scripts/getbg|19970713010835|36816 lm@lm.bitmover.com|scripts/getbw|19970615041409|03939|9d79bf4769c384ce lm@lm.bitmover.com|scripts/getbw|19971101020001|38526 lm@lm.bitmover.com|scripts/getctx|19941123071647|04055|5af976ad278e7418 lm@lm.bitmover.com|scripts/getctx|19971101020001|49115 lm@lm.bitmover.com|scripts/getmax|19941123071647|04046|b3fb9fe573436abf lm@lm.bitmover.com|scripts/getmax|19971101020001|48238 lm@lm.bitmover.com|scripts/getdisk|19971101020000|04135|3b2ec488bd048f37 lm@lm.bitmover.com|scripts/getdisk|19971101020001|40271 lm@lm.bitmover.com|scripts/getmem|19941123071647|04039|ef6b575d2ae3b853 lm@lm.bitmover.com|scripts/getmem|19971101020001|33755 lm@lm.bitmover.com|scripts/gifs|19970615041331|03821|64a9206ca9d2af8a lm@lm.bitmover.com|scripts/gifs|19970713011012|01949 lm@lm.bitmover.com|scripts/getpercent|19941123071647|04473|6f25a175673b6b6a lm@lm.bitmover.com|scripts/getpercent|19970713010803|14492 lm@lm.bitmover.com|scripts/getsummary|19941123071647|04502|3ff841867aca8d12 lm@lm.bitmover.com|scripts/getsummary|19970713011048|08017 lm@lm.bitmover.com|scripts/gnu-os|19970616034135|04002|f13ac0c986e51a1 lm@lm.bitmover.com|scripts/gnu-os|19970616034136|53039 lm@lm.bitmover.com|scripts/graph|19941123071647|03930|e02d7d6eb8b1fa01 lm@lm.bitmover.com|scripts/graph|19980329223926|15081 lm@lm.bitmover.com|scripts/info|19970616025553|03842|983152f24ab0d3f9 lm@lm.bitmover.com|scripts/info|19970616025554|07341 lm@lm.bitmover.com|scripts/html-list|19970615041409|04328|bc4b0e696fe0b7ab lm@lm.bitmover.com|scripts/html-list|19970713011026|49732 lm@lm.bitmover.com|scripts/html-man|19970615041409|04200|fb5cdd3e80d2e120 lm@lm.bitmover.com|scripts/html-man|19970615041410|44088 lm@lm.bitmover.com|scripts/os|19941123071647|03626|1b9fa2853f304463 lm@lm.bitmover.com|scripts/os|19970624063719|15691 lm@lm.bitmover.com|scripts/lmbench|19941123071647|45281|acff2ef2b9c4b39c lm@work.bitmover.com|scripts/lmbench|19990902192444|42600 lm@lm.bitmover.com|scripts/info-template|19970616025601|01278|772aa74ddb9a5907 lm@lm.bitmover.com|scripts/info-template|19980701005906|29862 lm@lm.bitmover.com|scripts/man2html|19970615041409|04205|14724f5cb00b57d7 lm@lm.bitmover.com|scripts/man2html|19970615041410|38472 lm@lm.bitmover.com|scripts/new2oldctx|19970615041409|04436|7ef96e61ec39fdee lm@lm.bitmover.com|scripts/new2oldctx|19970615041410|38076 lm@lm.bitmover.com|scripts/opercent|19970615041409|04266|da232ce92ab7eca2 lm@lm.bitmover.com|scripts/opercent|19970615041410|09313 lm@lm.bitmover.com|scripts/percent|19970615041409|04155|da9ac6bee3eca1b8 lm@lm.bitmover.com|scripts/percent|19970615041410|14849 lm@lm.bitmover.com|scripts/rccs|19941124001810|03822|42f2c092869bbff5 lm@lm.bitmover.com|scripts/rccs|19980329204952|27502 lm@lm.bitmover.com|scripts/save|19941123071647|03831|f1160696e1a1d471 lm@lm.bitmover.com|scripts/save|19960522061335|48955 lm@lm.bitmover.com|scripts/stats|19970615041401|03953|5dd15d544b61fcd lm@lm.bitmover.com|scripts/stats|19970615041402|05179 lm@lm.bitmover.com|scripts/target|19970616025557|04065|cb9ca50866020da8 lm@lm.bitmover.com|scripts/target|19970624063719|41134 lm@lm.bitmover.com|scripts/xroff|19941123071647|03949|72252dff1a8e9b55 lm@lm.bitmover.com|scripts/xroff|19960522061403|09054 lm@bitmover|scripts/mkrelease|19980609055826|03739|8ca5c15a85807840 lm@bitmover|scripts/mkrelease|19980609055827|38152 lm@lm.bitmover.com|scripts/version|19980701070310|04161|86f4c240e0ad9f12 lm@lm.bitmover.com|scripts/version|19980701070311|33818 lm@lm.bitmover.com|scripts/TODO|20000131165340|07756|c9f4b1757aa28114 lm@lm.bitmover.com|scripts/TODO|20000131165341|07460 lm@lm.bitmover.com|scripts/do_ctx|20000131165340|08418|4a75155e5b41d44d lm@lm.bitmover.com|scripts/do_ctx|20000131165341|42048 lm@lm.bitmover.com|scripts/getresults|20000131165340|09348|c13088252c1c59b7 lm@lm.bitmover.com|scripts/getresults|20000131165341|11578 lm@lm.bitmover.com|scripts/synchronize|20000131165340|09560|e1d90534a63b6efe lm@lm.bitmover.com|scripts/synchronize|20000131165341|11230 lm@lm.bitmover.com|results/Makefile|19941124014656|04215|b60f2a10c224046e lm@lm.bitmover.com|results/Makefile|19971101020434|25654 E 3 I 2 lm@lm.bitmover.com|BitKeeper/etc/config|20000131225554|14900|b315f4732d73103 lm@lm.bitmover.com|BitKeeper/etc/config|20000131225555|36720 E 2 I 1 E 1 LMbench/SCCS/s.COPYING-20100444002170200000240000000315407322324162014064 0ustar staelingamesh64440 s 00011/00008/00004 d D 1.2 98/06/30 11:09:05 lm 3 2 cC cK59783 cZ-07:00 e s 00012/00000/00000 d D 1.1 94/11/25 17:19:40 lm 2 1 c Initial revision cK46895 e s 00000/00000/00000 d D 1.0 94/11/25 17:19:39 lm 1 0 cBlm@lm.bitmover.com|ChangeSet|20000131225335|47351|--LMBENCH-- cHlm.bitmover.com cK12849 cPCOPYING-2 cRb10a375651a436ed cV4 cX0x21 cZ-08:00 e u U f e 0 f x 0x21 t LMbench v2.x benchmarking system T I 2 D 3 $Id$ E 3 I 3 %M% %I% %E% E 3 D 3 The set of programs and documentation known as "lmbench" are distributed under the Free Software Foundation's General Public License with the following additional restriction (which overrides any conflicting restriction in the GPL): E 3 I 3 The set of programs and documentation known as "lmbench" are distributed under the Free Software Foundation's General Public License with the following additional restrictions (which override any conflicting restrictions in the GPL): E 3 D 3 You may not distribute results in any public forum, in any publication, or in any other way if you have modified the benchmarks. E 3 I 3 1. You may not distribute results in any public forum, in any publication, or in any other way if you have modified the benchmarks. 2. You may not distribute the results for a fee of any kind. This includes web sites which generate revenue from advertising. E 3 If you have modifications or enhancements that you wish included in D 3 future versions, please mail those to me, Larry McVoy, at lm@sgi.com. E 3 I 3 future versions, please mail those to me, Larry McVoy, at lm@bitmover.com. E 3 E 2 I 1 E 1 LMbench/SCCS/s.COPYING0100444002170200000240000004370007322324162013726 0ustar staelingamesh51611 s 00339/00000/00000 d D 1.1 94/11/25 17:19:40 lm 2 1 c Initial revision cC cK28409 e s 00000/00000/00000 d D 1.0 94/11/25 17:19:39 lm 1 0 cBlm@lm.bitmover.com|ChangeSet|20000131225335|47351|--LMBENCH-- cHlm.bitmover.com cK03124 cPCOPYING cR726656805de0b341 cV4 cX0x21 cZ-08:00 e u U f e 0 f x 0x21 t LMbench v2.x benchmarking system T I 2 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS Appendix: How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 19yy This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 2021 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. E 2 I 1 E 1 LMbench/SCCS/s.Makefile0100444002170200000240000001301707322324162014331 0ustar staelingamesh26426 s 00005/00003/00068 d D 1.16 00/01/31 16:29:28 lm 17 16 c Updates for BitKeeper. cC cHlm.bitmover.com cK54037 e s 00011/00015/00060 d D 1.15 98/03/30 01:00:54 lm 16 15 c Convert to SCCS cC cHwork.home cK52478 e s 00006/00000/00069 d D 1.14 98/03/29 14:39:44 lm 15 14 c mkrelease. cK00207 cZ-08:00 e s 00003/00003/00066 d D 1.13 97/10/25 10:52:22 lm 14 13 c I dunno why Carl thinks this helps, but OK. cK57110 e s 00010/00006/00059 d D 1.12 97/10/24 13:51:53 lm 13 12 c *** empty log message *** cK56831 e s 00005/00005/00060 d D 1.11 97/06/13 21:45:14 lm 12 11 c *** empty log message *** cK49682 e s 00001/00001/00064 d D 1.10 95/10/25 22:12:42 lm 11 10 c *** empty log message *** cK49522 e s 00001/00001/00064 d D 1.9 95/10/25 22:09:52 lm 10 9 c fix get. cK48522 e s 00001/00001/00064 d D 1.8 95/09/28 11:15:47 lm 9 8 c bin cK48578 cZ-07:00 e s 00001/00001/00064 d D 1.7 95/03/10 18:32:05 lm 8 7 c better clean target. cK48464 e s 00012/00012/00053 d D 1.6 94/12/05 15:25:04 lm 7 6 c $(MAKE) cK46083 e s 00001/00001/00064 d D 1.5 94/11/25 17:52:57 lm 6 5 c split. cK46215 e s 00001/00000/00064 d D 1.4 94/11/25 17:33:45 lm 5 4 c clean cK45760 e s 00003/00002/00061 d D 1.3 94/11/25 17:27:18 lm 4 3 c clean cK44511 e s 00001/00000/00062 d D 1.2 94/11/25 17:21:38 lm 3 2 c get in . cK43483 e s 00062/00000/00000 d D 1.1 94/11/25 17:19:58 lm 2 1 c Initial revision cK42493 e s 00000/00000/00000 d D 1.0 94/11/25 17:19:57 lm 1 0 cBlm@lm.bitmover.com|ChangeSet|20000131225335|47351|--LMBENCH-- cHlm.bitmover.com cK03385 cPMakefile cRb47aad8cf4afe990 cV4 cX0x21 cZ-08:00 e u U f e 0 f x 0x21 t LMbench v2.x benchmarking system T I 2 # Makefile for top level of lmbench # $Id$ D 7 # Possible things to make: E 7 I 7 # Possible things to $(MAKE): E 7 # # build (default) go to the source directory and build the benchmark # results go to the source directory and build and run the benchmark # rerun run the benchmark again # see see the results that came with this release D 12 # Go to the Results directory and read the Makefile. E 12 I 12 # Go to the results directory and read the Makefile. E 12 # doc.lpr print the documentation # doc.x preview the documentation (needs X, groff, pic, etc) D 7 # clean go to the subdirs and make clean # get make sure all files are checked out E 7 I 7 # clean go to the subdirs and $(MAKE) clean # get $(MAKE) sure all files are checked out E 7 # shar build a shippable shar archive SHELL=/bin/sh D 13 build: E 13 I 13 D 16 build: rccs E 16 I 16 build: E 16 E 13 D 7 cd src && make E 7 I 7 cd src && $(MAKE) E 7 D 13 results: E 13 I 13 D 16 results: rccs E 16 I 16 D 17 results: E 17 I 17 results: FRC E 17 E 16 E 13 D 7 cd src && make results E 7 I 7 cd src && $(MAKE) results E 7 D 13 rerun: E 13 I 13 D 16 rerun: rccs E 16 I 16 rerun: E 16 E 13 D 7 cd src && make rerun E 7 I 7 cd src && $(MAKE) rerun E 7 see: D 7 cd Results && make summary percent | more E 7 I 7 D 11 cd Results && $(MAKE) summary percent | more E 11 I 11 D 12 cd Results && $(MAKE) summary percent 2>/dev/null | more E 12 I 12 cd results && $(MAKE) summary percent 2>/dev/null | more E 12 E 11 E 7 doc.lpr: D 7 cd doc && make PS && lpr *.PS E 7 I 7 cd doc && $(MAKE) PS && lpr *.PS E 7 doc.x: D 7 cd doc && make x E 7 I 7 cd doc && $(MAKE) x E 7 D 13 clean: E 13 I 13 D 16 clean: rccs E 16 I 16 D 17 clean: E 17 I 17 clobber clean: E 17 E 16 E 13 D 12 for i in doc src Results scripts; do \ E 12 I 12 for i in doc src results scripts; do \ E 12 echo ===== $$i =====; \ D 7 (cd $$i && co -q Makefile && make clean); \ E 7 I 7 D 8 (cd $$i && co -q Makefile && $(MAKE) clean); \ E 8 I 8 D 16 (cd $$i && if [ ! -f Makefile ]; then co -q Makefile; fi && $(MAKE) clean); \ E 16 I 16 (cd $$i && $(MAKE) clean); \ E 16 E 8 E 7 done D 4 /bin/rm -f SHAR bin/* E 4 I 4 D 9 /bin/rm -f bin/* E 9 I 9 /bin/rm -rf bin/* E 9 D 14 rccs clean -s -e E 14 I 14 D 16 ./rccs clean -s -e E 16 I 16 D 17 clean E 17 I 17 -bk clean E 17 E 16 E 14 E 4 D 13 get: E 13 I 13 D 16 get: rccs E 16 I 16 get: E 16 E 13 D 12 for i in doc src Results scripts; do \ E 12 I 12 for i in doc src results scripts; do \ E 12 echo ===== $$i =====; \ D 10 (cd $$i && rccs get -s); \ E 10 I 10 D 16 (cd $$i && co -q RCS/*,v); \ E 16 I 16 (cd $$i && co -q); \ E 16 E 10 done I 3 D 14 rccs get -s E 14 I 14 D 16 ./rccs get -s E 16 I 16 @co -q E 16 E 14 E 3 D 13 info: E 13 I 13 D 16 info: rccs E 16 I 16 info: E 16 E 13 D 12 for i in doc src Results scripts; do \ E 12 I 12 for i in doc src results scripts; do \ E 12 echo ===== $$i =====; \ D 14 (cd $$i && rccs info); \ E 14 I 14 D 16 (cd $$i && ./rccs info); \ E 16 I 16 (cd $$i && info); \ E 16 E 14 done I 15 release: scripts/mkrelease scripts/mkrelease scripts/mkrelease: cd scripts && co mkrelease E 15 # XXX - . must be named lmbench for this to work shar: D 7 make clean E 7 I 7 $(MAKE) clean E 7 I 5 co -q Makefile E 5 D 7 make get E 7 I 7 $(MAKE) get E 7 cd .. && \ find lmbench -type f -print | egrep -v 'noship|RCS' > /tmp/FILES D 4 cd .. && shar -S < /tmp/FILES > lmbench/SHAR E 4 I 4 D 6 cd .. && shar -S < /tmp/FILES > lmbench.SHAR E 6 I 6 cd .. && shar -S -a -n lmbench1.0 -L 50K < /tmp/FILES I 17 FRC: E 17 I 13 D 16 rccs: co -p scripts/RCS/rccs,v > rccs chmod +x rccs E 16 E 13 E 6 E 4 E 2 I 1 E 1 LMbench/SCCS/s.README0100444002170200000240000000713007322324162013550 0ustar staelingamesh20972 s 00006/00020/00017 d D 1.7 98/07/01 01:19:56 lm 8 7 cC cK49150 e s 00001/00001/00036 d D 1.6 95/10/25 22:12:42 lm 7 6 c *** empty log message *** cK23583 e s 00006/00006/00031 d D 1.5 95/10/25 22:09:47 lm 6 5 c *** empty log message *** cK23231 e s 00007/00005/00030 d D 1.4 95/10/25 21:35:35 lm 5 4 c *** empty log message *** cK31201 cZ-07:00 e s 00012/00010/00023 d D 1.3 94/11/25 17:33:50 lm 4 3 c *** empty log message *** cK35573 e s 00002/00002/00031 d D 1.2 94/11/25 17:23:13 lm 3 2 c *** empty log message *** cK26907 e s 00033/00000/00000 d D 1.1 94/11/25 17:21:17 lm 2 1 c Initial revision cK26763 e s 00000/00000/00000 d D 1.0 94/11/25 17:21:16 lm 1 0 cBlm@lm.bitmover.com|ChangeSet|20000131225335|47351|--LMBENCH-- cHlm.bitmover.com cK28559 cPREADME cR1836b00241ca7bea cV4 cX0x21 cZ-08:00 e u U f e 0 f x 0x21 t LMbench v2.x benchmarking system T I 2 D 5 README for lmbench 1.0 net release. E 5 I 5 D 8 README for lmbench 1.1 net release. E 5 D 4 $Id$ E 4 D 4 In general, you can look at makefiles to get more information. There is E 4 I 4 In general, you can look at Makefiles to get more information. There is E 4 D 3 Postscript documentation in doc/*.PS as well as the source from which thos files are derived. E 3 I 3 Postscript documentation in PS as well as the source from which thos files are derived in doc. E 8 I 8 README for lmbench 2alpha8 net release. E 8 E 3 To run the benchmark, you should be able to say: D 7 make results E 7 I 7 D 8 make get results E 8 I 8 cd src make results E 8 E 7 If you want to see how you did compared to the other system results included here, say make see D 4 Please send your results back to me, lm@sgi.com, after you believe you have obtained, good, stable numbers. Be warned that many of these benchmarks are sensitive to other things being run on the system, mainly from CPU cache and CPU cycle effects. So make sure your screen saver is not running, etc. E 4 I 4 D 6 If you have a system that is not represented here, or you got better numbers than I did, please send me the results. Please send your results lm@sgi.com after you believe you have obtained, good, stable numbers. Be warned that many of these benchmarks are sensitive to E 6 I 6 D 8 Some of the targets in the makefiles use scripts/rccs. Put lmbench/scripts in your path or copy rccs to your bin directory. Be warned that many of these benchmarks are sensitive to E 6 other things being run on the system, mainly from CPU cache and CPU cycle effects. So make sure your screen saver is not running, etc. E 8 I 8 Be warned that many of these benchmarks are sensitive to other things being run on the system, mainly from CPU cache and CPU cycle effects. So make sure your screen saver is not running, etc. E 8 E 4 It's a good idea to do several runs and compare the output like so make results make rerun make rerun make rerun cd Results && make LIST=/* D 8 D 4 This software is distributed under the GPL with the following extra condition: you may NOT distribute results of any benchmark that has been modified and has not been redistributed by me (Larry McVoy). E 4 I 4 D 5 Please do not send me or post multi processor results. This is a uniprocessor benchmark suite. The only MP results that are acceptable are results from an MP with only one processor enabled. E 5 D 6 $Id$ I 5 E 6 Changes since release 1.0: - many portability changes - some new benchmarks - a usenix paper (draft in doc/usenix.ps) - a start at a html page (not done) I 6 $Id$ E 8 E 6 E 5 E 4 E 2 I 1 E 1 LMbench/SCCS/s.hbench-REBUTTAL0100444002170200000240000002624507322324162015272 0ustar staelingamesh06843 s 00016/00016/00229 d D 1.2 98/06/30 11:14:51 lm 3 2 cC cK22146 e s 00245/00000/00000 d D 1.1 98/06/30 11:11:55 lm 2 1 c hbench-REBUTTAL created on 98/06/30 11:11:55 by lm cK21340 e s 00000/00000/00000 d D 1.0 98/06/30 11:11:54 lm 1 0 cBlm@lm.bitmover.com|ChangeSet|20000131225335|47351|--LMBENCH-- cHlm.bitmover.com cK03846 cPhbench-REBUTTAL cRf06092ce32cca902 cV4 cX0x21 cZ-07:00 e u U f e 0 f x 0x21 t LMbench v2.x benchmarking system T I 2 In June of 1997, Margo Seltzer and Aaron Brown published a paper in Sigmetrics called "Operating System Benchmarking in the Wake of Lmbench: A Case Study of the Performance of NetBSD on the Intel x86 Architecture". This papers claims to have found flaws in the original lmbench work. With the exception of one bug, which we have of course fixed, we find the claims inaccurate, misleading, and petty. We don't understand what appears to be a pointless attack on something that has obviously helped many researchers and industry people alike. lmbench was warmly received and is widely used and referenced. We stand firmly behind the work and results of the original benchmark. We continue to improve and extend the benchmark. Our focus continues to be on providing a useful, accurate, portable benchmark suite that is widely used. As always, we welcome constructive feedback. To ease the concerns of gentle benchmarkers around the world, we have spent at least 4 weeks reverifying the results. We modified lmbench to eliminate any effects of . clock resolution . loop overhead . timing interface overhead Our prediction was that that this would not make any difference and our prediction was correct. All of the results reported in lmbench 1.x are valid except the file reread benchmark which may be 20% optimistic on some platforms. We've spent a great deal of time and energy, for free, at the expense of our full time jobs, to address the issues raised by hbench. We feel that we were needlessly forced into a lose/lose situation of arguing with a fellow researcher. We intend no disrespect towards their work, but did not feel that it was appropriate for what we see as incorrect and misleading claims to go unanswered. We wish to move on to the more interesting and fruitful work of extending lmbench in substantial ways. Larry McVoy & Carl Staelin, June 1997 -------------------------------------------------------------------------- Detailed responses to their claims: Claim 1: "it did not have the statistical rigor and self-consistency needed for detailed architectural studies" Reply: This is an unsubstantiated claim. There are no numbers which back up this claim. Claim 2: "with a reasonable compiler, the test designed to read and touch data from the file system buffer cache never actually touched the data" Reply: Yes, this was a bug in lmbench 1.0. It has been fixed. On platforms such as a 120 Mhz Pentium, we see change of a 20% in the results, i.e., without the bug fix it is about 20% faster. Claim 3: This is a multi part claim: a) gettimeofday() is too coarse. Reply: The implication is that there are number of benchmarks in lmbench that finish in less time than the clock resolution with correspondingly incorrect results. There is exactly one benchmark, TCP connection latency, where this is true and that is by design, not by mistake. All other tests run long enough to overcome 10ms clocks (most modern clocks are microsecond resolution). Seltzer/Brown point out that lmbench 1.x couldn't accurately measure the L1/L2 cache bandwidths. lmbench 1.x didn't attempt to report L1/L2 cache bandwidths so it would seem a little unreasonable to imply inaccuracy in something the benchmark didn't measure. It's not hard to get this right by the way, we do so handily in lmbench 2.0. b) TCP connection latency is reported as 0 on the DEC Alpha. Reply: We could have easily run the TCP latency connection benchmark in a loop long enough to overcome the clock resolution. We were, and are, well aware of the problem on DEC Alpha boxes. We run only a few interations of this benchmark because the benchmark causes a large number of sockets to get stuck in TIME_WAIT, part of the TCP shutdown protocol. Almost all protocol stacks degrade somewhat in performance when there are large numbers of old sockets in their queues. We felt that showing the degraded performance was not representative of what users would see. So we run only for a small number (about 1000) interations and report the result. We would not consider changing the benchmark the correct answer - DEC needs to fix their clocks if they wish to see accurate results for this test. We would welcome a portable solution to this problem. Reading hardware specific cycle counters is not portable. Claim 4: "lmbench [..] was inconsistent in its statistical treatment of the data" ... "The most-used statistical policy in lmbench is to take the minimum of a few repetitions of the measurement" Reply: Both of these claims are false, as can be seen by a quick inspection of the code. The most commonly used timing method (16/19 tests use this) is start_timing do the test N times stop_timing report results in terms of duration / N In fact, the /only/ case where a minimum is used is in the context switch test. The claim goes on to try and say that taking the minimum causes D 3 incorrect results in the case of the context switch test. Another unsupportable claim, one that shows a clearlack of understanding of the context switch test. The real issue is cache conflicts due to page placement in the cache. Page placement is something not under our control, it is under the control of the VM system. We did not, and do not, subscribe to the theory that one should use better ``statistical methods'' to eliminate the variance in the context switch benchmark. The variance is what actually happened and happens to real applications. E 3 I 3 incorrect results in the case of the context switch test. Another unsupportable claim, one that shows a clear lack of understanding of the context switch test. The real issue is cache conflicts due to page placement in the cache. Page placement is something not under our control, it is under the control of the operating system. We did not, and do not, subscribe to the theory that one should use better ``statistical methods'' to eliminate the variance in the context switch benchmark. The variance is what actually happened and happens to real applications. E 3 The authors also claim "if the virtually-contiguous pages of the buffer are randomly assigned to physical addresses, as they are in many systems, ... then there is a good probability that pages of the buffer will conflict in the cache". D 3 We agree with the second part but heartily disagree with the first. It's true that NetBSD doesn't solve this problem. It doesn't follow that others don't. Any vendor supplied operating system that didn't do this on a direct mapped L2 cache would suffer dramatically compared to it's competition. We know for a fact that Solaris, IRIX, and HPUX do this. E 3 I 3 We agree with the second part but heartily disagree with the first. It's true that NetBSD doesn't solve this problem. It doesn't follow that others don't. Any vendor supplied operating system that didn't do this on a direct mapped L2 cache would suffer dramatically compared to it's competition. We know for a fact that Solaris, IRIX, and HPUX do this. E 3 A final claim is that they produced a modified version of the context switch benchmark that does not have the variance of the lmbench version. We could not support this. We ran that benchmark on an SGI MP and saw the same variance as the original benchmark. Claim 5: "The lmbench bandwidth tests use inconsistent methods of accessing memory, making it hard to directly compare the results of, say memory read bandwidth with memory write bandwidth, or file reread bandwidth with memory copy bandwidth" ... "On the Alpha processor, memory read bandwidth via array indexing is 26% faster than via pointer indirection; the Pentium Pro is 67% faster when reading with array indexing, and an unpipelined i386 is about 10% slower when writing with pointer indirection" Reply: In reading that, it would appear that they are suggesting that their numbers are up to 67% different than the lmbench numbers. We can only assume that this was delibrately misleading. Our results are identical to theirs. How can this be? . We used array indexing for reads, so did they. They /implied/ that we did it differently, when in fact we use exactly the same technique. They get about 87MB/sec on reads on a P6, so do we. We challenge the authors to demonstrate the implied 67% difference between their numbers and ours. In fact, we challenge them to demonstrate a 1% difference. . We use pointers for writes exactly because we wanted comparable numbers. The read case is a load and an integer add per word. If we used array indexing for the stores, it would be only a store per word. On older systems, the stores can appear to go faster because the load/add is slower than a single store. While the authors did their best to confuse the issue, the results speak for themselves. We coded up the write benchmark our way and their way. Results for a Intel P6: pointer array difference L1 $ 587 710 18% L2 $ 414 398 4% memory 53 53 0% D 3 CLaim 5a: E 3 I 3 Claim 5a: E 3 The harmonic mean stuff. Reply: They just don't understand modern architectures. The harmonic mean theory is fine if and only if the process can't do two things at once. Many modern processors can indeed do more than one thing at once, the concept is known as super scalar, and can and does include load/store units. If the processor supports both outstanding loads and outstanding stores, the harmonic mean theory fails. Claim 6: "we modified the memory copy bandwidth to use the same size data types as the memory read and write benchmark (which use the machine's native word size); originally, on 32-bit machines, the copy benchmark used 64-bit types whereas the memory read/write bandwidth tests used 32- bit types" Reply: The change was to use 32 bit types for bcopy. On even relatively modern systems, such as a 586, this change has no impact - the benchmark is bound by memory sub systems. On older systems, the use of multiple load/store instructions, as required for the smaller types, resulted in lower results than the meory system could produce. The processor cycles required actually slow down the results. This is still true today for in cache numbers. For example, an R10K shows L1 cache bandwidths of 750MB/sec and 377MB/sec with 64 bit vs 32 bit loads. It was our intention to show the larger number and that requires the larger types. Perhaps because the authors have not ported their benchmark to non-Intel platforms, they have not noticed this. The Intel platform does not have native 64 bit types so it does two load/stores for what C says is a 64 bit type. Just because it makes no difference on Intel does not mean it makes no difference. E 2 I 1 E 1 LMbench/BitKeeper/0040775002170200000240000000000007322324162013554 5ustar staelingamesLMbench/BitKeeper/etc/0040775002170200000240000000000007322324162014327 5ustar staelingamesLMbench/BitKeeper/etc/SCCS/0040775002170200000240000000000007322324162015062 5ustar staelingamesLMbench/BitKeeper/etc/SCCS/s.config0100444002170200000240000001220207322324162016501 0ustar staelingamesh31224 s 00000/00076/00007 d D 1.9 01/02/17 12:56:57 lm 10 9 c Clean this up so we don't get dups. cC cK23267 e s 00003/00000/00080 d D 1.8 01/02/07 17:00:58 lm 9 8 c Update the links. cC cHwork.bitmover.com cK59014 cZ-08:00 e s 00005/00000/00075 d D 1.7 01/02/07 12:26:41 staelin 8 7 c - Add a description to the BitKeeper config file cC cHhpli8.hpli.hpl.hp.com cK46850 cZ+02:00 e s 00001/00001/00074 d D 1.6 01/01/30 21:16:38 lm 7 6 c Whoops. cC cK39188 e s 00002/00000/00073 d D 1.5 01/01/30 20:40:44 lm 6 5 c Add description. cC cHwork.bitmover.com cK39554 cZ-08:00 e s 00000/00003/00073 d D 1.4 00/06/04 11:58:31 staelin 5 4 c Auto convert cC cK35250 cZ+03:00 e s 00001/00000/00075 d D 1.3 00/02/02 09:58:07 staelin 4 3 c logging_ok:staelin@hpli8.hpli.hpl.hp.com cC cHhpli8.hpli.hpl.hp.com cK43540 cZ+02:00 e s 00001/00000/00074 d D 1.2 00/01/31 16:29:31 lm 3 2 c logging_ok:lm@lm.bitmover.com cC cK39634 e s 00074/00000/00000 d D 1.1 00/01/31 14:55:54 lm 2 1 cC cF1 cK36720 cO-rw-rw-r-- e s 00000/00000/00000 d D 1.0 00/01/31 14:55:54 lm 1 0 c BitKeeper file /home/lm/lmbench.BK/BitKeeper/etc/config cBlm@lm.bitmover.com|ChangeSet|20000131225335|47351|--LMBENCH-- cHlm.bitmover.com cK14900 cPBitKeeper/etc/config cRb315f4732d73103 cV4 cX0x21 cZ-08:00 e u U f e 0 f x 0x21 t T I 2 D 10 # This is the BitKeeper configuration file. # %W% %@% # # It defines the contact information for the responsible party for this # project. This information is used by BitKeeper to provide support to # BitKeeper users. Please take a minute to fill it out carefully, it # needs to be accurate. I 8 # # Name of the project, such as "BitKeeper" or "The GNU C compiler". # description: lmbench E 8 # Enabling / disabling logging. BitKeeper can maintain a log of your # change comments (not your source, just the comments) on a centralized # server. This is useful as your project grows, it gives people a place # to go see what is happening on a per project basis. This is especially # useful for distributed developers. # # Since it is also possible you do not want logging, that you would prefer to # keep your changes private, we do not enable this by default (though we will # ask when you make your first changeset). # # To enable logging, uncomment the field below: D 5 logging_ok: yes E 5 # Open Logging server. This site is where users can go to see the changelog # comments for all instances of this repository. # If this repository is non commercial, i.e. BitKeeper is being used for # free, the site must be in the openlogging.org domain, otherwise it can # be an internal site. # Anyone may apply for an alias (CNAME) in the openlogging.org domain # if they are willing to maintain a BitKeeper Open Logging web server. # linux.openlogging.org could host the Linux kernel effort, for example. E 10 logging: logging@openlogging.org I 4 D 5 logging_ok: staelin@hpli8.hpli.hpl.hp.com E 4 I 3 logging_ok: lm@lm.bitmover.com E 5 E 3 D 10 # Commercial seats. If the logging field is *.openlogging.org, then this # field is ignored. If the previous field is some internal site, such as # bitkeeper.mycompany.com, then this file is included in diagnostic messages # sent back to bitkeeper.com. The value of this field determines the number # of users which can work on the repository within a 6 month period. # It's an upper bound on the number of users allowed in the repository, # which determines the price which your company will be billed for the # use of BitKeeper. This field allows management to limit the number of # seats in use. A "seat" is a user. seats: 0 # Security of diagnostic messages. BitKeeper sends periodic # status back to BitKeeper.com. This information is used as part of # the support process, i.e., if you are using an older version of # BitKeeper, we'll let you know automatically when an update is available. # # Commercial customers can arrange for greater levels of security # the diagnostics sent back to BitMover, Inc. Contact your sales # representative for assistance. # # Note: BitMover does not and will not make any information gathered through # this mechanism available to the public. The information is used solely # by BitMover for support and will not be disclosed, forwarded, or sold # to any third party for any purpose. # # Values for this field are currently "none" or "ssh". The "ssh" field # requires that ssh is installed in order to operate and you must have # prearranged for high security support service. security: none # Contact person for this project. This is whoever is the person that # should be contacted with update information or contacted if BitKeeper # discovers a problem which requires local intervention. Please make the # contact information accurate so we can support you. E 10 contact: Larry McVoy D 10 # Preferred email for the contact E 10 email: lm@bitmover.com I 6 D 10 E 10 D 7 description: LMbench v2.x benchmarking system E 7 I 7 description: LMbench benchmarking system I 9 homepage: http://www.bitmover.com/lmbench bkweb: http://www.openlogging.org:8888//home/bk/LMbench master: bk://www.openlogging.org:5100 E 9 E 7 E 6 E 2 I 1 E 1 LMbench/BitKeeper/etc/SCCS/s.ignore0100444002170200000240000000173707322324162016532 0ustar staelingamesh58351 s 00001/00000/00005 d D 1.6 01/01/30 20:37:46 lm 7 6 c added BitKeeper/* cC cK06107 cZ-08:00 e s 00001/00000/00004 d D 1.5 00/08/03 13:39:44 lm 6 5 c added src/tags cC cK05117 e s 00001/00000/00003 d D 1.4 00/08/03 13:39:36 lm 5 4 c added src/bk.ver cK04301 e s 00001/00000/00002 d D 1.3 00/08/03 13:39:26 lm 4 3 c added results/*/* cK03332 e s 00001/00000/00001 d D 1.2 00/08/03 13:39:15 lm 3 2 c added bin/*/* cK02358 e s 00001/00000/00000 d D 1.1 00/08/03 13:39:02 lm 2 1 cF1 cK01857 cO-rw-rw-r-- e s 00000/00000/00000 d D 1.0 00/08/03 13:39:02 lm 1 0 c BitKeeper file /home/lm/LMbench/BitKeeper/etc/ignore cBlm@lm.bitmover.com|ChangeSet|20000131225335|47351|--LMBENCH-- cHwork.bitmover.com cK22403 cPBitKeeper/etc/ignore cR45273e24173205ec cV4 cX0xa1 cZ-07:00 e u U f e 0 f x 0xa1 t T I 2 BitKeeper/etc/csets I 3 bin/*/* I 4 results/*/* I 5 src/bk.ver I 6 src/tags I 7 BitKeeper/* E 7 E 6 E 5 E 4 E 3 E 2 I 1 E 1 LMbench/BitKeeper/etc/SCCS/s.logging_ok0100444002170200000240000000264607322324162017366 0ustar staelingamesH35894 s 00001/00000/00007 d D 1.6 01/05/01 14:28:12 staelin 7 6 c Logging to logging@openlogging.org accepted cC cHhpli69.hpli.hpl.hp.com cK16959 e s 00001/00000/00006 d D 1.5 01/04/09 09:48:15 staelin 6 5 c Logging to logging@openlogging.org accepted cC cHhpli12.hpli.hpl.hp.com cK14121 cZ+03:00 e s 00001/00000/00005 d D 1.4 00/08/08 05:41:07 staelin 5 4 c Logging to logging@openlogging.org accepted cC cHwork.bitmover.com cK11295 e s 00001/00000/00004 d D 1.3 00/08/03 17:38:28 lm 4 3 c Logging to logging@openlogging.org accepted cC cHva.bitmover.com cK08735 e s 00001/00000/00003 d D 1.2 00/08/03 13:40:21 lm 3 2 c Logging to logging@openlogging.org accepted cC cHwork.bitmover.com cK06946 cZ-07:00 e s 00003/00000/00000 d D 1.1 00/06/04 11:58:31 staelin 2 1 cC cF1 cK04921 cO-rw-rw-r-- e s 00000/00000/00000 d D 1.0 00/06/04 11:58:31 staelin 1 0 c BitKeeper file /tmp_mnt/usr/WebPaper/users/staelin/src/LMbench2/BitKeeper/etc/logging_ok cBlm@lm.bitmover.com|ChangeSet|20000131225335|47351|--LMBENCH-- cHhpli8.hpli.hpl.hp.com cK17701 cPBitKeeper/etc/logging_ok cR2f56095411a8a312 cV4 cX0xa1 cZ+03:00 e u U f e 0 f x 0xa1 t T I 2 yes staelin@hpli8.hpli.hpl.hp.com lm@lm.bitmover.com I 3 lm@work.bitmover.com I 4 lm@va.bitmover.com I 5 staelin@work.bitmover.com I 6 staelin@hpli12.hpli.hpl.hp.com I 7 staelin@hpli69.hpli.hpl.hp.com E 7 E 6 E 5 E 4 E 3 E 2 I 1 E 1 LMbench/BitKeeper/etc/SCCS/x.dfile0100664002170200000240000000000007322324162016321 0ustar staelingamesLMbench/BitKeeper/etc/level0100664002170200000240000000006107322324161015352 0ustar staelingames# This is the repository level, do not delete. 1 LMbench/BitKeeper/etc/ignore0100444002170200000240000000011007322324162015516 0ustar staelingamesBitKeeper/etc/csets bin/*/* results/*/* src/bk.ver src/tags BitKeeper/* LMbench/BitKeeper/deleted/0040775002170200000240000000000007322324161015161 5ustar staelingamesLMbench/BitKeeper/deleted/SCCS/0040775002170200000240000000000007322324161015714 5ustar staelingamesLMbench/BitKeeper/deleted/SCCS/s..del-bw_mem_rd.8~a4464de6fbe638280100444002170200000240000000262007322324162023363 0ustar staelingamesh41231 s 00000/00000/00029 d D 1.2 00/12/11 09:51:08 staelin 3 2 c Delete: doc/bw_mem_rd.8 cC cHhpli8.hpli.hpl.hp.com cK10049 cPBitKeeper/deleted/.del-bw_mem_rd.8~a4464de6fbe63828 cZ+02:00 e s 00029/00000/00000 d D 1.1 94/11/18 01:26:35 lm 2 1 c Initial revision cC cK04836 e s 00000/00000/00000 d D 1.0 94/11/18 01:26:34 lm 1 0 cBlm@lm.bitmover.com|ChangeSet|20000131225335|47351|--LMBENCH-- cHlm.bitmover.com cK03974 cPdoc/bw_mem_rd.8 cRa4464de6fbe63828 cV4 cX0x21 cZ-08:00 e u U f e 0 f x 0x21 t lmbench doc checkin T I 2 .\" $Id$ .TH BW_MEM_RD 8 "$Date$" "(c)1994 Larry McVoy" "LMBENCH" .SH NAME bw_mem_rd \- time memory read rate (with overhead) .SH SYNOPSIS .B bw_mem_rd .I size .SH DESCRIPTION .B bw_mem_rd allocates the specified amount of memory, zeros it, and then times the reading of that memory as a series of integer loads and adds. Each four byte integer is loaded and added to accumulator. .LP The size specification may end with ``k'' or ``m'' to mean kilobytes (* 1024) or megabytes (* 1024 * 1024). .SH OUTPUT Output format is \f(CB"%0.2f %.2f\\n", megabytes, megabytes_per_second\fP, i.e., .sp .ft CB 8.00 25.33 .ft .SH MEMORY UTILIZATION This benchmark should move approximately the reported amount of memory. .SH ACKNOWLEDGEMENT Funding for the development of this tool was provided by Sun Microsystems Computer Corporation. .SH "SEE ALSO" lmbench(8). E 2 I 1 E 1 LMbench/BitKeeper/deleted/SCCS/s..del-bw_mem_wr.8~99ed12a73b549c30100444002170200000240000000277707322324162023254 0ustar staelingamesh50917 s 00000/00000/00030 d D 1.2 00/12/11 09:51:09 staelin 3 2 c Delete: doc/bw_mem_wr.8 cC cHhpli8.hpli.hpl.hp.com cK09985 cPBitKeeper/deleted/.del-bw_mem_wr.8~99ed12a73b549c3 cZ+02:00 e s 00030/00000/00000 d D 1.1 94/11/18 01:26:35 lm 2 1 c Initial revision cC cK14666 e s 00000/00000/00000 d D 1.0 94/11/18 01:26:34 lm 1 0 cBlm@lm.bitmover.com|ChangeSet|20000131225335|47351|--LMBENCH-- cHlm.bitmover.com cK03993 cPdoc/bw_mem_wr.8 cR99ed12a73b549c3 cV4 cX0x21 cZ-08:00 e u U f e 0 f x 0x21 t lmbench doc checkin T I 2 .\" %W% %G% .TH BW_MEM_WR 8 "$Date$" "(c)1994 Larry McVoy" "LMBENCH" .SH NAME bw_mem_wr \- time memory write rate (with overhead) .SH SYNOPSIS .B bw_mem_wr .I size .SH DESCRIPTION .B bw_mem_wr allocates the specified amount of memory, zeros it, and then times the writing of that memory as a series of 4 byte integer stores and increments. .LP The size specification may end with ``k'' or ``m'' to mean kilobytes (* 1024) or megabytes (* 1024 * 1024). .SH OUTPUT Output format is \f(CB"%0.2f %.2f\\n", megabytes, megabytes_per_second\fP, i.e., .sp .ft CB 8.00 25.33 .ft .SH MEMORY UTILIZATION This benchmark can move up to twice the requested memory. A processor store is usually implemented as a read cache line, modify the cache line, and store the cache line (now or later, depending on cache write back policy). .SH ACKNOWLEDGEMENT Funding for the development of this tool was provided by Sun Microsystems Computer Corporation. .SH "SEE ALSO" lmbench(8). E 2 I 1 E 1 LMbench/BitKeeper/deleted/SCCS/s..del-mhz.irix~845ba9c3182ca3bb0100444002170200000240000000243307322324162023073 0ustar staelingamesh18588 s 00000/00000/00020 d D 1.4 00/12/11 14:41:30 staelin 5 4 c Delete: src/mhz.irix cC cHhpli8.hpli.hpl.hp.com cK07717 cPBitKeeper/deleted/.del-mhz.irix~845ba9c3182ca3bb cZ+02:00 e s 00005/00004/00015 d D 1.3 94/12/09 11:50:29 lm 4 3 c maybe I got it right this time. cC cK20487 cSAlpha2.11 e s 00003/00002/00016 d D 1.2 94/12/08 19:13:15 lm 3 2 c *** empty log message *** cK18935 e s 00018/00000/00000 d D 1.1 94/11/30 13:40:39 lm 2 1 c Initial revision cK13731 e s 00000/00000/00000 d D 1.0 94/11/30 13:40:38 lm 1 0 cBlm@lm.bitmover.com|ChangeSet|20000131225335|47351|--LMBENCH-- cHlm.bitmover.com cK00301 cPsrc/mhz.irix cR845ba9c3182ca3bb cV4 cX0x21 cZ-08:00 e u U f e 0 f x 0x21 t mhz that uses irix specific info. T I 2 #!/bin/sh # Mhz for irix - more accurate # $Id$ if [ X$1 = X-c ] then CLOCK=1 else CLOCK=0 fi D 3 set `hinv | grep MHZ` E 3 I 3 set `hinv | grep MHZ | head -1` E 3 D 4 if [ $CLOCK -eq 1 ] D 3 then bc << EOF E 3 I 3 then bc << EOF > /tmp/mhz E 4 I 4 bc << EOF > /tmp/mhz E 4 E 3 scale = 4 1000/$2 EOF I 3 D 4 echo `cat /tmp/mhz` Mhz, $2 nanosec clock E 3 else echo $2 E 4 I 4 if [ $CLOCK -eq 0 ] then echo $2 Mhz, `cat /tmp/mhz` nanosec clock else cat /tmp/mhz E 4 fi I 4 rm /tmp/mhz E 4 E 2 I 1 E 1 LMbench/BitKeeper/tmp/0040775002170200000240000000000007322324161014353 5ustar staelingamesLMbench/BitKeeper/log/0040775002170200000240000000000007322324162014335 5ustar staelingamesLMbench/BitKeeper/log/cmd_log0100666002170200000240000000120207322324167015663 0ustar staelingames!staelin 994682994 bk-2.0beta11b: sfio -i = 0 !staelin 994682994 bk-2.0beta11b: sfiles -pAC = 0 !staelin 994682994 bk-2.0beta11b: sfiles -D = 0 !staelin 994682994 bk-2.0beta11b: parent /usr/WebPaper/users/staelin/src/LMbench = 0 !staelin 994682994 bk-2.0beta11b: sfiles = 0 !staelin 994682999 bk-2.0beta11b: get -s = 0 !staelin 994682999 bk-2.0beta11b: get -s = 0 !staelin 994682999 bk-2.0beta11b: get -s = 0 !staelin 994682999 bk-2.0beta11b: get -s = 0 !staelin 994682999 bk-2.0beta11b: get -s = 0 !staelin 994682999 bk-2.0beta11b: sfiles -U -g = 0 !staelin 994682999 bk-2.0beta11b: prs -hr+ -d$if(:SYMBOL:){:SYMBOL: }:UTC: ../ChangeSet = 0 LMbench/BitKeeper/log/parent0100664002170200000240000000007707322324162015552 0ustar staelingameshpli69.hpli.hpl.hp.com:/usr/WebPaper/users/staelin/src/LMbench LMbench/scripts/0040775002170200000240000000000007322324167013376 5ustar staelingamesLMbench/scripts/SCCS/0040775002170200000240000000000007322324161014123 5ustar staelingamesLMbench/scripts/SCCS/s.mkrelease0100444002170200000240000000177607322324162016264 0ustar staelingamesh04502 s 00000/00000/00023 d D 1.2 00/01/31 15:29:42 lm 3 2 c Change mode to -rwxrwxr-x cC cHlm.bitmover.com cK06695 cO-rwxrwxr-x cZ-08:00 e s 00023/00000/00000 d D 1.1 98/06/08 22:58:27 lm 2 1 c mkrelease created on 98/06/08 22:58:27 by lm cC cK38152 e s 00000/00000/00000 d D 1.0 98/06/08 22:58:26 lm 1 0 cBlm@lm.bitmover.com|ChangeSet|20000131225335|47351|--LMBENCH-- cHbitmover cK03739 cPscripts/mkrelease cR8ca5c15a85807840 cV4 cX0x21 cZ-07:00 e u U f e 0 f x 0x21 t T I 2 #!/bin/sh # %W% # # XXX - does not check for checked out files. make -s clean make -s get VERS=`egrep 'MAJOR|MINOR' src/version.h | awk '{print $3}'` set `echo $VERS` if [ $2 -lt 0 ] then VERS=`echo $1$2 | sed s/-/alpha/` else VERS=`echo $VERS |sed 's/ /./'` fi D=lmbench-$VERS mkdir $D $D/results cp -rp SCCS doc hbench-REBUTTAL lmbench-HOWTO scripts src $D cp -rp results/SCCS $D/results (cd $D && make -s get) /bin/rm -rf $D/SCCS $D/*/SCCS tar czvf $D.tgz $D /bin/rm -rf $D make -s clean E 2 I 1 E 1 LMbench/scripts/SCCS/s.Makefile0100444002170200000240000000135007322324162016015 0ustar staelingamesh44430 s 00001/00001/00007 d D 1.3 00/01/31 16:29:28 lm 4 3 c Updates for BitKeeper. cC cHlm.bitmover.com cK06190 e s 00002/00002/00006 d D 1.2 98/03/30 01:02:55 lm 3 2 c SCCS cC cHwork.home cK05908 e s 00008/00000/00000 d D 1.1 94/11/23 17:44:02 lm 2 1 c Initial revision cK07196 e s 00000/00000/00000 d D 1.0 94/11/23 17:44:01 lm 1 0 cBlm@lm.bitmover.com|ChangeSet|20000131225335|47351|--LMBENCH-- cHlm.bitmover.com cK04193 cPscripts/Makefile cR5e85834849ee718e cV4 cX0x21 cZ-08:00 e u U f e 0 f x 0x21 t T I 2 # Makefile for lmbench scripts subdir. #$Id$ get: D 3 rccs get -s E 3 I 3 get -s E 3 clean: D 3 rccs clean -e -s E 3 I 3 D 4 clean E 4 I 4 -bk clean E 4 E 3 E 2 I 1 E 1 LMbench/scripts/SCCS/s.README0100444002170200000240000000162207322324162015237 0ustar staelingamesh00277 s 00001/00001/00006 d D 1.2 97/06/14 21:10:42 lm 3 2 c *** empty log message *** cC cK32083 cZ-07:00 e s 00007/00000/00000 d D 1.1 94/11/22 23:19:27 lm 2 1 c Initial revision cK32051 e s 00000/00000/00000 d D 1.0 94/11/22 23:19:26 lm 1 0 cBlm@lm.bitmover.com|ChangeSet|20000131225335|47351|--LMBENCH-- cHlm.bitmover.com cK03830 cPscripts/README cRdb3322f87176643c cV4 cX0x21 cZ-08:00 e u U f e 0 f x 0x21 t T I 2 $Id$ This directory contains scripts used to generate or post process lmbench output. You probably do not want to be here or run these by hand, the D 3 Makefiles in ../src and ../Results invoke these. There are some useful E 3 I 3 Makefiles in ../src and ../results invoke these. There are some useful E 3 scripts here, however, in particular the graphing scripts. If you are interested in groff graphing tools, check out ../doc/*graph.1. E 2 I 1 E 1 LMbench/scripts/SCCS/s.SHIT0100444002170200000240000004037407322324162015060 0ustar staelingamesh36507 s 00001/00000/00723 d D 1.2 95/11/29 12:39:38 lm 3 2 c 1.2 cC cK11064 e s 00723/00000/00000 d D 1.1 95/11/29 12:38:49 lm 2 1 c Initial revision cK08149 e s 00000/00000/00000 d D 1.0 95/11/29 12:38:48 lm 1 0 cBlm@lm.bitmover.com|ChangeSet|20000131225335|47351|--LMBENCH-- cHlm.bitmover.com cK03723 cPscripts/SHIT cRd2921abdc0373c7 cV4 cX0x21 cZ-08:00 e u U f e 0 f x 0x21 t asdasda T I 2 # Go find perl if we are running this as a shell script. eval 'exec perl -Ssw $0 "$@"' if 0; # Mimic the BSD tool, sccs, for RCS. # $Id$ # # Note - this reflects a lot of my personal taste. I'll try and list the # important differences here: # # A bunch of unused commands are not implemented. It is easy to add them, # mail me if you want me to add something. Please include a spec of what # you want the command to do. Mail lm@engr.sgi.com. # # I look at RCS file internals and know about certain fields as of revision # 5.x. # # This interface does not require a list of files/directories for most # commands; the implied list is *,v and/or RCS/*,v. Destructive commands, # such as clean -f, unedit, unget, do *not* have an implied list. In # other words, # rccs diffs is the same as rccs diffs RCS # but # rccs unedit is not the same as rccs unedit RCS # # If you add (potentially) destructive commands, please check for # them in main() and make sure that the autoexpand does not happen. # # TODO: # Make it so that you can pass a list of files/dirs via stdin. # # It might be nice to have all the "system" args printed out in # verbose and/or learn mode. Depends on whether you want people # to learn RCS or not. &init; &main; sub init { $0 =~ s|.*/||; # Add commands here so that -w shuts up. $lint = 0; &clean() && &create() && &example() && &get() && &edit() && &unedit() && &unget() && &diffs() && &delta() && &help() && &prs() && &prt() && &deledit() && &delget() && &enter() && &info() && &ci() && &co() && &fix() && &print() if $lint; } sub help { if ($#_ == -1) { &usage; } # Handle all the aliases. if ($_[0] eq "unedit" || $_[0] eq "unget") { &help("clean"); } elsif ($_[0] eq "clean") { } warn "Extended help on @_ not available yet.\n"; } sub usage { print < use as the description message (aka -d) delta - check in a revision -y use as the log message (aka -d) -s diffs - diff the working file against the RCS file fix - redit the last revision get - get the working file[s] (possibly for editing) history - print history of the files print - print the history and the latest contents Alias Real command Effect ----- ------------ ------ ci - delta check in a revision co - get check out a revision enter - create -g initialize a file without a get afterward unedit - clean -f remove working file even if modified unget - clean -f remove working file even if modified edit - get -e check out the file for editing prs - history print change log history prt - history print change log history An implied list of *,v and/or RCS/*,v is implied for most commands. The exceptions are commands that are potentially destructive, such as unedit. EOF exit 0; } sub main { local($cmd); local(@args); local(@comma_v); $cmd = "oops"; $cmd = shift(@ARGV) if $#ARGV > -1; &help(@ARGV) if $cmd eq "help" || $cmd eq "oops"; $dir_specified = $file_specified = 0; foreach $_ (@ARGV) { # If it is an option, just pass it through. if (/^-/) { push(@args, $_); } # If they specified an RCS directory, explode it into ,v files. elsif (-d $_) { $dir_specified = 1; warn "Exploding $_\n" if $debug; push(@args, grep(/,v$/, &filelist($_))); push(@args, grep(/,v$/, &filelist("$_/RCS"))); } # If it is a file, make it be the ,v file. else { if (!/,v$/) { # XXX - what if both ./xxx,v and ./RCS/xxx,v? if (-f "$_,v") { $_ .= ",v"; } else { if (m|/|) { m|(.*)/(.*)|; $f = "$1/RCS/$2,v"; } else { $f = "RCS/$_,v"; } if (-f $f) { $_ = $f; } } } if (-f $_) { $file_specified = 1; warn "Adding $_\n" if $debug; push(@args, $_); } else { warn "$0: skipping $_, no RCS file.\n"; } } } # Figure out if it is a potentially destructive command. These # commands do not automagically expand *,v and RCS/*,v. $destructive = ($cmd eq "clean" && $args[0] eq "-f") || $cmd eq "unedit" || $cmd eq "unget"; # If they didn't specify a file or a directory, generate a list # of all ./*,v and ./RCS/*,v files. unless ($destructive || $dir_specified || $file_specified) { warn "Exploding . && ./RCS\n" if $debug; push(@args, grep(/,v$/, &filelist("."))); push(@args, grep(/,v$/, &filelist("RCS"))); } unless ($cmd =~ /^create$/) { @comma_v = grep(/,v$/, @args); if ($#comma_v == -1) { ($s = "$cmd @ARGV") =~ s/\s+$//; die "$0 $s: No RCS files specified.\n"; } } # Exit codes: # 0 - it worked # 1 - unspecified error # 2 - command unknown $exit = 2; warn "Trying &$cmd(@args)\n" if $debug; eval(&$cmd(@args)); if ($exit == 2) { warn "Possible unknown/unimplemented command: $cmd\n"; &usage; } else { exit $exit; } } # Read the directory and return a list of files. # XXX - isn't there a builtin that does this? sub filelist { local(@entries) = (); local($ent); opendir(DFD, $_[0]) || return (); foreach $ent (readdir(DFD)) { $ent = "$_[0]/$ent"; next unless -f $ent; push(@entries, $ent); } warn "filelist($_[0]): @entries\n" if $debug; @entries; } # Take a list of ,v files and return a list of associated working files. sub working { local(@working, $working) = (); foreach $comma_v (@_) { # Strip the ,v. # Strip the RCS specification. ($working = $comma_v) =~ s|,v$||; $working =~ s|RCS/||; push(@working, $working); } @working; } # Same as "clean -f" - throw away all changes sub unedit { &clean("-f", @_); } sub unget { &clean("-f", @_); } # Get rid of everything that isn't edited and has an associated RCS file. # -e remove edited files that have not been changed. # -f remove files that are edited with changes (CAREFUL!) # This implies the -e opt. # -d Check in files that have been modified. If no message, prompt # on each file. This implies -e. # -y Like -d for people that are used to SCCS. # -m Like -d for people that are used to RCS. # # Note: this does not use rcsclean; I don't know when that showed up. And # the 5.x release of RCS I have does not install it. sub clean { local(@working); local($e_opt, $f_opt, $d_opt, $s_opt) = (0,0,0,0); local($msg); local(@checkins) = (); while ($_[0] =~ /^-/) { if ($_[0] eq "-s") { $s_opt = 1; shift(@_); } elsif ($_[0] eq "-e") { $e_opt = 1; shift(@_); } elsif ($_[0] eq "-f") { $f_opt = $e_opt = 1; shift(@_); } elsif ($_[0] =~ /^-[dym]/) { $d_opt = $e_opt = 1; if ($_[0] =~ /^-[dym]$/) { $msg = $_[0]; } else { ($msg = $_[0]) =~ s/-[ydm]//; $msg = "-m'" . $msg . "'"; } shift(@_); } else { die "$0 clean: unknown option: $_[0]\n"; } } @working = &working(@_); for ($i = 0; $i <= $#_; ++$i) { # No working file? if (!-f $working[$i]) { warn "No working file $working[$i] for $_[$i]\n" if $debug; next; } # Read only? Unlink. if (!-w $working[$i]) { warn "rm $working[$i]\n" unless $s_opt; # Make sure there is an RCS file if (-f $_[$i]) { # XXX - what if ro and edited? unlink($working[$i]) unless $n; } else { warn "clean: no RCS file for $working[$i]\n"; } next; } # If they just want to know about it, tell them. if ($e_opt == 0) { open(RCS, $_[$i]); while ($r = ) { last if $r =~ /locks/; } @locks = (); while ($r = ) { # XXX - I use "comment" a delimiter. last if $r =~ /comment/; $r =~ s/^\s+//; chop($r); push(@locks, $r); } close(RCS); if ($#locks > -1) { warn "$working[$i]: being edited: @locks\n"; } else { warn "$working[$i]: " . "writeable but not edited?!?\n"; } next; } # See if there have actually been any changes. # Notice that this is cmp(1) in about 10 lines of perl! open(RCS, "co -q -p -kkvl $_[$i] |"); open(WORK, $working[$i]); $diff = 0; while ($r = ) { unless (($w = ) && ($r eq $w)) { $diff = 1; last; } } if ($w = ) { $diff = 1; } close(RCS); close(WORK); if ($diff) { if ($f_opt) { warn "Clean modified $working[$i]\n" unless $s_opt; unless ($n) { unlink($working[$i]); system "rcs -q -u $_[$i]"; } } elsif ($d_opt) { push(@checkins, $_[$i]); } else { warn "Can't clean modified $working[$i]\n"; } next; } else { warn "rm $working[$i]\n" unless $s_opt; unless ($n) { unlink($working[$i]); system "rcs -q -u $_[$i]"; } } } # Handle files that needed deltas. if ($#checkins > -1) { warn "ci -q $msg @checkins\n" if $verbose; system "ci -q $msg @checkins"; } $exit = 0; } # Create - initialize the RCS file # -y - use as the description message for all files. # -d - use as the description message for all files. # -g - don't do the get # # Differs from sccs in that it does not preserve the original # files (I never found that very useful). sub create { local($arg, $noget, $description, $cmd) = ("", "", ""); foreach $arg (@_) { # Options... if ($arg =~ /^-[yd]/) { ($description = $arg) =~ s/^-[yd]//; $arg = ""; warn "Desc: $description\n" if $debug; next; } if ($arg eq "-g") { $noget = "yes"; $arg = ""; next; } next if ($arg =~ /^-/); # If no RCS subdir, make one. if ($arg =~ m|/|) { # full path ($dir = $arg) =~ s|/[^/]+$||; mkdir("$dir/RCS", 0775); } else { # in $CWD mkdir("RCS", 0775); } } $exit = 0; if ($description ne "") { $cmd = "ci -t-'$description' @_"; } else { $cmd = "ci @_"; } warn "$cmd\n" if $verbose; system "$cmd"; system "co @_" unless $noget; } # Like create without the get. sub enter { &create("-g", @_); } # Edit - get the working file editable sub edit { &get("-e", @_); } # co - normal RCS sub co { &get(@_); } # Get - get the working file # -e Retrieve a version for editing. # Same as co -l. # -p Print the file to stdout. # -k Suppress expansion of ID keywords. # Like co -kk. # -s Suppress all output. # # Note that all other options are passed to co(1). sub get { local($arg, $working, $f, $p); $f = $p = 0; foreach $arg (@_) { # Options... $arg = "-l" if ($arg eq "-e"); $arg = "-kk" if ($arg eq "-k"); $arg = "-q" if ($arg eq "-s"); $f = 1 if ($arg eq "-f"); $p = 1 if ($arg eq "-p"); # XXX - what if -sp? next if $arg =~ /^-/ || $p; # Check for writable files and skip them unless someone asked # for co's -f option. ($working = $arg) =~ s|,v$||; $working =~ s|RCS/||; if ((-w $working) && $f == 0) { warn "ERROR [$arg]: writable `$working' exists.\n"; $arg = ""; } } @files = grep(/,v/, @_); if ($#files == -1) { warn "$0 $cmd: no files to get. @_\n"; $exit = 1; } else { system "co @_"; $exit = 0; } } # Aliases for history. sub prt { &history(@_); } sub prs { &history(@_); } # History - change history sub command sub history { local(@history); open(RL, "rlog @_|"); # Read the whole history while ($r = ) { # Read the history for one file. if ($r !~ /^[=]+$/) { push(@history, $r); next; } &print_history(@history); @history = (); } close(RL); print "+-----------------------------------\n"; $exit = 0; } sub print_history { for ($i = 0; $i <= $#_; ++$i) { # Get the one time stuff if ($_[$i] =~ /^RCS file:/) { $_[$i] =~ s/RCS file:\s*//; chop($_[$i]); print "+------ $_[$i] -------\n|\n"; } # Get the history if ($_[$i] =~ /^----------------------------/) { local($rev, $date, $author, $lines) = ("", "", "", ""); $i++; die "Bad format\n" unless $_[$i] =~ /revision/; $_[$i] =~ s/revision\s+//; chop($_[$i]); $rev = $_[$i]; $i++; die "Bad format\n" unless $_[$i] =~ /date/; @parts = split(/[\s\n;]+/, $_[$i]); for ($j = 0; $j <= $#parts; $j++) { if ($parts[$j] =~ /date/) { $j++; $date = "$parts[$j] "; $j++; $date .= "$parts[$j]"; } if ($parts[$j] =~ /author/) { $j++; $author = $parts[$j]; } if ($parts[$j] =~ /lines/) { $j++; $lines = "$parts[$j] "; $j++; $lines .= "$parts[$j]"; } } print "| $rev $date $author $lines\n"; while ($_[++$i] && $_[$i] !~ /^----------------------------/) { print "| $_[$i]"; ### unless $rev =~ /^1\.1$/; } print "|\n"; $i--; } } } # Show changes between working file and RCS file # # -C -> -c for compat with sccs (not sure if this is needed...). sub diffs { local(@working); local($diff) = "diff"; local($rev) = ""; while ($_[0] =~ /^-/) { if ($_[0] eq "-C") { $diff .= " -c"; shift(@_); } elsif ($_[0] =~ /^-r/) { $rev = $_[0]; shift(@_); } elsif ($_[0] eq "-sdiff") { # XXX - screen size $diff = "sdiff -w80"; shift(@_); } else { $diff .= " $_[0]"; shift(@_); } } @working = &working(@_); for ($i = 0; $i <= $#_; ++$i) { # No working file? if (!-f $working[$i]) { warn "No working file $working[$i] for $_[$i]\n" if $debug; next; } # Read only? Skip. next unless (-w $working[$i]); # Show the changes print "\n------ $working[$i]$rev ------\n"; fflush(stdout); # XXX - flush stdout. if ($diff =~ /^sdiff/) { system "co -q -p -kkvl $rev $_[$i] > /tmp/sdiff.$$" . "&& $diff /tmp/sdiff.$$ $working[$i]"; # XXX - interrupts? unlink("/tmp/sdiff.$$"); } else { system "co -q -p -kkvl $rev $_[$i] |" . " $diff - $working[$i]"; } } $exit = 0; } # delta - check in the files sub delta { local($description) = (""); local($i, @working); @working = &working(@_); for ($i = 0; $i <= $#_; ++$i) { # Options... if ($_[$i] =~ /^-[yd]/) { ($description = $_[$i]) =~ s/^-[yd]/-m/; $description = "'" . $description . "'"; $_[$i] = ""; next; } $_[$i] = "-q" if $_[$i] eq "-s"; $_[$i] = "" unless -f $working[$i]; } $exit = 0; warn "ci $description @_\n" if $verbose; system "ci $description @_"; } # Allow RCS interface ci sub ci { &delta(@_); } # delget sub delget { &delta(@_); &get(@_); # If there was a description, delta nuked it... } # deledit sub deledit { &delta(@_); &get("-e", @_); # If there was a description, delta nuked it... } # info - who is editing what sub info { local(@working); @working = &working(@_); for ($i = 0; $i <= $#_; $i++) { open(RCS, $_[$i]); while ($r = ) { last if $r =~ /locks/; } @locks = (); while ($r = ) { # XXX - I use "comment" a delimter. last if $r =~ /comment/; $r =~ s/^\s+//; chop($r); push(@locks, $r); } close(RCS); if ($#locks > -1) { warn "$working[$i]: being edited: @locks\n"; } } $exit = 0; } # Fix - fix the last change to a file sub fix { foreach $f (@_) { next unless -f $f; open(F, $f); while () { last if /head\s\d/; } close(F); unless ($_ && /head/) { warn "$0 $cmd: No head node found in $f\n"; next; } s/head\s+//; chop; chop; $rev = $_; ($working = $f) =~ s/,v//; $working =~ s|RCS/||; system "co -q $f && rcs -o$rev $f && rcs -l $f && chmod +w $working"; } $exit = 0; } # print - print the history and the latest revision of the file sub print { local($file); foreach $file (@_) { &history($file); &get("-s", "-p", $file); } $exit = 0; } # Example - example sub command # -Q change this option to -q just to show how. sub example { local($arg, $working); foreach $arg (@_) { # Options... $arg = "-Q" if ($arg eq "-q"); } warn "rlog @_\n" if $verbose; system "rlog @_"; $exit = 0; } I 3 RCS bghtml html-list man2html E 3 E 2 I 1 E 1 LMbench/scripts/SCCS/s.TODO0100444002170200000240000000076207322324162015053 0ustar staelingamesh32076 s 00003/00000/00000 d D 1.1 00/01/31 08:53:40 lm 2 1 cC cF1 cK07460 cO-rwxr-xr-x e s 00000/00000/00000 d D 1.0 00/01/31 08:53:40 lm 1 0 c BitKeeper file /home/lm/lmbench/scripts/TODO cBlm@lm.bitmover.com|ChangeSet|20000131225335|47351|--LMBENCH-- cHlm.bitmover.com cK07756 cPscripts/TODO cRc9f4b1757aa28114 cV4 cX0x21 cZ-08:00 e u U f e 0 f x 0x21 t T I 2 Make graph take a %T and %T2 and put %T above %T2 Or make it take \n in the title and deal. E 2 I 1 E 1 LMbench/scripts/SCCS/s.allctx0100444002170200000240000000375107322324162015576 0ustar staelingamesh06633 s 00000/00000/00071 d D 1.3 00/01/31 15:29:41 lm 4 3 c Change mode to -rwxrwxr-x cC cK06389 cO-rwxrwxr-x cZ-08:00 e s 00004/00001/00067 d D 1.2 96/05/21 23:09:08 lm 3 2 c exit status cC cK34192 e s 00068/00000/00000 d D 1.1 95/10/25 09:52:01 lm 2 1 c Initial revision cK30624 e s 00000/00000/00000 d D 1.0 95/10/25 09:52:00 lm 1 0 cBlm@lm.bitmover.com|ChangeSet|20000131225335|47351|--LMBENCH-- cHlm.bitmover.com cK04044 cPscripts/allctx cRcc93e1fcf21cfdd5 cV4 cX0x21 cZ-07:00 e u U f e 0 f x 0x21 t paper stuff. T I 2 # Extract the context switching information from lmbench result files. # Usage: getctx file file.... # # Hacked into existence by Larry McVoy (lm@sun.com now lm@sgi.com). # Copyright (c) 1994 Larry McVoy. GPLed software. # $Id$ D 3 eval "exec perl -Ss $0 $*" E 3 I 3 eval 'exec perl -Ss $0 "$@"' E 3 if 0; $first = 1; foreach $file (@ARGV) { open(FD, $file); I 3 $file =~ s|.*/||; $file =~ s/\.\d+//; E 3 while () { chop; if (/^\[lmbench/) { split; if ($_[3] eq "SunOS") { $_[3] .= "-$_[5]"; } $uname = "@_"; } if (/Mhz/) { $mhz = $_; } if (/^.size=/) { s/size/Process size/; s/ ovr/\toverhead/; @info = &getinfo($uname, $mhz); ($f = $file) =~ s|.*/||; print "\n" unless $first; $first = 0; print "%T $info[3] $info[$#info]Mhz\n"; print "$_\n"; while () { last if /^Null/ || /^Pipe/ || /^Memor/; next if /\$Id/; s/ ovr/\toverhead/; s/size/Process size/; print ; } last; } } } I 3 exit 0; E 3 # Try and create sensible names from uname -a output sub getinfo { local(@info); local($name); local($mhz) = sprintf("%.0f", $_[1]); @info = split(/\s+/, $_[0]); $name = pop(@info); chop($name); if ($name eq "mips") { $name = "$info[$#info]@$mhz"; } elsif ($_[0] =~ /HP-UX/) { $name = "$info[7]@$mhz"; } elsif ($_[0] =~ /SunOS/) { $name = "$info[7]@$mhz"; } else { $name .= "@$mhz"; } push(@info, $name); @info; } E 2 I 1 E 1 LMbench/scripts/SCCS/s.allmem0100444002170200000240000000361707322324162015557 0ustar staelingamesh65051 s 00000/00000/00069 d D 1.3 00/01/31 15:29:41 lm 4 3 c Change mode to -rwxrwxr-x cC cK06373 cO-rwxrwxr-x cZ-08:00 e s 00002/00001/00067 d D 1.2 96/05/21 23:09:08 lm 3 2 c exit status cC cK27555 e s 00068/00000/00000 d D 1.1 95/10/25 09:52:01 lm 2 1 c Initial revision cK26864 e s 00000/00000/00000 d D 1.0 95/10/25 09:52:00 lm 1 0 cBlm@lm.bitmover.com|ChangeSet|20000131225335|47351|--LMBENCH-- cHlm.bitmover.com cK04028 cPscripts/allmem cR300808bde8ca0dcf cV4 cX0x21 cZ-07:00 e u U f e 0 f x 0x21 t paper stuff T I 2 # Extract the memory latency graph data from lmbench result files. # # Hacked into existence by Larry McVoy (lm@sun.com now lm@sgi.com). # Copyright (c) 1994 Larry McVoy. GPLed software. # $Id$ D 3 eval "exec perl -Ss $0 $*" E 3 I 3 eval 'exec perl -Ss $0 "$@"' E 3 if 0; # Uses a stride of 128 #print "\"%X Array size\n\"%Y Latency in nanoseconds\n"; foreach $file (@ARGV) { open(FD, $file); $file =~ s|.*/||; while () { chop; if (/^\[lmbench/) { split; if ($_[3] eq "SunOS") { $_[3] .= "-$_[5]"; } $uname = "@_"; } if (/Mhz/) { $mhz = $_; } if (/^Memory load latency/) { @info = &getinfo($uname, $mhz); ($f = $file) =~ s|.*/||; print "\"$file $info[3] $info[$#info]\n"; while () { next unless /^"stride=128/; last; } while () { if (/^\s*$/) { print "\n"; last; } print; } last; } } } I 3 exit 0; E 3 # Try and create sensible names from uname -a output sub getinfo { local(@info); local($name); local($mhz) = sprintf("%.0f", $_[1]); @info = split(/\s+/, $_[0]); $name = pop(@info); chop($name); if ($name eq "mips") { $name = "$info[$#info]@$mhz"; } elsif ($_[0] =~ /HP-UX/) { $name = "$info[7]@$mhz"; } elsif ($_[0] =~ /SunOS/) { $name = "$info[7]@$mhz"; } else { $name .= "@$mhz"; } push(@info, $name); @info; } E 2 I 1 E 1 LMbench/scripts/SCCS/s.bargraph0100444002170200000240000002652307322324162016077 0ustar staelingamesh14874 s 00000/00000/00430 d D 1.5 00/01/31 15:29:41 lm 6 5 c Change mode to -rwxrwxr-x cC cK06580 cO-rwxrwxr-x cZ-08:00 e s 00004/00005/00426 d D 1.4 96/05/21 23:09:40 lm 5 4 c first pass at perl5. cC cK56583 e s 00001/00001/00430 d D 1.3 95/08/31 18:23:35 lm 4 3 c perl5 cK55760 e s 00125/00044/00306 d D 1.2 95/08/22 15:24:12 lm 3 2 c slide & sideways support. XXX - need to update the man page. cK55680 cZ-07:00 e s 00350/00000/00000 d D 1.1 94/11/22 23:16:48 lm 2 1 c Initial revision cK18099 e s 00000/00000/00000 d D 1.0 94/11/22 23:16:47 lm 1 0 cBlm@lm.bitmover.com|ChangeSet|20000131225335|47351|--LMBENCH-- cHlm.bitmover.com cK04239 cPscripts/bargraph cRca073339c08ad586 cV4 cX0x21 cZ-08:00 e u U f e 0 f x 0x21 t lmbench1.0 release T I 2 D 5 E 5 # $Id$ D 5 eval "exec perl -Ssw $0 $*" E 5 I 5 eval 'exec perl -Ss $0 "$@"' E 5 if 0; # A simple bargraph preprocessor for GNU pic / troff package. # Hacked into existence by Larry McVoy (lm@sun.com now lm@sgi.com). # Copyright (c) 1994 Larry McVoy. GPLed software. # I 3 # TODO # Make this work with sideways graphs. # E 3 # Input format is: # # 3 foo bar # 9 bigger foo # "Silly example # # and output is # # bigger # foo # +----------+ # | | # foo | | # bar | | # +----------+ | | # | | | | # +----------+ +----------+ # ------------------------------- # 3 9 # # Silly example # # Input options: # specifier value default # %ps 10 D 3 # %ft CB E 3 I 3 # %ft HB E 3 # %labelgap 1.5 # %xsize 7 # %ysize 6 # %Title n|s none # %titleplus 0 # %label%d