home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / d / dv_vidbm.zip / README.DOC < prev    next >
Text File  |  1993-01-11  |  6KB  |  118 lines

  1. We spent some time in our Interrupt Management lecture at the Quartrdeck API
  2. Conference discussing DV's overhead, including its video overhead, and we also
  3. gave out some ACCURATE benchmark programs to measure it. We have attached four
  4. programs which can be run inside and outside of DV.
  5.  
  6. They are as follows:
  7.  
  8.    TIMEWTTY - Times writing characters to the screen using interrupt 10h,
  9.               function 0Eh, without performing any scrolling operations.  This
  10.               is important since all COMMAND.COM writes make this call.
  11.  
  12.    TIMESCRO - Times scrolling the screen by writing a carriage return /
  13.               linefeed using interrupt 10h, function 0Eh.  This is important
  14.               since this is how COMMAND.COM scrolls the screen (i.e. during
  15.               directory operations).
  16.  
  17.    TIMEDIRE - Times writing directly to the screen.  This is important since
  18.               almost all text-based DOS programs write to the screen this way.
  19.  
  20.    TIMELOOP - Times executing a tight instruction loop.  This is important
  21.               since it emulates much how processor-intensive work is getting
  22.               done.
  23.  
  24. Each of these programs takes a command line parameter of the number of seconds
  25. to perform the test.  Each program then prints out how much work it got done
  26. in the given time.  Thus, a high number is good.  We ran these four programs
  27. under each of four environments:  (1) in DOS; (2) in a Maximized MS-DOS
  28. Prompt window in Windows 3.1 Enhanced Mode; (3) in a Zoomed Big DOS window in
  29. DV Classic 2.42; (4) in a Zoomed DOS Window in DV/X 1.02.  Here are the
  30. results:
  31.  
  32.              DOS    W3/3  DV2.42    DV/X
  33. TIMEWTTY     183     199     211     154
  34. TIMESCRO    3554    1977   15328   14409
  35. TIMEDIRE    9908   34081   39250   26439
  36. TIMELOOP     722     682     711     677
  37.  
  38. The interesting things to note:
  39.  
  40. (1) DESQview is faster than DOS and W3/3 at all screen writes, including being
  41.     about four times as fast as DOS at scrolling the screen through the BIOS
  42.     and writing directly to the screen.  Note that W3/3 is much slower than
  43.     DOS and nearly 8 times as slow as DV at scrolling the screen.  This is
  44.     because they perform an entire shadow update of the window on each scroll
  45.     in order to get a smoother-looking scroll.
  46.  
  47. (2) DESQview has 1.5% multi-tasking overhead for running one task on my
  48.     system, while W3/3 has 5.5% overhead and DV/X has 6.2% overhead
  49.  
  50. (3) DV, DV/X and W3/3 all use memory mapping techniques and shadowing
  51.     techniques to perform their virtualization magic, and this causes screen
  52.     writes to speed up greatly due mostly to the fact that video memory speed
  53.     is much, much slower than RAM speed (look at MFT F M to verify this).
  54.  
  55. If you want to compare speed in DV in various virtualization states, you can
  56. see the following results:
  57.  
  58.            DOS    Virtualize    Direct    Intercepted
  59. TIMEWTTY   183           211       131            213
  60. TIMESCRO  3554         15328      3464           8470
  61. TIMEDIRE  9908         39250      9851          39377
  62. TIMELOOP   722           711       718            717 (712 if shadowing)
  63.  
  64. Interesting things to note:
  65.  
  66. (1) As expected, writing in a Direct window is a bit slower than DOS since DV
  67.     has a bit of overhead and then passes it along to DOS without enhancing
  68.     the performance in any way.
  69.  
  70. (2) The TIMEDIRE test shadows when run in an Intercepted window, so the speed
  71.     of writing into a shadow buffer is equivalent to writing into a
  72.     virtualized window.
  73.  
  74. (3) DV's processor overhead is smaller for direct and intercepted windows than
  75.     for virtualized and shadowed windows.  This is because DV does not need to
  76.     keep checking for screen updates (shadowing) for such windows.  On my
  77.     machine nearly 2/3 of DV's overhead for running a single window is due to
  78.     shadowing time.
  79.  
  80. I have put these benchmarks along with 3 others in:
  81.                 SUPPORT/SYS:\DATA\SUPPORT\LARRY\MYBENCH
  82.  
  83. The other three benchmarks are:
  84.  
  85.    TIMEINTS - Times reflecting interrupts.  Note that DV in all its versions
  86.               is much, much faster than W3/3!
  87.  
  88.    TIMEPAUS - This one only works in DV.  It is designed to measure the time
  89.               it takes DV to perform a task switch.  The way you time this is
  90.               to open two DOS windows.  In the first DOS window, run TIMEPAUS
  91.               for a really long time (i.e. 3600 seconds).  Then switch to your
  92.               other window and run it for 10 seconds.  It will say how many
  93.               task switches were performed for the second window in 10
  94.               seconds.  Since the first window is also getting task switched,
  95.               really twice as many switches occured during the time.  So,
  96.               multiply the result by 2 and divide by 10 and that's the time it
  97.               takes to perform a task switch.  This number shrinks for
  98.               non-shadowed windows, as you would expect.
  99.  
  100.    TIMEIRQ -  This one only works in DV.  First you must choose some IRQ that
  101.               is not being used on your system (7 is usually a good one).
  102.               Then you open a DV window and type TIMEIRQ <irq#>.  This will
  103.               cause DV to give all interrupts coming in on that IRQ to that
  104.               window.  Next, open a second window and type:
  105.                  TIMEIRQ <same-irq#> 10
  106.               The program will prints out the number of interrupts which got
  107.               sent to the other window in 10 seconds.  This gives a
  108.               reasonable estimate of the maximum baud rate at which an ideal
  109.               communications program could run in DV.
  110.  
  111.      ********************************************************************
  112.      * This technical note and programs ziped with it may be copied and *
  113.      * distributed freely as long as it is distributed in its entirety  *
  114.      * and it is not distributed for profit.                            *
  115.      *        Copyright (C) 1993 by Quarterdeck Office Systems          *
  116.      ************************* E N D   O F   F I L E ********************
  117.  
  118.