Name Date Size

.. 2018-07-24 14:25:23 42

.hgignore 2016-08-02 17:39:33 52

atomic.c 2016-08-02 17:39:33 1.8 KiB

bench.sh 2016-08-02 17:39:33 16.3 KiB

benchmark_fini.c 2016-08-02 17:39:33 1.1 KiB

benchmark_finibatch.c 2016-08-02 17:39:33 1.1 KiB

benchmark_finirun.c 2016-08-02 17:39:33 1.1 KiB

benchmark_finiworker.c 2016-08-02 17:39:33 1.1 KiB

benchmark_init.c 2016-08-02 17:39:33 1.1 KiB

benchmark_initbatch.c 2016-08-02 17:39:33 1.1 KiB

benchmark_initrun.c 2016-08-02 17:39:33 1.1 KiB

benchmark_initworker.c 2016-08-02 17:39:33 1.1 KiB

benchmark_optswitch.c 2016-08-02 17:39:33 1.1 KiB

benchmark_result.c 2016-08-02 17:39:33 1.1 KiB

bind.c 2016-08-02 17:39:33 3.2 KiB

BUGS 2016-08-02 17:39:33 939

cachetocache.c 2016-08-02 17:39:33 4.4 KiB

cascade_cond.c 2016-08-02 17:39:33 5.8 KiB

cascade_fcntl.c 2016-08-02 17:39:33 4.5 KiB

cascade_flock.c 2016-08-02 17:39:33 4.6 KiB

cascade_lockf.c 2016-08-02 17:39:33 4.5 KiB

cascade_mutex.c 2016-08-02 17:39:33 4.6 KiB

chdir.c 2016-08-02 17:39:33 2.4 KiB

close.c 2016-08-02 17:39:33 2.4 KiB

close_tcp.c 2016-08-02 17:39:33 4.5 KiB

connection.c 2016-08-02 17:39:33 5.6 KiB

dup.c 2016-08-02 17:39:33 2.3 KiB

elided.c 2016-08-02 17:39:33 1.4 KiB

exec.c 2016-08-02 17:39:33 1.9 KiB

exec_bin.c 2016-08-02 17:39:33 1.3 KiB

exit.c 2016-08-02 17:39:33 2.6 KiB

exp.c 2016-08-02 17:39:33 1.6 KiB

fcntl.c 2016-08-02 17:39:33 1.8 KiB

fcntl_ndelay.c 2016-08-02 17:39:33 1.9 KiB

file_lock.c 2016-08-02 17:39:33 1.9 KiB

fork.c 2016-08-02 17:39:33 2.2 KiB

getcontext.c 2016-08-02 17:39:33 1.6 KiB

getenv.c 2016-08-02 17:39:33 2.3 KiB

getpeername.c 2016-08-02 17:39:33 3.1 KiB

getpid.c 2016-08-02 17:39:33 1.3 KiB

getrusage.c 2016-08-02 17:39:33 1.7 KiB

getsockname.c 2016-08-02 17:39:33 2.5 KiB

gettimeofday.c 2016-08-02 17:39:33 1.6 KiB

isatty.c 2016-08-02 17:39:33 2 KiB

libmicro.c 2016-08-02 17:39:33 29.5 KiB

libmicro.h 2016-08-02 17:39:33 4.4 KiB

libmicro_main.c 2016-08-02 17:39:33 1.1 KiB

listen.c 2016-08-02 17:39:33 2.4 KiB

localtime_r.c 2016-08-02 17:39:33 1.7 KiB

log.c 2016-08-02 17:39:33 1.6 KiB

longjmp.c 2016-08-02 17:39:33 1.3 KiB

lrand48.c 2016-08-02 17:39:33 1.5 KiB

lseek.c 2016-08-02 17:39:33 2.3 KiB

Makefile 2016-08-02 17:39:33 2.1 KiB

Makefile.Aix 2016-08-02 17:39:33 1,011

Makefile.benchmarks 2016-08-02 17:39:33 1.9 KiB

Makefile.com 2016-08-02 17:39:33 3.3 KiB

Makefile.Linux 2016-08-02 17:39:33 1 KiB

Makefile.SunOS 2016-08-02 17:39:33 1.7 KiB

malloc.c 2016-08-02 17:39:33 2.6 KiB

memcpy.c 2016-08-02 17:39:33 3 KiB

memmove.c 2016-08-02 17:39:33 3 KiB

memrand.c 2016-08-02 17:39:33 2.6 KiB

memset.c 2016-08-02 17:39:33 3.3 KiB

mk_tarball 2016-08-02 17:39:33 524

mktime.c 2016-08-02 17:39:33 2.1 KiB

mmap.c 2016-08-02 17:39:33 5.6 KiB

mprotect.c 2016-08-02 17:39:33 3.8 KiB

