NAME

swet - sustained workload efficiency test


SYNOPSIS

swet [-options]


DESCRIPTION

Estimate processing efficiency.

`swet' is a benchmark for single to multiprocessor/multicore/multithread environments.

`swet' performs cpu/ram stress tests and emits the computed efficiency.


OPTIONS

 basic parameters:
 -C Hz     consider given Hz as system clock
 -d N      spawn N test sets as processes
 -R N      repeat each test N times
 -s set    file or string with tests (1) to run
 -t N      spawn N test sets as threads
 detail selection:
 -D        show test description
 -E        show elapsed time
 -F        show test frequency (ops./sec)
 -I        show test id
 -N        show test/thread number (count)
 efficiency selection:
 -a        absolute(raw) efficiency
 -c        combined(gross) efficiency
 -r        relative(specific) efficiency
 test selection:
 -B        basic test
 -Q        quick tests
 -S        slow tests
 -Z        whole test
 footer flags:
 -A        report averages
 -T        report totals
 -O text   one-liner comment
 output flags:
 --csv     output in CSV format
 --frame   output in ASCII-characters framed boxes
 --ansi    output in ANSI-line-chars. framed boxes
 --html    output in HTML
 --border  visible html table border
 --dash    vertical separators
 --minut   description minutiae
 operation flags:
 -h        show host info
 -H        print headers
 -i        set session id (processes)
 -j        join threads until completion
 -l path   master log file
 -L        full(long) detail report
 -n        use nanosecond precision (if available)
 -o secs   timeout (per test)
 -V        show version info and exit
 -v        verbose output
 -w        wait threads until completion (default)
 -Y        run each test (2) as a thread
 --demo    quick check (3)
 notes:
 (1) space- , tab- , or comma-separated test numbers
     and/or ranges like first:last
 (2) valid only for 'thread-able/-safe' tests
 (3) '-s' , '--demo' and '$SWETSET' are mutually exclusive


USAGE

Without any options, `swet' performs a full test with basic output.

`swet' can be interrupted at any time with '^C' (Control+C).


FILES

 swet*.log              per process/thread log file(s)
 /tmp/swet*.log         swet's log file(s)


DIRECTORIES

 /usr/local/bin         swet's default executable path


EXAMPLES

Example 1: perform the 'basic' test set with detailed output.

 $ swet -B

Example 2: same thing, with HTML formatting.

 $ swet -B --html

Example 3: spawn two background processes, each one to perform the 'basic' test set.

 $ swet -B -d 2

Example 4: create two threads, each one to perform the 'basic' test set.

 $ swet -B -t 2

Example 5: two processes, each one running two threads, so four 'basic' test sets concurrently.

 $ swet -B -d 2 -t 2


ENVIRONMENT

 TERM           The value of the TERM environment variable may affect
                the output of `swet'.


EXIT STATUS

The following exit values are returned:

 0                      No errors of any kind.
 >0                     An error occurred.


DIAGNOSTICS

 ENOMEM         Scant memory to perform some of the tests.
 EACCES         Permission denied (POSIX.1)
                Search permission is denied for
                a component of the path prefix
                of a given <pathname>.


SEE ALSO

opm(1), vdt(1).


NOTES

Ordinarily, `swet' does not require `root' privileges or SUID file permissions.

The INT, and TERM signals are caught by `swet', allowing for an orderly quit.


CAVEATS

The 'quick' tests are considered to run 'quickly' on processor speeds above 1GHz.

On older hardware, even the 'quick' tests can take quite a few seconds to complete.


BUGS

A screen with less than 80 columns results in garbled output if full/long detail is selected.

Not all possibly harmfull/misleading/nonsensical combinations of the options are prevented nor handled in the appropriate manner, and such use possibly may (and most certainly will) cause unpredictable results.


AUTHOR

The original and current versions of `swet' consist of code and documentation written by:

        Alexandre Botao           http://botao.org
        botao@unix.net 
        botao@linux.sh            alexandre@botao.org


COPYRIGHT

        Copyright (C) 2011 Alexandre Botao


LICENSE

`swet' is `Free and Open Source Software' (FOSS), and is licensed under the GNU GENERAL PUBLIC LICENSE Version 3 (the "License");

You may not use `swet' except in compliance with the License. You may obtain a copy of the License at

        http://www.gnu.org/licenses/

Additionally, a copy of the License is distributed along with `swet' in a file called 'LICENSE';


SUPPORT

 Commercial support is NOT available for `swet'.
 Suggestions and/or bug reports are very welcome.


DISCLAIMER

`swet' is distributed on an ``AS IS'' basis, WITHOUT ANY WARRANTY OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.