home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 28 / amigaformatcd28.iso / -seriously_amiga- / misc / posbb / src / amigaos / posbb_tests.doc < prev    next >
Text File  |  1998-05-09  |  10KB  |  344 lines

  1. ATTENTION SOME OF THIS DATA COULD BE WRONG
  2. I'LL UPDATE THIS DOC SOON,BUT AT THIS TIME IT COULD BE OUTDATED
  3.  
  4.  
  5. TABLE OF CONTENTS
  6.  
  7. posbb_tests.c/--background--
  8. posbb_tests.c/Test_CopyMem
  9. posbb_tests.c/Test_Draw
  10. posbb_tests.c/Test_DrawEllipse
  11. posbb_tests.c/Test_FPMath
  12. posbb_tests.c/Test_IMath
  13. posbb_tests.c/Test_printf
  14. posbb_tests.c/Test_Read
  15. posbb_tests.c/Test_Write
  16. posbb_tests.c/Test_WritePixel
  17. posbb_tests.c/--background--                     posbb_tests.c/--background--
  18.  
  19.      These are the functions wich really do tests. All them returns
  20.      the time taken in clocks (it uses the C function clock()).
  21.      To have the time in seconds divide the time in clocks per CLOCKS_PER_SEC
  22. .
  23.      seconds = clocks / CLOCKS_PER_SEC
  24.  
  25. posbb_tests.c/Test_CopyMem                         posbb_tests.c/Test_CopyMem
  26.  
  27.    NAME
  28.      Test_CopyMem -- Tests speed of exec.library/CopyMem().
  29.  
  30.    SYNOPSIS
  31.      time = Test_CopyMem( int precision )
  32.  
  33.      int Test_CopyMem( int );
  34.  
  35.    FUNCTION
  36.      Does 100,000 CopyMem() of a 1024 bytes memory block and returns the
  37.      time it has spent.
  38.  
  39.    INPUT
  40.      int precision     the precision of the results. Can be any of
  41.                POSBB_PREECISION#?. The higher is the precision wanted
  42. ,
  43.                the higher the time taken. precision is useful on fast
  44. er
  45.                machines,on wich the times will be too low.
  46.  
  47.  
  48.    RESULT
  49.      time - Time spent,in seconds.
  50.         TRUE if something went wrong (usually lack of memory).
  51.  
  52.    EXAMPLE
  53.      Examine posbb.c/Perform_Tests().
  54.  
  55.    BUGS
  56.      It has no known bugs,but it use Forbid() and Permit(),
  57.      also if Amiga Technologies has told not to use them for future
  58.      compatibility.If the AmigaOS will really ported to PowerPC processor
  59.      and this will not work,I'll fix it.
  60. posbb_tests.c/Test_Draw                               posbb_tests.c/Test_Draw
  61.  
  62.    NAME
  63.      Test_Draw -- Tests pixel ellipse drawing speed.
  64.  
  65.    SYNOPSIS
  66.      time = Test_Draw(struct RastPort *rport,int precision)
  67.      int Test_Draw( struct RastPort,int );
  68.  
  69.    FUNCTION
  70.      Draws some lines in the given rastport and returns the time taken.
  71.  
  72.  
  73.    INPUT
  74.      struct RastPort *rport  Pointer to a valid RastPort structure to draw on
  75. .
  76.  
  77.      int precision     the precision of the results. Can be any of
  78.                POSBB_PREECISION#?. The higher is the precision wanted
  79. ,
  80.                the higher the time taken. precision is useful on fast
  81. er
  82.                machines,on wich the times will be too low.
  83.  
  84.    RESULT
  85.      time - Time spent,in seconds.
  86.  
  87.    EXAMPLE
  88.      See posbb.c/Perform_Tests.
  89.  
  90.    BUGS
  91.      No known bugs.
  92.  
  93. posbb_tests.c/Test_DrawEllipse                 posbb_tests.c/Test_DrawEllipse
  94.  
  95.    NAME
  96.      Test_DrawEllipse -- Tests pixel ellipse drawing speed.
  97.  
  98.    SYNOPSIS
  99.      time = Test_DrawEllipse(struct RastPort *rport,int precision)
  100.      int Test_DrawEllipse( struct RastPort,int );
  101.  
  102.    FUNCTION
  103.      Draws some ellipses in the given rastport and returns the time taken.
  104.  
  105.  
  106.    INPUT
  107.      struct RastPort *rport    pointer to a valid RastPort structure
  108.  
  109.      int precision     the precision of the results. Can be any of
  110.                POSBB_PREECISION#?. The higher is the precision wanted
  111. ,
  112.                the higher the time taken. precision is useful on fast
  113. er
  114.                machines,on wich the times will be too low.
  115.  
  116.    RESULT
  117.      time - Time spent in seconds. No error can be returned.
  118.  
  119.    EXAMPLE
  120.      See posbb.c/Perform_Tests.
  121.  
  122.    BUGS
  123.      No known bugs.
  124.  
  125. posbb_tests.c/Test_FPMath                           posbb_tests.c/Test_FPMath
  126.  
  127.    NAME
  128.      Test_FPMath -- Tests the speed of some floating point Math operations.
  129.  
  130.    SYNOPSIS
  131.      time = Test_FPMath( int precision )
  132.      int Test_FPMath( int );
  133.  
  134.    FUNCTION
  135.      Does 1 million of additions,differences,multiplications and divisions
  136.      and returns the time it took.
  137.  
  138.    INPUT
  139.      int precision     the precision of the results. Can be any of
  140.                POSBB_PREECISION#?. The higher is the precision wanted
  141. ,
  142.                the higher the time taken. precision is useful on fast
  143. er
  144.                machines,on wich the times will be too low.
  145.  
  146.    RESULT
  147.      time - Time spent in seconds. At the moment no error can be returned.
  148.  
  149.    EXAMPLE
  150.      See posbb.c/Perform_Tests()
  151.  
  152.    NOTES
  153.      To obtain code for FPU use the right option of your compiler.
  154.  
  155.    BUGS
  156.      Like some other functions it uses Forbid()/Permit(),wich probably will
  157.      not work under a future Amiga OS.
  158.      Until now it doesn't check if memory allocations needed for variuos
  159.      tables used in the test has failed. In that case it will probably
  160.      crash. I'll fix it in new versions.
  161.  
  162. posbb_tests.c/Test_IMath                             posbb_tests.c/Test_IMath
  163.  
  164.    NAME
  165.      Test_IMath -- Tests the speed of some int Math operations.
  166.  
  167.    SYNOPSIS
  168.      time = Test_IMath( int precision )
  169.      int Test_IMath( int );
  170.  
  171.    FUNCTION
  172.      Does 1 million of additions,differences,multiplications and divisions
  173.      and returns the time it took.
  174.  
  175.    INPUT
  176.      int precision     the precision of the results. Can be any of
  177.                POSBB_PREECISION#?. The higher is the precision wanted
  178. ,
  179.                the higher the time taken. precision is useful on fast
  180. er
  181.                machines,on wich the times will be too low.
  182.  
  183.    RESULT
  184.      time - Time spent in seconds. No error can be returned.
  185.  
  186.    EXAMPLE
  187.      See posbb.c/Perform_Tests()
  188.  
  189.    BUGS
  190.  
  191.      Like some other function it uses Forbid()/Permit(),wich probably will
  192.      not work under a future Amiga OS.
  193.      It doesn't check if memory allocations fail. In that case it will
  194.      probably crash. I'll fix it in future versions.
  195.  
  196. posbb_tests.c/Test_printf                           posbb_tests.c/Test_printf
  197.  
  198.    NAME
  199.      Test_printf -- Tests the speed of the ANSI function printf().
  200.  
  201.    SYNOPSIS
  202.      time = Test_printf( int precision )
  203.      int Test_printf( int );
  204.  
  205.    FUNCTION
  206.      Writes 1,000 times the string "printf test in progress...\n" to stdout
  207.      and returns the time taken.
  208.  
  209.    INPUT
  210.      int precision     the precision of the results. Can be any of
  211.                POSBB_PREECISION#?. The higher is the precision wanted
  212. ,
  213.                the higher the time taken. precision is useful on fast
  214. er
  215.                machines,on wich the times will be too low.
  216.  
  217.  
  218.    RESULT
  219.      time - number of seconds spent.
  220.  
  221.    EXAMPLE
  222.      See posbb.c/Perform_Tests().
  223.  
  224.    NOTE
  225.      In future versions it will return a float.
  226.  
  227.    BUGS
  228.      It hasn't bugs,but since it can't turn off multitasking,the result
  229.      could change if the user runs some program or move windows.
  230.  
  231. posbb_tests.c/Test_Read                               posbb_tests.c/Test_Read
  232.  
  233.    NAME
  234.      Test_Read -- Tests disk reading speed.
  235.  
  236.    SYNOPSIS
  237.      time = Test_Read( STRPTR filename,int precision )
  238.      int Test_Read( STRPTR, int );
  239.  
  240.    FUNCTION
  241.      Reades a block of data from a file,with dos.library/Read() (in the
  242.      Amiga version).
  243.  
  244.    INPUT
  245.      STRPTR filename   the name of the file to read from
  246.      int precision     the precision of the results. Can be any of
  247.                POSBB_PREECISION#?. The higher is the precision wanted
  248. ,
  249.                the higher the time taken. precision is useful on fast
  250. er
  251.                machines,on wich the times will be too low.
  252.  
  253.    RESULT
  254.      time - Time spent in seconds.
  255.         Returns TRUE if something went wrong ( memory or disk space
  256.         usually). In future may return differents error codes.
  257.  
  258.    EXAMPLE
  259.      See posbb.c/Perform_Tests.
  260.  
  261.    NOTES
  262.      In future versions it will use different functions depending on dos.libr
  263. ary version.
  264.      With dos.library V 36+ it will use buffered routines,unbuffered on previ
  265. ous versions.
  266.      The results given by Test_Read() and Test_Write() depend not only on the
  267.  disk/filesystem
  268.      speed, but also on disk fragmentation. For a more reliable test of your 
  269. HD use
  270.      other programs.
  271. .
  272.    BUGS
  273.      No known bugs.
  274.  
  275. posbb_tests.c/Test_Write                             posbb_tests.c/Test_Write
  276.  
  277.    NAME
  278.      Test_Write -- Tests disk writing speed.
  279.  
  280.    SYNOPSIS
  281.      time = Test_Write( STRPTR filename,int precision )
  282.      double Test_Write( STRPTR ,int );
  283.  
  284.    FUNCTION
  285.      Writes a block of data to a file,with dos.library/Write() (in the Amiga
  286.      version).
  287.  
  288.    INPUT
  289.      STRPTR filename   the name of the file to write to.
  290.  
  291.      int precision     the precision of the results. Can be any of
  292.                POSBB_PREECISION#?. The higher is the precision wanted
  293. ,
  294.                the higher the time taken. precision is useful on fast
  295. er
  296.                machines,on wich the times will be too low.
  297.  
  298.    RESULT
  299.      time - Time spent ins econds.
  300.         Returns TRUE if something went wrong ( memory or disk space usual
  301. ly).
  302.         In future may return differents error codes.
  303.  
  304.    EXAMPLE
  305.      See posbb.c/Perform_Tests.
  306.  
  307.    BUGS
  308.      No known bugs.
  309.  
  310. posbb_tests.c/Test_WritePixel                   posbb_tests.c/Test_WritePixel
  311.  
  312.    NAME
  313.      Test_WritePixel -- Tests pixel writing speed.
  314.  
  315.    SYNOPSIS
  316.      time = Test_WritePixel(struct RastPort *rport,int precision)
  317.      int Test_WritePixel( struct RastPort,int );
  318.  
  319.    FUNCTION
  320.      Fill the given rastport pixel by pixel with graphics.library/WritePixel(
  321. )
  322.      and returns the time taken.
  323.  
  324.    INPUT
  325.      *rport            pointer to a valid RastPort structure to draw on.
  326.  
  327.      int precision     the precision of the results. Can be any of
  328.                POSBB_PREECISION#?. The higher is the precision wanted
  329. ,
  330.                the higher the time taken. precision is useful on fast
  331. er
  332.                machines,on wich the times will be too low.
  333.  
  334.    RESULT
  335.      time - Time spent in seconds. No errors can be returned.
  336.  
  337.    EXAMPLE
  338.      See posbb.c/Perform_Tests.
  339.  
  340.    BUGS
  341.      No known bugs.
  342.  
  343.  
  344.