Clojure's

(defn fib [n]
   (if  (or (zero? n) (= n 1))
       1
      (+  (fib (dec n) )  (fib (- n 2)))))

(time (fib 36))

"Elapsed Time:  10475.325226 msecs"
24157817

Scala's

def fib(n:Int):Int=if (n==0||n==1)1 else fib(n-1)+fib(n-2)
def time(cal: =>Int)={
 val beginTime=System.currentTimeMillis
 cal
 val endTime=System.currentTimeMillis
 println(endTime-beginTime)
}
fib(36)
res70:Int=24157817
time(fib(36))
263

Both not tail recursive,both running on Repl (scala's interpreter),but
the difference between two is huge
10475~263
My box : Intel core2 cpu 1.86G,2G mem
Clojure and scala both latest build from svn

any ideas?

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to