﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	difficulty
634	Profiler does not work correctly on recursive procedures	megane	felix winkelmann	"The profiler seems to calculate the time spent on recursive funtion calls incorrectly.

Here is a simple example program:
{{{
(define (fib n)
    (if (or (equal? n 0) (equal? n 1))
        n
        (+ (fib (- n 1)) (fib ( - n 2)))))

(define (main)
  (let loop [(i 100)]
    (if (> i 0)
	(begin
	  (fib 15)
	  (loop (sub1 i))))))

(main)
}}}
And here is a sample output from chicken-profiler:
{{{
procedure   calls  seconds  average  percent
--------------------------------------------
fib        197300    4.695    0.000  100.000
main            1    0.092    0.092    1.959
}}}"	defect	closed	minor		compiler	4.7.x	fixed	profiler		
