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