MIT-Scheme-Developers, I was using mit-scheme 12.1 to solve Project Euler Problem 10. The code I wrote is pasted below. The call to (solve 2000000) at the REPL does take more than 10 seconds on my laptop (In fact I always had to CTRL+C after a while). Once I compile the file and then load the compiled .com file, it takes less than 2 seconds for the correct answer to show up in the REPL. Why is there such a huge discrepancy between interpreted code and compiled code?
Thanks, Vamsi (define (is_prime a) (define (loop_a b c) (cond ((> c a) #t) ((= 0 (remainder a b)) #f) (else (let* ((d (+ b 2)) (e (* d d))) (loop_a d e))))) (cond ((< a 2) #f) ((< a 4) #t) ((even? a) #f) (else (loop_a 3 9)))) (define (solve a) (define (loop_a b c) (cond ((< b a) (let ((d (is_prime b)) (e (+ b 2)) (f (+ b c))) (cond (d (loop_a e f)) (else (loop_a e c))))) (else c))) (cond ((< a 3) 0) (else (loop_a 3 2)))) (solve 2000000)