[racket-dev] Can someone tell whats wrong with this?

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Fri Feb 25 20:33:20 EST 2011

Do you have a `vmemoryuse' limit set?

At Fri, 25 Feb 2011 19:29:17 -0500 (EST), Hari Prashanth wrote:
> 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 at ubuntu:~/Desktop/krhari/TS$ raco make set-benchmark.rkt
> swamiji at 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 at ubuntu:~/Desktop/krhari/TS$
> 
> _________________________________________________
>   For list-related administrative tasks:
>   http://lists.racket-lang.org/listinfo/dev



Posted on the dev mailing list.