Changeset 12610 in project for chicken


Ignore:
Timestamp:
11/27/08 10:30:59 (11 years ago)
Author:
felix winkelmann
Message:

profiling not that right (yet)

Location:
chicken/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • chicken/trunk/TODO

    r12609 r12610  
    77*** pre-optimization
    88**** changes call-sites and makes them invalid for later pre-optimization
     9*** check profiling (-profile vs. profile-declaration)
     10**** this doesn't always seem to work, in particular with library units
     11**** ##sys#finish-profile should always be written
     12     is it in `exit'?
    913
    1014** expander
     
    1418    possibly due to unrenamed special forms
    1519*** slow
     20    compiling dynamic.scm with profile-hacked expand:
     21
     22    procedure                       calls  seconds  average  percent
     23    ----------------------------------------------------------------
     24    ##sys#expand                     4659    0.276    0.000  100.000
     25    ##sys#expand-0                   5574    0.228    0.000   82.608
     26    lookup                          15878    0.144    0.000   52.173
     27    ##sys#check-syntax               3328    0.128    0.000   46.376
     28    body1099                         3328    0.080    0.000   28.985
     29    ##sys#canonicalize-body           462    0.044    0.000   15.942
     30    ##sys#alias-global-hook          2388    0.024    0.000    8.695
     31    def-culprit1101                   683    0.020    0.000    7.246
     32    def-se1102                        683    0.016    0.000    5.797
     33    macro-alias                       958    0.012    0.000    4.347
     34    macro?                            248    0.008    0.000    2.898
     35    body187                           403    0.004    0.000    1.449
     36    ##sys#strip-syntax                403    0.004    0.000    1.449
     37    def-alias190                      401    0.004    0.000    1.449
     38    def-se189                         400    0.004    0.000    1.449
     39    ##sys#extended-lambda-list?       672    0.000    0.000    0.000
     40    ##sys#register-export             229    0.000    0.000    0.000
     41    ##sys#extend-macro-environment     60    0.000    0.000    0.000
     42    ##sys#macro-subset                  2    0.000    0.000    0.000
     43    process-command-line                1    0.000    0.000    0.000
     44
     45    wrapped into a module exporting `*':
     46
     47    procedure                        calls  seconds  average  percent
     48    -----------------------------------------------------------------
     49    ##sys#expand-0                    5357    0.564    0.000  100.000
     50    ##sys#expand                      4440    0.556    0.000   98.581
     51    lookup                           15232    0.432    0.000   76.595
     52    ##sys#check-syntax                3105    0.236    0.000   41.843
     53    ##sys#canonicalize-body            462    0.220    0.000   39.007
     54    body1099                          3105    0.176    0.000   31.205
     55    ##sys#alias-global-hook           1463    0.140    0.000   24.822
     56    ##sys#register-undefined          1009    0.052    0.000    9.219
     57    macro-alias                        963    0.052    0.000    9.219
     58    ##sys#module-rename               1715    0.048    0.000    8.510
     59    def-culprit1101                    685    0.044    0.000    7.801
     60    module-undefined-list             1239    0.040    0.000    7.092
     61    ##sys#register-export              229    0.028    0.000    4.964
     62    def-se1102                         685    0.024    0.000    4.255
     63    ##sys#expand-import                  1    0.024    0.024    4.255
     64    module-name                       1488    0.016    0.000    2.836
     65    macro?                             248    0.016    0.000    2.836
     66    ##sys#strip-syntax                 407    0.012    0.000    2.127
     67    body187                            407    0.008    0.000    1.418
     68    def-alias190                       405    0.008    0.000    1.418
     69    def-se189                          404    0.008    0.000    1.418
     70    set-module-exist-list!             229    0.008    0.000    1.418
     71    ##sys#finalize-module                1    0.008    0.008    1.418
     72    ##sys#extended-lambda-list?        672    0.004    0.000    0.709
     73    module-export-list                 231    0.004    0.000    0.709
     74    check-for-redef                    229    0.004    0.000    0.709
     75    ##sys#mark-imported-symbols          3    0.004    0.001    0.709
     76    merge-se                             1    0.004    0.004    0.709
     77    set-module-undefined-list!         304    0.000    0.000    0.000
     78    module-defined-list                231    0.000    0.000    0.000
     79    module-exist-list                  230    0.000    0.000    0.000
     80    set-module-defined-list!           229    0.000    0.000    0.000
     81    ##sys#extend-macro-environment      60    0.000    0.000    0.000
     82    ##sys#find-module                    4    0.000    0.000    0.000
     83    swap1473                             4    0.000    0.000    0.000
     84    %make-module                         3    0.000    0.000    0.000
     85    make-module                          3    0.000    0.000    0.000
     86    ##sys#macro-subset                   2    0.000    0.000    0.000
     87    module-vexports                      2    0.000    0.000    0.000
     88    module-sexports                      2    0.000    0.000    0.000
     89    ##sys#register-primitive-module      2    0.000    0.000    0.000
     90    body3068                             1    0.000    0.000    0.000
     91    set-module-vexports!                 1    0.000    0.000    0.000
     92    set-module-sexports!                 1    0.000    0.000    0.000
     93    ##sys#register-module                1    0.000    0.000    0.000
     94    process-command-line                 1    0.000    0.000    0.000
     95    module-import-forms                  1    0.000    0.000    0.000
     96    module-indirect-exports              1    0.000    0.000    0.000
     97    def-sexports3071                     1    0.000    0.000    0.000
     98    def-vexports3070                     1    0.000    0.000    0.000
     99    set-module-import-forms!             1    0.000    0.000    0.000
     100    module-defined-syntax-list           1    0.000    0.000    0.000
     101
     102    compiling match-test.scm, with matchable.scm and test.scm included:
     103
     104    procedure                       calls  seconds  average  percent
     105    ----------------------------------------------------------------
     106    ##sys#expand-0                  27576    2.896    0.000  100.000
     107    ##sys#expand                    20616    2.504    0.000   86.464
     108    lookup                          96736    1.916    0.000   66.160
     109    ##sys#canonicalize-body          3203    1.188    0.000   41.022
     110    ##sys#check-syntax              15942    0.680    0.000   23.480
     111    macro-alias                     12350    0.404    0.000   13.950
     112    body1099                        15942    0.384    0.000   13.259
     113    ##sys#process-syntax-rules        115    0.208    0.001    7.182
     114    ##sys#alias-global-hook          7950    0.088    0.000    3.038
     115    def-culprit1101                   861    0.048    0.000    1.657
     116    ##sys#strip-syntax                933    0.036    0.000    1.243
     117    def-alias190                      931    0.036    0.000    1.243
     118    def-se189                         930    0.036    0.000    1.243
     119    def-se1102                        861    0.028    0.000    0.966
     120    body187                           933    0.008    0.000    0.276
     121    ##sys#extended-lambda-list?       581    0.000    0.000    0.000
     122    ##sys#extend-macro-environment     93    0.000    0.000    0.000
     123    ##sys#register-syntax-export       33    0.000    0.000    0.000
     124    macro?                             16    0.000    0.000    0.000
     125    ##sys#register-export              11    0.000    0.000    0.000
     126    ##sys#macro-subset                  2    0.000    0.000    0.000
     127    process-command-line                1    0.000    0.000    0.000
    16128
    17129** modules
  • chicken/trunk/batch-driver.scm

    r12596 r12610  
    372372      (let ([acc (eq? 'accumulate-profile (car profile))])
    373373        (set! emit-profile #t)
     374        (set! profiled-procedures 'all)
    374375        (set! initforms
    375376          (append
  • chicken/trunk/compiler.scm

    r12609 r12610  
    685685                                       l)
    686686                                      ((and (eq? 'lambda (or (lookup name se) name))
    687                                             emit-profile
    688                                             (or profiled-procedures
    689                                                 (variable-mark dest '##compiler#profile)))
     687                                            emit-profile
     688                                            (or (eq? profiled-procedures 'all)
     689                                                (and
     690                                                 (eq? profiled-procedures 'some)
     691                                                 (variable-mark dest '##compiler#profile))))
    690692                                       (expand-profile-lambda dest llist2 body) )
    691693                                      (else
     
    14441446                (strip (cdr spec))))))
    14451447       ((profile)
    1446         (if (null? (cdr spec))
    1447             (set! profiled-procedures #t)
    1448             (for-each
    1449              (cut mark-variable <> '##compiler#profile)
    1450              (stripa (cdr spec)))))
     1448        (set! emit-profile #t)
     1449        (cond ((null? (cdr spec))
     1450               (set! profiled-procedures 'all) )
     1451              (else
     1452               (set! profiled-propcedures 'some)
     1453               (for-each
     1454                (cut mark-variable <> '##compiler#profile)
     1455                (stripa (cdr spec))))))
    14511456       ((local)
    14521457        (cond ((null? (cdr spec))
  • chicken/trunk/defaults.make

    r12588 r12610  
    312312
    313313CHICKEN_OPTIONS = \
    314         -quiet -no-trace -optimize-level 2 \
     314        -no-trace -optimize-level 2 \
    315315        -include-path . -include-path $(SRCDIR)
    316316ifdef DEBUGBUILD
  • chicken/trunk/profiler.scm

    r8647 r12610  
    4242
    4343(foreign-declare #<<EOF
    44 #if !defined(_MSC_VER) && !defined(__DJGPP__) && !defined(__MWERKS__)
     44#if !defined(_MSC_VER)
    4545# include <unistd.h>
    4646#endif
Note: See TracChangeset for help on using the changeset viewer.