
Portable.NET Benchmark
----------------------

PNetMark is a benchmarking tool for Common Language Runtime (CLR)
environments.  It is loosely based on the techniques used by the
CaffeineMark to benchmark Java.

This tool is not primarily intended to compare Portable.NET with other CLR
implementations although it can be used for that purpose.  Rather, it is
primarily intended to identify areas of Portable.NET that may need further
attention.

Use the following commands to build PNetMark:

    $ gunzip pnetmark-VERSION.tar.gz | tar xvf -
    $ cd pnetmark-VERSION
    $ ./configure
    $ make

Then use "make check" to run the benchmark.  There are three programs:
"pnetmark.exe", "scimark2.exe", and "linpack.exe".

You can build and run with systems other than Portable.NET if you wish.
The following configure options can be used to control which C# compiler
and CLR to use:

    --with-cscc   Use Portable.NET's C# compiler.
    --with-csc    Use Microsoft's C# compiler.
    --with-mcs    Use Mono's C# compiler.
    --with-ilrun  Use Portable.NET's CLR.
    --with-ms     Use the native .NET Framework SDK CLR.
    --with-clix   Use Rotor's CLR (clix).
    --with-mono   Use Mono's JIT (or interpreter for platforms without a JIT).
    --with-mint   Use Mono's interpreter.

If you supply a compiler option, but not a runtime engine option, then
configure will choose the runtime engine that corresponds to the compiler
(e.g. --with-cscc and --with-ilrun).  The same applies if you supply a
runtime engine option, but not a compiler option.

If you supply neither a compiler option nor a runtime engine option, then
configure will use the first of the Portable.NET, Mono, or Microsoft
tools (in that order), depending upon what is installed on your system.

See the "doc/pm_faq.html" file for more information on building and
running PNetMark.
