swet - sustained workload efficiency test


swet [-options]


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.


 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)
 (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


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

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


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


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


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


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


The following exit values are returned:

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


 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>.


opm(1), vdt(1).


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.


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.


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.


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

        Alexandre Botao   


        Copyright (C) 2011 Alexandre Botao


`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

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


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


`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.