The program is killed when the call to `collect' inside for loop is commented... I am using a fairly recent version of Racket...
#lang racket/load (module RACKETSET racket/base (require (prefix-in rk: racket/set)) (define list1 (build-list 1000000 add1)) (define list2 (build-list 1000000 (λ (x) (+ x 1000000)))) (define set1 (apply rk:set list1)) (define set2 (apply rk:set list2)) (display "Racket sets\n") (define (collect) (collect-garbage) (collect-garbage) (collect-garbage)) (collect) (define sets (for ([i (in-range 10)]) (time (rk:set-union set1 set2)) #;(collect)))) swamiji@ubuntu:~/Desktop/krhari/TS$ raco make set-benchmark.rkt swamiji@ubuntu:~/Desktop/krhari/TS$ racket set-benchmark.rkt Racket sets cpu time: 5800 real time: 5810 gc time: 520 cpu time: 6670 real time: 7041 gc time: 1390 cpu time: 5890 real time: 10478 gc time: 620 Killed swamiji@ubuntu:~/Desktop/krhari/TS$ _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev