
The "ls" program was compiled using the CI-C86 compiler v 2.10 (cxls.exe),
the DeSmet compiler v 2.3 (dxls.exe) and the Microsoft C compiler v 3.0 
(mxls.exe).  The Microsoft compiler had slightly more source code than the 
other two; an #ifdef added a few extra lines of code to speed up screen 
printing.  

Here are the compile times, using RAMdisk for all of the CIC and DeSmet
compilers, and temp storage for Microsoft, which is too big to fit in
RAMdisk.  Source files were read from hard disk.

Compile times:                 Ratio

cxls.exe    3:37   (217 s)      5.1
dxls.exe    0:42   ( 42 s)      1.0
mxls.exe    2:48   (168 s)      4.0

Here are the resulting file sizes:

d:/work/?xls.exe
--w  15205  30 Jan  8:28p cxls.exe    
--w  17920  30 Jan  5:02p dxls.exe    
--w  12816  30 Jan  8:33p mxls.exe    

Execution times were measured for the command "xls -l d:/bin" which printed
a complete screenful of data; the executable files were in RAMdisk to
minimize loading time.  Output was to screen, and into a file (in RAMdisk).

Execution times:

            To Screen   To file      Ratios

cxls.exe      6.5 s       3.0 s     1.6  1.6
dxls.exe      5.0 s       6.5 s     1.2  3.4
mxls.exe      4.1 s       1.9 s     1.0  1.0


Summary:  

DeSmet compiles 4 times faster than Microsoft, 5 times faster than CIC.
Microsoft generates the smallest code with the fastest execution.
CI-C86 has nothing whatever to recommend it.

Changes to ls:

1. Removed the trailing "/" after directory id; it prohibited using that
   id in .bat files, and served no real purpose.
2. Changed file attribute code so read-only files show "r" and normal
   files show "---".  Revised ls.doc accordingly.
3. Arranged so the program adapts to either "/" or "\" as the pathname
   separator, depending on whether the "switchar" variable has been changed
   from its default value or not.
4. Separated the default conditions for printing short and long listings
   so either can be single column, independent of the other.
5. Added the "-i" option to include (or suppress) directory identification
   on the first displayed line.
