Skip to main content
Last updated March 07, 2013 00:24, by Bart Smaalders
= libMicro - portable microbenchmarks Wiki = LibMicro is a portable set of microbenchmarks that many Solaris engineers used during Solaris 10 development to measure the performance of various system and library calls. LibMicro was developed by Bart Smaalders and Phil Harman as part of their If Linux is faster it's a Solaris bug performance campaign. LibMicro is Open Source and uses the CDDL license.The libMicro sources include an awk script that generates color coded html pages to easily compare various OS revs, processors and other differences in a quick manner ---- You can pull the source from the source repo; it will build w/ make or gmake in src directory. 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)
Please Confirm