Changeset 12187 in project
- Timestamp:
- 10/17/08 14:11:50 (12 years ago)
- Location:
- chicken/branches/cmi
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
chicken/branches/cmi/NEWS
r12184 r12187 40 40 -optimize-level 3: enables -inline -local (but *not* -unsafe) 41 41 -optimize-level 4: enables -inline -local -unsafe 42 - increased default inlining-limit to 20 42 43 - support for cross-module inlining 43 44 - "make <VARIABLES> bench" runs the benchmark suite -
chicken/branches/cmi/TODO
r12184 r12187 48 48 ** -emit-inline-file makes only sense with -inline-global and -local 49 49 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 51 53 52 54 * runtime -
chicken/branches/cmi/benchmarks/cscbench.scm
r12168 r12187 103 103 (display "\nRunning benchmarks ...\n\n (averaging over 5 runs, dropping highest and lowest, binaries are statically linked and stripped)\n") 104 104 (display "\n (runtime) (code size)\n") 105 (display "\n base unsafe max baseunsafe max")106 (display "\n ------------------------------------------------------------- \n")105 (display "\n base fast unsafe max base fast unsafe max") 106 (display "\n ----------------------------------------------------------------------------------\n") 107 107 (let ((sum-base 0.0) 108 (sum-fast 0.0) 108 109 (sum-unsafe 0.0) 109 110 (sum-max 0.0) 110 111 (size-base 0) 112 (size-fast 0) 111 113 (size-unsafe 0) 112 114 (size-max 0)) … … 122 124 (compile-and-run 123 125 file 124 "-debug-level 0 -optimize-level 1 -lambda-lift"126 "-debug-level 0 -optimize-level 1" 125 127 options "" #f)) 126 128 (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)) 127 137 (dflush " ") 128 138 (set!-values … … 130 140 (compile-and-run 131 141 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" 133 143 options "" #t)) 134 144 (set! sum-unsafe (+ sum-unsafe t)) 135 145 (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)))) 141 153 (display-size size-base) 154 (display-size size-fast) 142 155 (display-size size-unsafe) 143 156 (display-size size-max) … … 148 161 (display-f-4.3 sum-base) 149 162 (display " ") 163 (display-f-4.3 sum-fast) 164 (display " ") 150 165 (display-f-4.3 sum-unsafe) 151 166 (display " ") -
chicken/branches/cmi/chicken.scm
r12151 r12187 118 118 [(0) #f] 119 119 [(1) 120 (set! options (cons *'optimize-leaf-routines options)) ]120 (set! options (cons 'optimize-leaf-routines options)) ] 121 121 [(2) 122 (set! options 123 (cons 'optimize-leaf-routines options) ) ] 122 (set! options (cons 'optimize-leaf-routines options)) ] 124 123 [(3) 125 124 (set! options -
chicken/branches/cmi/defaults.make
r12148 r12187 318 318 endif 319 319 CHICKEN_LIBRARY_OPTIONS = $(CHICKEN_OPTIONS) -explicit-use 320 CHICKEN_PROGRAM_OPTIONS = $(CHICKEN_OPTIONS) -no-lambda-info 320 CHICKEN_PROGRAM_OPTIONS = $(CHICKEN_OPTIONS) -no-lambda-info -inline -local 321 321 CHICKEN_COMPILER_OPTIONS = $(CHICKEN_PROGRAM_OPTIONS) -extend private-namespace.scm 322 322 CHICKEN_UNSAFE_OPTIONS = -unsafe -no-lambda-info -
chicken/branches/cmi/manual/Declarations
r12151 r12187 163 163 [declaration specifier] (inline-limit THRESHOLD) 164 164 165 Sets the maximum size of procedures which may potentially be inlined. The default threshold is {{ 10}}.165 Sets the maximum size of procedures which may potentially be inlined. The default threshold is {{20}}. 166 166 167 167 -
chicken/branches/cmi/manual/Using the compiler
r12184 r12187 124 124 ; -inline-global : Enable cross-module inlining. 125 125 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}}. 127 127 128 128 ; -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 126 126 127 127 (define *major-version* (##sys#fudge 41)) 128 (define *default-eggdir* (conc "eggs/" *major-version*))129 128 130 129 (define *sudo* #f) … … 136 135 (define *windows-shell* (or (eq? *windows* 'mingw32) 137 136 (eq? *windows* 'msvc))) 138 (define *debug* #f)139 137 140 138 (register-feature! 'chicken-setup) … … 169 167 (define *ranlib-command* "ranlib") 170 168 (define *csc-options* '()) 171 (define *dont-ask* #f)172 169 (define *base-directory* (current-directory)) 173 170 … … 189 186 ; be converted to a number, then it is kept as a string. 190 187 191 (define (version-string->numbers string)188 #;(define (version-string->numbers string) 192 189 (map (lambda (x) (or (string->number x) (->string x))) 193 190 (string-split string "."))) -
chicken/branches/cmi/support.scm
r12184 r12187 67 67 default-optimization-iterations chop-separator chop-extension follow-without-loop 68 68 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-globals69 foreign-argument-conversion foreign-result-conversion final-foreign-type debugging 70 70 constant-declarations process-lambda-documentation big-fixnum? sort-symbols 71 71 export-dump-hook intrinsic? node->sexpr emit-global-inline-file inline-max-size … … 807 807 (when (and (not val) (not exp)) 808 808 (debugging 'o "hiding nonexported module bindings" sym) 809 (set! block-globals (cons sym block-globals)) ) ) ) 810 809 (hide-variable sym)))) 811 810 812 811
Note: See TracChangeset
for help on using the changeset viewer.