home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 2 / FFMCD02.bin / new / dev / misc / librarytimer / librarytimer.doc < prev    next >
Text File  |  1993-12-21  |  5KB  |  113 lines

  1.                          LibraryTimer V1.1 Document
  2.  
  3.               LibraryTimer V1.1 Copyright © 1993, Jesper Skov.
  4.                  Released to the Public Domain on 03.10.93.
  5.                            Not for commercial use.
  6.  
  7.  
  8.                                  Disclaimer
  9.  
  10. The  author  cannot  be  held  liable for the suitability or accuracy of this
  11. manual and the program it describes. Any damage directly or indirectly caused
  12. by  the  use or misuse of this manual or the program it describes is the sole
  13. responsibility of the user.
  14.  
  15.  
  16.                          Copyright and Distribution
  17.  
  18. The programs and files in this distribution are freely distributable, but are
  19. also  Copyright  ©  Jesper Skov. They may be freely distributed as long as no
  20. more  than  a  nominal  fee  is  charged  to cover time and copying costs. No
  21. commercial  usage  is  permitted  without written permission from the author.
  22. Everything in this distribution must be kept together, in original unmodified
  23. form. This section boils down to one word: FREEWARE!
  24.  
  25.                                  
  26.                                 Introduction
  27.  
  28. LibraryTimer  was made in an attempt to figure out what libraryfunctions take
  29. most  of  the processortime in an application, and thus what functions should
  30. deserve more attention when time-optimizing the program.
  31.  
  32.  
  33.                              Gadget Description
  34.  
  35.  
  36.                              "Library Selector"
  37.  
  38. LibraryList     :   List of libraries in memory.
  39.  
  40. Update          :   Update the librarylist.
  41.  
  42. Patch Library   :   Patch the functions in the selected library, and open the
  43.                     functiontable-window.
  44.  
  45.  
  46.                                "FunctionTable"
  47.  
  48. FunctionList    :   
  49.     Offset      :   The functionoffset in the library.
  50.     Function    :   Name of the function if available (see below).
  51.     Call        :   Number of calls made to the function.
  52.     Time clicks :   Time elapsed while executing the function (see below).
  53.  
  54. Save            :   Save the functiontable to disk.
  55.  
  56. Update          :   Update the functiontable.
  57.  
  58. Clear           :   Clear the functiontable.
  59.  
  60. Free Library    :   Remove the patches and return to the Library Selector.
  61.  
  62.  
  63.  
  64. Different issues addressed in a very Ian Malcolmian way (chaotic, that is :-)
  65.   
  66. The  timing is performed by calling ReadEClock in the timer.device before and
  67. after  the  function  is  executed.  The  difference  is  then  added  to the
  68. function's time clicks, and the call-count is increased.
  69.  
  70. Even  though  the  patch  is made in a manner so that re-entrant operation is
  71. supported,  some  problems  remain  since  it  is  not  possible to patch the
  72. function  without  changing  the stackcontents. This cause some problems with
  73. the  interrupt-returning  functions  in  exec  (private  calls).  This is why
  74. exec.library  cannot  be  patched.  Also  any  other  function depending on a
  75. special stackframe (parsing via the stack) will fail to work.
  76.  
  77. The  LibraryTimer  will show the name of the libraryfunctions if FD files are
  78. supported. This feature requires FD: assigned to the path of the FD-files.
  79.  
  80. With  the  help of saving the functiontable, it should be possible to compare
  81. timings   of  different  library/function  versions,  though  only  by  hand.
  82. LibraryTimer V1.1 is not capable of doing any comparison. Remember that other
  83. tasks  may  (well,  actually they do) cause differences in the timings, so if
  84. you are comparing two different versions of a function, make sure to have the
  85. system   equally   loaded  (i.e.  don't  have  an  archiver  working  in  the
  86. background.)
  87.  
  88. LibraryTimer   only   runs   on   systems   with   kick   v2.04+   and  needs
  89. reqtools.library.
  90.  
  91. Credits  must  go  to  Jes Sørensen for giving me the idea to make this silly
  92. little  tool,  Jan van den Baard for making the GadToolsBox and Nico François
  93. for making the fabulous ReqTools library.
  94.  
  95.                                      ____
  96.                                    _I____I_
  97.                                   ~ |_  _| ~
  98.                                     |0  0|
  99.               +------------------oOO-(__)-OOo------------------+
  100.               |                                                |
  101.               |        LibraryTimer V1.1 by Jesper Skov        |
  102.               |          Copyright © 1993 Jesper Skov          |
  103.               |                                                |
  104.               |            Mail: Jesper Skov                   |
  105.               |                  Signalvej 9, 2tv              |
  106.               |                  DK-9000 Aalborg               |
  107.               |                  Denmark                       |
  108.               |                                                |
  109.               |            EMail: jsko93@kom.auc.dk            |
  110.               |                                                |
  111.               +------------------------------------------------+
  112.  
  113.