
 BINRUN.EXE - A Binary Runner
 ============================

Windows has a little problem - every system shell takes a
few dozen milliseconds to load CMD and hordes of runtime
libraries. Doesn't sound like much, and it isn't for most
applications, but when the binary being run only takes a
few milliseconds and must be run thousands of times - like
when evolving and testing redcode warriors for the game of
corewar - a few dozen milliseconds of overhead is quite
significant. When evolving nano warriors it's the
difference between waiting a day or several days.

BINRUN checks the command line passed to it and if it's
in the form of /c program arguments [> or >> file] then
it searches for the program and executes it, redirecting
the output to a file if specified. If given anything it
doesn't understand the command line is passed to the stock
cmd.exe program, assumed to be at %windir%\SYSTEM32\CMD.EXE
(hard-coded, if not found then it just exits).

Usage...

Make a batch file to run the application that sets
comspec to the binrun.exe binary. For example for the
Maezumo evolver, put binrun.exe in the existing files
directory and make a batch in the base directory...

----- begin Run_Maezumo.bat -----
@echo off
set comspec=files\binrun.exe
start "Maezumo" Maezumo.exe
----- end of batch --------------

All system shells performed by the program will then be
passed to binrun.exe rather than the stock command processor,
greatly reducing shell overhead depending on the coresize
being evolved for. Nano warriors for coresize 80 spend very
little time in the mars simulator so show the most improvement,
increasing evolving speed by about three times. Still not as
fast as evolving under Linux a significant improvement.

BINRUN is Public Domain Software, do whatever you want.
This software is provided as-is and without warranty.
If there are any issues let me know.

----------------------------------------------
Terry Newton (wtn90125@yahoo.com)
