Changeset 12187 in project


Ignore:
Timestamp:
10/17/08 14:11:50 (12 years ago)
Author:
felix winkelmann
Message:

additional benchmark run, bugfixes, enabled local inlining for programs, new bootstrap tarball

Location:
chicken/branches/cmi
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • chicken/branches/cmi/NEWS

    r12184 r12187  
    4040  -optimize-level 3: enables -inline -local (but *not* -unsafe)
    4141  -optimize-level 4: enables -inline -local -unsafe
     42- increased default inlining-limit to 20
    4243- support for cross-module inlining
    4344- "make <VARIABLES> bench" runs the benchmark suite
  • chicken/branches/cmi/TODO

    r12184 r12187  
    4848** -emit-inline-file makes only sense with -inline-global and -local
    4949   what should imply what?
    50 ** test global inlining (using .inline files)
     50** test build with -O3 for all .scm files
     51   compare binary-sizes and performance
     52** make sure hooks are not inlined
    5153
    5254* runtime
  • chicken/branches/cmi/benchmarks/cscbench.scm

    r12168 r12187  
    103103  (display "\nRunning benchmarks ...\n\n  (averaging over 5 runs, dropping highest and lowest, binaries are statically linked and stripped)\n")
    104104  (display "\n                     (runtime)                      (code size)\n")
    105   (display "\n                     base     unsafe        max     base     unsafe       max")
    106   (display "\n                  -------------------------------------------------------------\n")
     105  (display "\n                     base       fast     unsafe        max      base      fast    unsafe       max")
     106  (display "\n                  ----------------------------------------------------------------------------------\n")
    107107  (let ((sum-base 0.0)
     108        (sum-fast 0.0)
    108109        (sum-unsafe 0.0)
    109110        (sum-max 0.0)
    110111        (size-base 0)
     112        (size-fast 0)
    111113        (size-unsafe 0)
    112114        (size-max 0))
     
    122124          (compile-and-run
    123125           file
    124            "-debug-level 0 -optimize-level 1 -lambda-lift"
     126           "-debug-level 0 -optimize-level 1"
    125127           options "" #f))
    126128         (set! sum-base (+ sum-base t))
     129         (dflush "  ")
     130         (set!-values
     131          (t size-fast)
     132          (compile-and-run
     133           file
     134           "-debug-level 0 -optimize-level 3 -lambda-lift"
     135           options "" #f))
     136         (set! sum-fast (+ sum-fast t))
    127137         (dflush "  ")
    128138         (set!-values
     
    130140          (compile-and-run
    131141           file
    132            "-debug-level 0 -optimize-level 3 -block -disable-interrupts -lambda-lift"
     142           "-debug-level 0 -optimize-level 4 -block -disable-interrupts -lambda-lift"
    133143           options "" #t))
    134144         (set! sum-unsafe (+ sum-unsafe t))
    135145         (dflush "  ")
    136          (unless (member name flonum-files)
    137            (set!-values
    138             (t size-max)
    139             (compile-and-run file "-benchmark-mode" options "" #t) )
    140            (set! sum-max (+ sum-max t)))
     146         (cond ((member name flonum-files)
     147                (display "         "))
     148               (else
     149                (set!-values
     150                 (t size-max)
     151                 (compile-and-run file "-benchmark-mode" options "" #t) )
     152                (set! sum-max (+ sum-max t))))
    141153         (display-size size-base)
     154         (display-size size-fast)
    142155         (display-size size-unsafe)
    143156         (display-size size-max)
     
    148161    (display-f-4.3 sum-base)
    149162    (display "   ")
     163    (display-f-4.3 sum-fast)
     164    (display "   ")
    150165    (display-f-4.3 sum-unsafe)
    151166    (display "   ")
  • chicken/branches/cmi/chicken.scm

    r12151 r12187  
    118118                   [(0) #f]
    119119                   [(1)
    120                     (set! options (cons* 'optimize-leaf-routines options)) ]
     120                    (set! options (cons 'optimize-leaf-routines options)) ]
    121121                   [(2)
    122                     (set! options
    123                       (cons 'optimize-leaf-routines options) ) ]
     122                    (set! options (cons 'optimize-leaf-routines options)) ]
    124123                   [(3)
    125124                    (set! options
  • chicken/branches/cmi/defaults.make

    r12148 r12187  
    318318endif
    319319CHICKEN_LIBRARY_OPTIONS = $(CHICKEN_OPTIONS) -explicit-use
    320 CHICKEN_PROGRAM_OPTIONS = $(CHICKEN_OPTIONS) -no-lambda-info
     320CHICKEN_PROGRAM_OPTIONS = $(CHICKEN_OPTIONS) -no-lambda-info -inline -local
    321321CHICKEN_COMPILER_OPTIONS = $(CHICKEN_PROGRAM_OPTIONS) -extend private-namespace.scm
    322322CHICKEN_UNSAFE_OPTIONS = -unsafe -no-lambda-info
  • chicken/branches/cmi/manual/Declarations

    r12151 r12187  
    163163 [declaration specifier] (inline-limit THRESHOLD)
    164164
    165 Sets the maximum size of procedures which may potentially be inlined. The default threshold is {{10}}.
     165Sets the maximum size of procedures which may potentially be inlined. The default threshold is {{20}}.
    166166
    167167
  • chicken/branches/cmi/manual/Using the compiler

    r12184 r12187  
    124124; -inline-global : Enable cross-module inlining.
    125125
    126 ; -inline-limit THRESHOLD : Sets the maximum size of a potentially inlinable procedure. The default threshold is {{10}}.
     126; -inline-limit THRESHOLD : Sets the maximum size of a potentially inlinable procedure. The default threshold is {{20}}.
    127127
    128128; -keyword-style STYLE : Enables alternative keyword syntax, where {{STYLE}} may be either {{prefix}} (as in Common Lisp), {{suffix}} (as in DSSSL) or {{none}}. Any other value is ignored. The default is {{suffix}}.
  • chicken/branches/cmi/setup-api.scm

    r11974 r12187  
    126126
    127127(define *major-version* (##sys#fudge 41))
    128 (define *default-eggdir* (conc "eggs/" *major-version*))
    129128
    130129(define *sudo* #f)
     
    136135(define *windows-shell* (or (eq? *windows* 'mingw32)
    137136                            (eq? *windows* 'msvc)))
    138 (define *debug* #f)
    139137
    140138(register-feature! 'chicken-setup)
     
    169167(define *ranlib-command* "ranlib")
    170168(define *csc-options* '())
    171 (define *dont-ask* #f)
    172169(define *base-directory* (current-directory))
    173170
     
    189186; be converted to a number, then it is kept as a string.
    190187
    191 (define (version-string->numbers string)
     188#;(define (version-string->numbers string)
    192189  (map (lambda (x) (or (string->number x) (->string x)))
    193190       (string-split string ".")))
  • chicken/branches/cmi/support.scm

    r12184 r12187  
    6767  default-optimization-iterations chop-separator chop-extension follow-without-loop
    6868  generate-code make-variable-list make-argument-list generate-foreign-stubs foreign-type-declaration
    69   foreign-argument-conversion foreign-result-conversion final-foreign-type debugging block-globals
     69  foreign-argument-conversion foreign-result-conversion final-foreign-type debugging
    7070  constant-declarations process-lambda-documentation big-fixnum? sort-symbols
    7171  export-dump-hook intrinsic? node->sexpr emit-global-inline-file inline-max-size
     
    807807    (when (and (not val) (not exp))
    808808      (debugging 'o "hiding nonexported module bindings" sym)
    809       (set! block-globals (cons sym block-globals)) ) ) )
    810 
     809      (hide-variable sym))))
    811810
    812811
Note: See TracChangeset for help on using the changeset viewer.