
Photo above shows Sysbench testing the Warp 4.0 of @Macarlo, Inc.
FREEWARE
Sysbench Updated
to Version 0.9.4d
|
Sysbench benchmarking
tool for OS/2 just updated to version 0.9.4d and the file (SYSB094D.ZIP 499K) was uploaded on
Pete Norloff's BBS (http://www.os2bbs.com).
Includes PM Grpahics, DIVE, CPU Integer and floating point, Disk and File I/O,
memory, and CD ROM benchmarks. MMOS/2 must be installed.
About this
program (Best viewed using E.EXE with word wrap on)
This is a freeware benchmark for OS/2. Like all such benchmark
programs, its results can be read in many ways. Beware of making too many decisions
based on its output - by their very nature, benchmark programs are *not* real world
applications. By tuning your system with the aid of benchmarks, you may end up with
a system that runs benchmark programs wonderfully well but runs applications badly!
Just so you're aware....
It has been brought to my attention that Sysbench does not currently run on systems
running OS/2 2.1x due to an error about missing DIVE files. Even when copying the
supplied DIVE.DLL into \OS2\DLL on a 2.1x system the application will still not
start as it makes calls to PMWIN.DLL and the ordinal numbers appear to have changed
between releases. I have installed a copy of OS/2 2.1 for Windows to see if I can
work out a way of making this work but, at present, short of shipping two separate
copies of Sysbench, I cannot think of a way to do this. For this reason execution
of Sysbench on OS/2 2.1x systems is not possible.
There are a number of files that are required to be in the same directory as the
Sysbench executable. These files are:
diskit.exe
pcicfg.dat
pmbflops.exe
pmbhanoi.exe
pmbheaps.exe
pmblinpk.exe
pmbsieve.exe
pmb_dhry.exe
pmb_fft.exe
sbcpuse.run
sysbench.exe
The file PCICFG.DAT is a translation table that allows Sysbench to work out what
PCI devices are what. It may be edited if you find a device that isn't in the table.
You could also let me know about it and I'll incorporate it into future versions.
PCICFG.DAT is a data file from a program by Ralph Brown called PCICFG that you can
find on the web if you search for it.
Results produced using versions with the same release number may be directly compared
with each other. If the first three digits are the same then the results are directly
comparable. For example, 0.9.3 and 0.9.3a b and c can all be compared with each
other but not with 0.9.4 or 0.9.2. If you're looking for results from other systems
see the section further down this readme about the web site.
The detailed log of the changes from the prior releases are now itemised in changes.txt
to save clogging up this readme file with them.
Program Usage
You can either invoke the program by typing SYSBENCH at a command prompt and then
use the menus to perform the testing or you can run it in automatic mode using the
parameters
/ALL - run all tests and then quit saving the results to the current
directory as RESULT.TXT and RESULT.HTM
/R:filename - specify the filename to which to save results. It must specify
a pre-existing directory if a directory name is given.
/H:filename - specify the filename to which to save results in HTML format. It
must specify a pre-existing directory if a directory name is given.
/DEBUG - produces messages to STDOUT that document various internal settings
and results. Use this if you are submitting a bug report to me and
want to be complete about what is going on. It's really mostly useful
for CD related problems but might help on others too. Redirect the
output from Sysbench to a text file (use SYSBENCH >test.log) and
include
the file in a bug report.
/NODETECT - bypasses much of the hardware detection code added in 0.9.4.
Running
SYSBENCH /all /r:y:\sysbench\res091.txt
will run all tests and save the results to the file \sysbench\res091.txt on the
Y: drive. The HTML format results will be saved as RESULT.HTM in the current directory
since it isn't overridden.
Be aware that running this way from a command line will generate a set of results
full of "Unknown machine" type comments. If you want to have it include
some reasonable data you'll need to invoke Sysbench from a command line without
any operands and go through the definition dialog pages to enter data about your
machine. You can also copy SYSBENCH.INI from another machine but it'll be identical
to the definitions on there if you do this.
The complete set of tests from end to end is likely to run for about half an hour
or more.
Supplemental Information.
This program was originally distributed complete with all source needed to compile
it. The original source was written by Henrik Harmsen and was donated to the OS/2
community by him when he moved to use Linux. The source has undergone many revisions,
bugfixes and has a number of new functions since that time. Please do not report
problems to him as he hasn't touched the code for a long time and won't have a clue
what you are talking about!
The last version of the source that was included came with Sysbench 0.9.1d which
was distributed as SYSB091D.ZIP. Due to space constraints I have now REMOVED the
source from the archive in order to make it smaller (~330Kb instead of ~770Kb).
If you just want _a_ version of the source you can the source for 0.9.1d from http://warped.cswnet.com/Sysbench/sb091dsrc.zip.
The version of the program you now have was coded by me, Trevor Hemsley, and you
should report any and all problems to me (Trevor-Hemsley@dial.pipex.com).
Web Site for results
There is a site on the internet where results are collected. It's run by me and
I'll collect the results and post them. I've specifically added a "Save results
as HTML" option to the File menu to save a set of results in the format ready
to be posted on this site... so if you aim to send your results to me, use both
the HTML and text options and assist the task of maintaining the site. Send me both
html and text sets of results using this email address - sysbench@dial.pipex.com.
The results site is http://warped.cswnet.com/Sysbench.
I have attempted to gather some hardware information from within the application
as it initialises. I'm attempting to get hold of the BIOS manufacturer and the video
card/chipset in use and also the storage controllers that are registered with the
OS/2 Resource Manager and the disks attached to them. I also query the CPU for its
identity if it supports this. If any of these are incorrectly filled in please send
me a mail and let me know. The more info you can provide the better.
Disclaimer
Standard disclaimers apply. This program is supplied in good faith but I am not
responsible for any loss or damage that may result from use of it. All use of this
program is strictly at your own risk.
Sysbench 0.9.1
This is a revision of the Sysbench 0.9.0 program, originally written by Henrik
Harmsen. His introductory readme file has been renamed to DONTREAD.HCH in this package
and needs to be read in conjunction with _this_ file.
Warning - Warning - Warning.
You should NOT compare results produced using this revision of the program with
results produced from versions prior to 0.9.1. Too many things have changed - timing
bugs have been eliminated, methods of calculating test averages have changed and
a different compiler has been used. You should be able to compare results from this
version with any from 0.9.1 on upwards.
I would also suggest (very strongly) that this benchmark program NOT be run on
any machine that has critical applications running on it. It sets itself to be the
highest priority thing on your system at points in its execution and this can adversely
affect other processes. It will probably stop any communications apps you have running
and connections may be lost.
Installation
No special installation steps are required to install this program.
I strongly recommend that you do not use the copy of DIVE.DLL that I have shipped.
I have included the latest DIVE.DLL from The Developer Connection for OS/2 volume
10. It may not be necessary as the program appears to work with the version that's
on my system dated 17-02-95 4:51p. I have included the latest version anyway as
that's the one I've done all my testing with. If you want to use this, copy it to
your \MMOS2\DLL directory _after_ saving a copy of the existing version. This copy
is *older* than that shipped in Warp 4 so don't use it for this release of OS/2.
It's also possible that IBM have shipped a newer copy with a fixpack so check the
date and time of your file before replacing it.
Sample result files
I have included sample result files from my two machines in this file. All results
on the smaller machine were generated using OS/2 Warp Connect V3 as I do not have
MMOS/2 installed on the copy of V4 that is on this machine. MMOS/2 is required for
the DIVE tests.
Res091.486 is generated using Sysbench 0.9.1 on my Dell 486DX2/66, 24MB RAM, with
Diamond Stealth32 2MB VLB graphics card and Promise DC4030-VL2 4MB cache IDE controller,
Western Digital AC31200 1.2Gb hard disk.
Res091b.486 is generated using Sysbench 0.9.1b on my Dell 486DX2/66, 24MB RAM,
with Diamond Stealth32 2MB VLB graphics card and Promise DC4030-VL2 4MB cache IDE
controller, Western Digital AC31200 1.2Gb hard disk.
Res091c.686 is generated using Sysbench 0.9.1c on my Dell machine which now consists
only of the original case with completely new innards! This is a Freetech 586F62
motherboard based on the Intel 430HX chipset, Cyrix P120+ running at 100MHz, 40MB
RAM, with no-name S3Trio64V+ 2MB PCI graphics card, Western Digital AC31200 1.2Gb
hard disk attached to the onboard PCI EIDE controller.
Res091c1.686 - same system as above, running Warp 3 with an ATI Graphics Xpression
2Mb card.
Res091c2.686 - same system as above, running Warp 4 with an ATI Graphics Xpression
2Mb card.
Res091.PRO is generated using Sysbench 0.9.1 on a Micron Pentium Pro 200MHz, 64MB
RAM, with ATI Graphics Pro Turbo 4MB VRAM, Adaptec AHA2940UW PCI SCSI controller,
Seagate Barracuda 2.1Gb fast/wide hard disk (ST32550W). This set of results uses
the Conner 1Gb narrow SCSI disk that's also installed.
Res091b.PRO is generated using Sysbench 0.9.1b on a Micron Pentium Pro 200MHz,
128MB RAM, with ATI Graphics Pro Turbo 4MB VRAM, Adaptec AHA2940UW PCI SCSI controller,
Seagate Barracuda 2.1Gb fast/wide hard disk (ST32550W).
Res091c.PRO is generated using Sysbench 0.9.1c on a Micron Pentium Pro 200MHz,
128MB RAM, with ATI Graphics Pro Turbo 4MB VRAM, Adaptec AHA2940UW PCI SCSI controller,
Seagate Barracuda 2.1Gb fast/wide hard disk (ST32550W) and IBM DCHS-04W Scorpion,
fast/wide 4.3Gb hard disk (the subject of this test)
Bugs and warnings
If you have the original Warp 3 or Warp Connect without any fixpacks do NOT attempt
to run the file SBCPUSE.RUN or your system will stop with a TRAP 000E. This is the
executable that measures the amount of CPU usage by using the new API call however
the mere act of loading it causes OS/2 to TRAP if run on a system that does not
support the new API call. Sysbench determines whether your system supports this
or not and automatically calls it if it is supported. I have named the executable
sbcpuse.run to make it more difficult for the unwary to trap their system.
No bugs that I know of (but there are bound to be some). If you find one, report
it to me - Trevor-Hemsley@dial.pipex.com - and include as much information as you
can. If it falls over and displays an error box with registers, quote them (a HELP
SUPPRESSPOPUPS on Warp will tell you an easy way of collecting this information
and save you some tedious typing). If the program generates a log file called SB_ERROR.LOG,
include that too. Tell me about your machine in as much detail as you can, even
if it seems irrelevant
As of 0.9.1b there's a section in the results file that reports on video data.
If you suffer a video problem please save a set of results (even if they're blank)
and include the video data section in your bug report. It'll tell me more about
your video card and might help to solve the problem.
Changes in Sysbench 0.9.4d (best viewed in E.EXE with wordwrap on)
1) Added code to recognise the output from the German version CMD.EXE's VER /R
command
2) Added code to cater for music CD's being in a drive. Stop the "sector not
found" error message and (sometimes) resulting lockup.
3) Corrected a problem with the code added to recognise a hard disk controller
that stops more than 16Mb RAM being used.
4) Corrected a problem with the sizing of the swapfile (OS/2 rounds up to the nearest
MB and I didn't).
5) Added code to recognise the Spanish version CMD.EXE's VER /R command
6) Added checks for NOSWAP and a missing SWAPPATH line in CONFIG.SYS and stopped
a SYS3175 on startup.
Changes in Sysbench 0.9.4c (best viewed in E.EXE with wordwrap on)
1) Yet another fix for this 64Kb i/o problem. This one might even work<sigh>.
2) Added an "xMHz" field to the autodetected processor name to try to
get more speed information entered. Most entries to the Sysbench web site have no
processor speed given...
Changes in Sysbench 0.9.4b (best viewed in E.EXE with wordwrap on)
1) Implemented a better fix for the disk test. I believe this error is actually
a bug in OS/2 that fails if you try to do a 64Kb i/o into a 64kb buffer. The same
i/o into a 65537 byte buffer works!
2) Stopped a SYS3175 in the Save as HTML routine when a controller/disk is not
detected correctly. As a side effect of this you may see disks listed as being on
controller 39 (but at least it doesn't fall over!).
3) Added code to force /nodetect when the original version of OS/2 Warp 3 is found.
This stops a TRAP 000D in RESOURCE.SYS during hardware detection! Problem is fixed
by using the copy of RESOURCE.SYS from Warp Connect dated 12/12/94! I've added the
option of allowing you to override this but you should only do this if you have
updated RESOURCE.SYS or you like seeing TRAP screens.
4) Fixed a bug that caused Sysbench to not run if OS2CDROM.DMD is not loaded.
5) Fixed a bug that caused a SYS3175 if you have an Adaptec 1520 SCSI card (or
some other card driven by AHA152X.ADD). This works around a bug in that driver that
registers resources incorrectly with the Resource Manager - run RMVIEW and see the
controller listed as a DISK!
Changes in Sysbench 0.9.4a (best viewed in E.EXE with wordwrap on)
1) Fixed an annoying bug in the new disk code that bombed out if the attempted
transfer was exactly 64Kb. Hit this on all disks that report themselves as having
32 sectors per track - Jaz, ZIP, anything attached to a 2940 with >1Gb translation
turned off etc.
2) Fixed a cosmetic bug that meant that the HTML version of the results wasn't
being closed properly if you had only one HD.
3) Added Via VP2 to list of PCI devices (VID 1106, DID 1595). At least I think
it's a VP2...
Changes in Sysbench 0.9.4 (best viewed in E.EXE with wordwrap on)
1) The CD selection menu now contains only the drive letters of the drives not
the sizes of the disks in them.
2) The title of each CD is now updated to reflect the size of the disk in the drive
everytime there is a test run against that drive.
3) Changed the code that detects the number of CD drives to use Sam Detweiler's
sample device testing code. This identifies CD drives even when they don't have
disks in them and allows tests to be run against the device as soon as a disk is
inserted. Previously, if you started Sysbench with no disk in the drive it wouldn't
let you run any test against it.
4) Renamed all my source files from *.C to *.CPP and then dealt with the numerous
type checking errors that came up. I guess this really should make this one 0.9.4
since all the code will be different with different runtime support etc. Did this
'cos I finally got fed up with ICSDEBUG hanging in the middle of debugging code
for no apparent reason. I've noticed that on all my CPP code this doesn't happen
so thought I try it here too.... with any luck it'll result in me cursing slightly
less. You'll notice that the Dhrystone test scores seem to have almost doubled because
of this change!
5) Made several changes to the Disk I/O tests. Mainly I've changed the number of
sectors that are transferred at one go from the previous amount which was the number
contained in a single track (as reported by the geometry of the disk/adapter) to
a higher number. Currently this is the number of complete tracks that will fit in
64Kb. On a disk that reports 63 sectors/track this will mean that 2 complete tracks
(126 sectors or 63Kb) will be transferred in one I/O. This had knock on effects
on the rest of the code which was designed around transfers of 1 track at a time
so other changes were necessary. The net effect of this change is to make the overall
i/o rate faster. The cache/bus transfer rate is probably the most noticeably affected
- on my main machine it's doubled on one disk, tripled on the second and is up by
50% on the third. I *still* don't trust the cache/bus figure ;-)
6) Added various debug messages to the disk i/o tests to aid debugging if run with
/debug.
7) Changed the About... dialog box to one specifically designed for the job rather
than the generic WinMsgBox
8) Added code to query the OS/2 Resource Manager for disk, CD, optical and WORM
devices and fill in the disk names in the machine data dialog automatically.
9) Added code to identify the CPU we're running on using the CPUID instruction.
Filled the machine data in with this if sysbench.ini does not exist. Many Cyrix
processors do not support the CPUID instruction by default though, according to
Cyrix, it can be turned on from a BIOS setting apparently. I have yet to see a machine
that allows this...!
10) Added code to query all PCI devices in the machine and fill in various parts
of the machine data dialog.
11) Added a /nodetect switch to disable the above code in case it gives problems.
12) Rewrote the "Machine data.." dialog box to cope with these changes
by adding an extra page to the notebook to list controllers.
13) Fixed a bug in the identification of some BIOS makes.
14) Added code to migrate older versions of sysbench.ini to the new format.
15) Added code to issue a warning message if one or more local disk devices is
showing as not being able to access more than 16Mb RAM. This may not be accurate
since I don't know the exact conditions that mean than RAM in excess of 16Mb is
used for a fast swap area. Also since I don't have a controller that forces this
restriction I can't actually _test_ the code!
16) Fixed a small bug in the formatting of the number of colours in HTML results
output. 32 bit colour was reported as -2Gb.
17) Fixed a crash that occurs when the disk test appears to complete in zero seconds!
Not quite sure how this can be but...
18) Added controller numbers to all disk and CD descriptions and printouts. Amended
the HTML output to correctly identify the controller that each device is attached
to. Amended the text output to contain a list of all controllers and their names.
The first disk on the first controller will appear as "Disk 0-1". The
first disk on the second controller will appear as "Disk 1-4" (if it happens
to be the fourth disk in the machine). The second number is _not_ the number of
the disk or CD on the controller but the sequence number of the disk/CD in the whole
machine.
19) Added three extra lines to each of the disk test results sections that break
down the Average data transfer rate into its component parts. The Avg. DTR test
has always averaged i/o across three points on the disk to obtain its average but
now each result is listed separately. The overal disk mark is still calculated only
using the average of the three results.
20) Made the buffer size changes to the simultaneous disk i/o tests too.
21) Added code that should detect when hardware changes have been made and pop
up the machine data dialog when this happens. This is testing CPU, cache (if available),
motherboard chipset, video card, disk controllers, disk and CD drives.
Changes in Sysbench 0.9.3c (best viewed in E.EXE with wordwrap on)
1) Corrected the inner/outer CD tests which were previously the wrong way around.
In 0.9.3b the inner test was testing the outside of the disk and vice versa.
2) Removed the outer sectors test results from the equation that calculates the
overall CD Mark result and attempted to factor in the size of the CD into the equation
that calculates the outer sectors results. This does mean that the outer sectors
results on CAV drives is not the actual transfer rate that was achieved but what
Sysbench thinks it would be on a full size CD with 333,000 2Kb sectors. Hence the
reason why it's been removed from the overall result... if you find a CD drive that
reports itself as being 200 speed, please let me know! The output from a /debug
run would be helpful in debugging this...
Changes in Sysbench 0.9.3b (best viewed in E.EXE with wordwrap on)
1) Added long list of S3 video chipsets to the identification tables. Taken from
a usenet post about s3chipid.exe.
2) Added protectonly status to text result file.
3) Added the ability to rightclick the mouse on the title of the various disk/CD
entries to change the description - makes it easier than going through the menu
then paging forward and doubleclicking the right entry...
4) Added some autodetection of CPU types to the code.... (well this didn't make
it, look for 0.9.4 sometime shortly).
5) Changed the Text render test to use System Monospaced on DBCS versions of Warp
where System VIO does not exist.
6) Finally tracked down the bug that I thought I'd fixed in 0.9.3 with CDs failing
the seek test. It appears that the DosDevIOCtl CDROM_GETVOLUMESIZE returns the wrong
value for the number of sectors on the disk but DosQueryFSInfo gets it right. Changed
to use the latter for CDs.
7) Added a new test to the CD I/O test set. Previously this tested transfer speeds
on the inner sectors of the drive only and reported this as the average transfer
rate. Now this test has been renamed to the "Inner transfer rate" test
and a new test has been added that runs the same test against the last 4Mb of the
disk. This should give some idea of the speed difference on "CAV" (Constant
Angular Velocity) drives that should give better transfer rates on the outer sectors
of the disk... at least I think I got this the right way around (I didn't!).
Changes in Sysbench 0.9.3a
1) Checked for missing System VIO font and substitute System Monospaced instead.
This should allow users on DBCS versions of Warp to run Sysbench... whether what's
displayed is then readable is another matter!
2) Downloaded Al Alberto's latest version of FLOPS code and ported it to OS/2 and
added the necessary wrapper to have it work with Sysbench. This restores the pre-0.9.2
code that does not adapt to the length of the test but hopefully should cure the
weird inaccuracies that people have reported with the FLOPS test on different models
of the same machine. I think I f**cked it up before! This change was made available
separately as sysbflop.zip.
3) Miscellaneous HTML changes to fit better with the new results site.
4) Included CSD and fix and revision numbers in the results files and added some
info to the HTML version that was already in the text version.
Changes in Sysbench 0.9.3
1) Added a new switch to the command line. /debug turns on some debugging code
that issues diagnostic messages during the CD tests. I've put this in to aid debugging
the various CD problems that have been reported to me. It writes output to stdout
so executing
sysbench /debug >test.log
will produce a log file that can be used (by me) to find out why your CD is failing
a test.
2) Moved the [+] and [-] symbols down a little since clicking on the very top of
them did nothing.
3) Added a new test for simultaneous disk i/o. This kicks off a number of processes
that do flat out i/o to each hard disk in your system and then add the total transfer
rate. Tried to add this as separate threads but it kept maxing out at ~10Mb/sec
and wouldn't go any higher - could've been a bug in my code - but spinning the i/o
off into a separate process seems to have cured it.
4) Corrected a cosmetic bug where the titlebar said "Running Max. Transfer
speed" not " Running avg. transfer rate". It now matches the menu
description of the test.
5) Fixed a bug that affects the total result from the Memory tests. Due to the
symbol "MB" being equated to 1204*1204 instead of 1024*1024 the "Memory
Marks" of all previous versions of Sysbench on the memory tests have been out
by a large factor. The results of each memory test has been valid but the final
total has not.
6) Fixed a problem that occurred on CD's containing both music and data tracks
during the seek test.
7) With help from Sanjeev Singh at Compaq and someone in the development team for
HPFS386 in IBM I've corrected a problem that caused the File I/O tests to crap out
with a SYS3175 when starting a new test. This only occurred when the HPFS386 cache
was >4Mb and the file that Sysbench was creating already existed in the cache.
HPFS386 took more than the test time to purge the old file from the cache when the
DosOpen was executed. When Sysbench went to perform the I/O test loop afterwards
the timer had expired and no I/O was done at all.
8) Ported the latest Linpack double precision code across to OS/2 since someone
reported that the results from Sysbench on a Pentium Pro were about 1/4 the amount
that is reported on the same machine running one of those _other_ o/s's! The new
version reports about 50% higher results than the old but I can't compile it with
full optimisation which would add another 50% to the current result since it makes
my machine TRAP 000C. Pretty sure that this is a bug in the optimisation code generated
by IBM VA CPP but I'm not holding my breath for a fix any time soon. Do not compare
results from this version of this test with ones from previous versions!!!
Changes in Sysbench 0.9.2 (best viewed in E.EXE with wordwrap on)
1) Fixed a problem when using an application called LTClock at release 0.4 or lower
which caused a SYS3175 when the titlebar text was updated. LTClock 0.4 or lower
adds extra text to the titlebar and it then extends beyond the 60 chars allowed
by OS/2.
2) Fixed a problem where the current drive did not have enough space to perform
file i/o tests. I was busy checking the available space on the next drive up (so
if current drive C: has less than 10Mb free I was looking at D:'s space). This caused
the File I/O menu item to be erroneously greyed out.
3) Added a fix for the Media Vision Reno 2x portable CD-ROM drive connected to
an Adaptec APA-1460 SCSI-2 PCMCIA card. This drive doesn't respond correctly to
the lock drive command and then CD tests are skipped. Added a specific check for
"command not supported" from the lock.
4) Added the S3 Trio 764 video chip to the table of video chipsets.
5) Changed the font that's used on the display if displaying at 1600x12nn resolution
on the screen. It was too small to read otherwise.
6) Fixed a paint problem that happened if you had more than 1 CD and it had spun
down by the time the program queried it. Moved the CD drive query code inside the
code that operates before the main window is displayed. It's now done when the "Please
wait..." dialog window is showing.
7) Added code to query the number of processors on the machine. All CPU tests now
spin off a separate _process_ for each processor and the benchmark totals are cumulative
(ie, if processor 1 scores 120 and processor 2 scores 121, the CPU score is 241).
This change does mean that CPU integer and floating point scores are NOT directly
comparable to those from previous versions of Sysbench (though fairly close). All
executables MUST be in the same directory for the CPU tests to function. The executables
are:
pmbflops.exe
pmbhanoi.exe
pmbheaps.exe
pmblinpk.exe
pmbsieve.exe
pmb_dhry.exe
pmb_fft.exe
sysbench.exe
Bumped the version number to 0.9.2 since I reckon I've finally made enough changes
to this beast to justify it!!
8) Changed CPU utilisation code to use DosPerfSysCall if the version of Warp we're
running on supports this API. This improves the accuracy of the CPU usage figures
from somthing that's vaguely correct to something that's fairly reliable. If it
cannot use this method of calculating CPU usage the line now says "percent
(approx)" by the side of it instead of the normal "percent".
9) Finally bit the bullet and changed the DISK scoring methodology to take much
less notice of the cache/bus transfer figures since these are largely meaningless.
This means that total scores from previous versions may NOT be compared with those
from 0.9.2 and later though the individual test figures themselves are largely the
same.
10) Added code to check the invocation path so I can load the other EXE files from
the same place.
11) Changed the display code around to add [+] and [-] signs to each group of tests.
The default is to display each group in summary mode so that only the overall result
figure is visible. Clicking anywhere on the line with a [+] sign next to it will
expand the group so you can see all the test results. Similarly, clicking anywhere
on the line with a [-] next to it will contract the group again. In addition each
group will auto-expand as the tests are performed. If you've manually expanded the
test group then it'll stay expanded otherwise it'll shrink itself again after the
test group is complete. Saving the results to a file or to HTML is unaffected by
these display options.
12) Added an "Expand all" menu choice to display in the same mode as
previous versions with all results showing. This option is saved across executions
of Sysbench. The default is to display unexpanded and the setting is now saved in
SYSBENCH.INI and restored in the same mode as when you quit.
13) Moved some of the choices on the File menu around and added a couple of separators
to structure the options better (maybe).
14) Changed display colours around and added code to centre the test group titles
and pad the line with a horizontal line. Added a border line around each group of
tests to delineate them from the other tests more clearly.
15) Changed the legend on the display of File I/O so it says R or W instead of
Y and N to indicate whether it's reading or writing. Also changed the cache column
to Cached and Uncached. Removed these legends from the header line for the test
group.
16) Fixed a bug that allowed lots of blank lines to appear at the end of the display.
17) Made the main window open with animation enabled.
18) Adjusted some of the descriptions and titles of the tests to remove some unnecessary
abbreviations.
19) Fixed a problem in FLOPS test that didn't compensate for the length of time
of the test. It's now normalised to a 15 second interval (though runs for considerably
longer). This means that the FLOPS test results will probably be much lower (in
the order of 33%) than in prior releases but should be more consistent.
20) Added code to the graphics tests that terminates the current test (with no
result) if the test window loses the focus during the test. This is primarily to
fix a loop that occurred if the window was hidden. The self-adaptive nature of the
test meant that it kept adjusting its run-time upwards because the test completed
too quickly. If you then brought the window forward again it would spend about 10
minutes trying to complete the tests it was performing merrily when in the background.
The fix I've put in for this is a bit of a kludge but better than having it take
your entire system away with it for 10 minutes.
21) Hmmm, maybe I've found a different way around that... made all the graphics
tests perform fullscreen PM. This does mean that the results are not comparable
(though they are similar) to previous versions but since I've changed so much already...
I've left the code to terminate the test if the focus is lost in there so if the
effects are too much for you, you can hit Ctrl-ESC to get the task list and the
test will terminate shortly thereafter. As part of this exercise I've also fixed
some bugs that crept out of the woodwork in the horizontal lines, Bitblt and the
(pretty much rewritten) text render.
22) Added an approximate speed rating to the CD i/o test "Average transfer
rate" so it now says "Kilobytes/second (~10.4X)". This is worked
out by dividing the kb/sec figure by 150Kb.
23) Split the CPU utilisation code off into a separate EXE file since I discovered
that attempting to even load the program that made the DosPerfSysCall API call on
a Warp 3 system without any fixpacks applied caused a TRAP 000E to occur. This now
resides in SBCPUSE.EXE and anyone wishing to TRAP their (non-fixpacked Warp 3) system
at will can just run this!
Changes in Sysbench 0.9.1d
1) Added a progress indicator to the title bar when you're running multiple tests.
It now says, for instance, "Sysbench 0.9.1d - Running All tests (DIVE M->S)".
2) Renamed all source files with >8 character names so that they'll fit on FAT
formatted disks.
3) Attempted to fix a bug with >4Gb disks showing up in the selection menu for
the Fileio tests as (size-4Gb). Not sure if I've been successful since I don't have
a single partition >4Gb to test this.
4) Ported Kai Uwe Rommel's new Diskio 1.13 code into Sysbench. Separated most of
the specific code for Sysbench into a new source file to make future ports easier.
5) Re-arranged data on screen so that Disk statistics appear at the end of the
display. Added tests for CD drives to perform similar tests to those done for hard
disks (code also from Diskio 1.13).
6) Re-arranged menu items and order of tests to match the new order on-screen.
Added code to list all disk and CD devices on the screen and menu items to perform
disk tests on all disks and the same for CD's.
7) Added a status indicator to the "Initialising" title bar as startup
now takes some time since it scans all available disks and CD drives. If these are
powered down we have to wait for them to spin up.
8) Added menu item to save results in HTML format so they can be posted to the
Sysbench results centre and added to the list there easily. The results file generated
using this method can be displayed using any (tested using Netscape/2 and WebEx)
Web browser.
9) Changed the machine configuration dialog into a notebook with two pages. The
first page has all of the data that the old dialog window used to contain. The second
page is a list of all disk drives and CD drives in the system. Each line on the
second page can be doubleclicked to display a dialog window that allows you to enter
the description of the drive. This data is saved to the SYSBENCH.INI file. This
data is now displayed in the text and HTML results files.
10) Fixed a potential problem with the machine configuration notebook being displayed
when the INI file is empty (eg on fresh installs). The data about the machine is
still being gathered at this point so some disks were not listed.
11) Changed the serialisation method between threads in the File I/O tests to better
cater for use on SMP machines. Since I don't have Warp Server Advanced I'm unable
to test this but I'm told it still doesn't work. Final nailing of this bug is pending
IBM releasing a Warp SMP client o/s. Works fine on UP machines.
12) Added code to identify the manufacturer of the BIOS on the machine, the video
card chipset and memory installed. If the video manufacturer and/or chip type is
not identified correctly, you can do a save results and look at the manufacturer
code and chip type in there and send them to me for inclusion in the next release.
13) Added an "end of all tests" beep and the option to turn it on/off.
14) Added a new verb to the commandline to save HTML format results on an automatic
invocation. Now you can use /H:filename
15) Disabled the automatic display for machine properties when the program is run
using /ALL. Otherwise it just sits there looking stupid and affects the results.
16) Fixed a bug where Fileio would be disabled if Sysbench was run from a LAN drive.
Changes in Sysbench 0.9.1c
1) fixed problems with disks larger than 2Gb whose size didn't display correctly
when the number hit 2Gb and then went negative. When I acquired a 4.3Gb disk, I
rewrote this fix again as it still didn't work correctly. It should now handle disks
up to the terrabyte range so it should last a couple of years at least :-)
2) Added a new suite of disk tests. The existing ones perform i/o directly to the
disk bypassing any and all operating system caching. I've now added a longish set
of tests that read and write both sequentially and randomly at varying blocksizes
with caching enabled and disabled. The idea of these new tests is so that you can
gain some idea about the performance of your machine using different cache sizes
and parameters. Compare and contrast the results obtained after adjusting things
and see if they've made it better or worse. The new tests each run for 15 seconds
and there are 40 of them so they add quite a bit to the elapsed time of the benchmark.
This benchmark isn't really designed to be used to compare different systems, more
so you can see the effect that tuning the file system cache has on your own.
3) If you are on a network and have remote drives mapped the startup of Sysbench
may take some time. It queries all attached drives and checks them to see if the
filesystem is eligible for the new file tests. If your LAN connections have timed
out it has to wait for OS/2 to re-make them before it can continue. If the host
machine is down the connection attempt needs to time out. I don't know if I can
make this wait-time any shorter since, as far as I am aware, the only way to find
out if it's a LAN drive is to query it (catch-22). What I've done instead is to
put up a nice little dialog window with a flashing LED on it to keep you all amused
while it does its stuff ;-). You'll also see this if you have a drive without a
CD in it.
4) Added a bunch of new code that monitors swapper.dat during the benchmark. It
also looks at various settings in CONFIG.SYS and recommends changes that you might
want to make. It looks at speed of processor and MAXWAIT, size of RAM and diskcaches
and how much space in each file system you have. If you quit the application using
File/Quit rather than Alt+F4 or the Warp 4 Xit box you'll see these recommendations
if any are to be made. If you use Alt+F4 or the exit button then you will not see
these recommendations (such as they are) at all. I've deliberately coded it this
way so that there's a fast exit way out of the app if you want it.
5) Added an option to the "File" menu to allow you to specify various
data elements that will appear in the saved results. This includes machine name,
motherboard, chipset, manufacturer, cache, processor, graphics card and disk controller.
You can use up to 100 characters in each of these fields, freeform text. This data
is written to a SYSBENCH.INI file and remembered for the next time you run the program.
If the file doesn't exist, Sysbench will display the dialog window automatically
when you start it. Subsequent runs should be as normal.
6) Added a couple of command line options for the program so you can run the suite
of tests without intervention. These are
/ALL - run all tests and then quit saving the results to the current
directory as RESULT.TXT
/R:filename - specify the filename to which to save results. It must specify
a pre-existing directory if a directory name is given.
Running
SYSBENCH /all /r:y:\sysbench\res091c.686
will run all tests and save the results to the file \sysbench\res091c.686 on the
Y: drive.
7) Added "mnemonic" keys to all menu options so that you can now access
the entire range using the keyboard only.
8) Corrected the amount of installed RAM which was under reported by 384Kb.
Results from this release should be comparable to those from any release back to
0.9.1.
Sysbench 0.9.1b
V0.9.1b: fixed a display problem when scrolling through the window using the arrow
keys on some machines. Symptoms were repeated lines and shadow data.
Fixed various divide by zero problems that hit the Linpack CPU benchmark on fast
machines.
Fixed DIVE problem at 800x600 on video cards that use bank switching. This caused
the display to be garbage on first and third tests and it to disappear with a SYS3175
during the second DIVE test.
Disabled DIVE tests on releases of OS/2 prior to Warp as reports indicate it fails
or crashes the machine on 2.11.
Added information to printouts to identify more about the machine being tested.
This adds swapfile current and initial sizes and video resolution/colour depths
to the current RAM size, priority, maxwait and co-processor listings. Also listed
some data about video characteristics that will aid debugging any future video problems.
Changed coding in all files to eliminate compilation warnings and informational
messages. The whole suite now compiles cleanly using IBM's VisualAge C++ 3.0 product.
Sysbench 0.9.1a
Ooops. Recompiled with the GA version of VisualAge C++ with all the latest fixes
on and finally found the switch to turn off debug mode! (Duh!). Cuts the size of
the EXE in half and then some and pushes the CPU and memory benchmarks up by 40%.
Corrected bug that causes a SYS3175 on machines with video memory that don't have
enough space to fit the same number of vertical lines as horizontal lines. Machines
at 800x600x64K with only 1Mb would hit this - maybe others too.
Bug fixes from original code
I have revised various routines to fix some bugs, notably some of the CPU benchmarks
returned impossible values on very fast machines as some of the passes through the
code completed before the timer could register a value.... dividing by zero gives
some very strange results! The memory tests also gave invalid values on some of
the smaller values.
Now uses DISKIO 1.9 code
In addition, I have incorporated the latest DiskIO benchmark code (1.9) into this
release and have modified the display to include some of the new values reported
by this. I have doubts about my implementation of the concurrent disk i/o and CPU
test as it returns results sometimes that are wildly out of kilter with the norm.
Treat this one with suspicion for the present ;-). Thanks go to Kai Uwe Rommel for
this code - bugs are mine<g>.
DIVE Tests now enabled
I have enabled the DIVE tests and checked them out on both my machines. I have
written a lot of code for bank-switched graphics cards and it seems to work fine.
In case it's not immediately obvious what these tests look like in use, the first
should move the entire screen image downwards with the image that disappears from
the bottom of the screen re-appearing from the top. The movement should be quite
smooth. The second test squashes the screen image from top and bottom and eventually
flips it over completely upside-down, then back up the right way and finally stretches
and compresses various parts of the image. If you see something radically different
from this, I either haven't described it very well or you have a bug.
I am not sure what Henrik's intent was when he wrote the original DIVE programs
but I have eliminated two of the tests from the program as they seemed to be identical
to each other. As it is, two of the tests actually do identical things (the first
and third) but report their values in different ways, one as MB/second and one as
frames/second. I've left them both there as this seemed quite useful. I didn't think
it useful to run the same test four times...
To run the DIVE tests you must have a graphics card that's enabled for it. My ATI
GPT does not support DIVE when running at 1024x768x16.7M colours - it's necessary
to reset to a lower colour depth in order to run the DIVE tests. If you don't have
a card that supports DIVE, the tests will just blink the screen momentarily and
the test will be skipped.
@Macarlo, Inc.
@Macarlo's Shareware & Web
OS/2
Java Lobby Member
Java Site Accredited
[TOP]
[HOME] [INDEX]