Eduardo Cavazos wrote: > I'm interested in finding out where *my* code is spending all it's time. > :-) Is there a profiler for Larceny?
Yes, but it has very crude resolution. In R5RS mode: -------- > (require 'profile) #t > (run-with-profiling (lambda () (let* ((x1 (vector->list (make-vector 1000000 13))) (x2 (append x1 '())) (y (vector->list (make-vector 1000000 x1))) (z (vector->list (make-vector 1000000 x2)))) (equal? y z)))) % topmost named procedure 98 equal? 2 run-with-profiling % active procedures 100 r5rs-entry-point 100 repl 100 run-with-profiling 98 equal? -------- > Available in ERR5RS mode? Yes. By the way, the following example generalizes to work with any R5RS library that doesn't export macros. -------- > (import (rnrs base) (primitives r5rs:require run-with-profiling)) > (r5rs:require 'profile) #t > (run-with-profiling (lambda () (let* ((x1 (vector->list (make-vector 1000000 13))) (x2 (append x1 '())) (y (vector->list (make-vector 1000000 x1))) (z (vector->list (make-vector 1000000 x2)))) (equal? y z)))) % topmost named procedure 97 equal? 2 run-with-profiling 1 append % active procedures 100 r5rs-entry-point 100 repl 100 run-with-profiling 97 equal? 1 append -------- Will _______________________________________________ Larceny-users mailing list Larceny-users@lists.ccs.neu.edu https://lists.ccs.neu.edu/bin/listinfo/larceny-users