msync.c 2016-08-02 17:39:33 3.6 KiB

multiview.sh 2016-08-02 17:39:33 5.2 KiB

munmap.c 2016-08-02 17:39:33 3.6 KiB

mutex.c 2016-08-02 17:39:33 3.2 KiB

nop.c 2016-08-02 17:39:33 1.3 KiB

open.c 2016-08-02 17:39:33 2.3 KiB

OPENSOLARIS.LICENSE 2016-08-02 17:39:33 18.5 KiB

pipe.c 2016-08-02 17:39:33 9.7 KiB

poll.c 2016-08-02 17:39:33 4.1 KiB

pread.c 2016-08-02 17:39:33 2.5 KiB

pthread_create.c 2016-08-02 17:39:33 3 KiB

pwrite.c 2016-08-02 17:39:33 2.6 KiB

read.c 2016-08-02 17:39:33 2.5 KiB

README 2016-08-02 17:39:33 2.5 KiB

realpath.c 2016-08-02 17:39:33 1.6 KiB

recurse.c 2016-08-02 17:39:33 1.8 KiB

recurse2.c 2016-08-02 17:39:33 1.1 KiB

select.c 2016-08-02 17:39:33 4.2 KiB

semop.c 2016-08-02 17:39:33 1.9 KiB

setcontext.c 2016-08-02 17:39:33 1.3 KiB

setsockopt.c 2016-08-02 17:39:33 1.9 KiB

sigaction.c 2016-08-02 17:39:33 1.7 KiB

siglongjmp.c 2016-08-02 17:39:33 1.4 KiB

signal.c 2016-08-02 17:39:33 1.9 KiB

sigprocmask.c 2016-08-02 17:39:33 2 KiB

socket.c 2016-08-02 17:39:33 2.6 KiB

socketpair.c 2016-08-02 17:39:33 2.1 KiB

stat.c 2016-08-02 17:39:33 1.7 KiB

strcasecmp.c 2016-08-02 17:39:33 2.9 KiB

strchr.c 2016-08-02 17:39:33 2.8 KiB

strcmp.c 2016-08-02 17:39:33 2.8 KiB

strcpy.c 2016-08-02 17:39:33 2.7 KiB

strftime.c 2016-08-02 17:39:33 2.6 KiB

strlen.c 2016-08-02 17:39:33 2.7 KiB

strtol.c 2016-08-02 17:39:33 1.6 KiB

system.c 2016-08-02 17:39:33 1.8 KiB

tattle.c 2016-08-02 17:39:33 2.8 KiB

time.c 2016-08-02 17:39:33 1.5 KiB

times.c 2016-08-02 17:39:33 1.5 KiB

wrapper.sh 2016-08-02 17:39:33 1,022

write.c 2016-08-02 17:39:33 2.7 KiB

writev.c 2016-08-02 17:39:33 2.8 KiB

README

#
# CDDL HEADER START
#
# The contents of this file are subject to the terms
# of the Common Development and Distribution License
# (the "License"). You may not use this file except
# in compliance with the License.
#
# You can obtain a copy of the license at
# src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing
# permissions and limitations under the License.
#
# When distributing Covered Code, include this CDDL
# HEADER in each file and include the License file at
# usr/src/OPENSOLARIS.LICENSE. If applicable,
# add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your
# own identifying information: Portions Copyright [yyyy]
# [name of copyright owner]
#
# CDDL HEADER END
#
#
# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
Building the tarball
--------------------
As long as cc is in your path, (gcc on Linux),
% tar xf libMicro.tar
% make
will build the benchmark suite.
Running the benchmarks
-----------------------
A set of generic scripts to invoke each micro benchmark
are created in the bin directory; these may be invoked
directly. Note that the actual binaries are created in
OS-specific directories; this allows one to build for
all varients (x86/sparc/Solaris/Linux) in one place.
To collect a complete set of benchmarks, use the bench
script and redirect its output to a file.
% ./bench > output
To compare the output of two or more runs, use multiview in the src
directory:
% ./multiview reference compare1 compare2 compare2 > compare.html
%
where the reference and compare files contain the output of different
libmicro runs.
The compare.html file will allow quick comparisons to be drawn,
allowing a variety of experiments to be quickly analyzed.
All benchmarks support the following options:
[-1] (single process; overrides -P > 1)
[-A] (align with clock)
[-B batch-size (default 10)]
[-C minimum number of samples (default 0)]
[-D duration in msecs (default 10s)]
[-E (echo name to stderr)]
[-H] (suppress headers)
[-I] specify approx. time per op in nsecs
[-L] (print argument line)
[-M] (reports mean rather than median)
[-N test-name ]
[-P processes (default 1)]
[-S] (print detailed stats)
[-T threads (default 1)]
[-V] (print the libMicro version and exit)
[-W] (flag possible benchmark problems)