PasteRack.org | ||
Paste # 48149 | ||
2019-11-09 12:22:05 | ||
Fork as a new paste. | ||
Paste viewed 246 times. | ||
Tweet | ||
Embed: | ||
#| ~$ racket param.rkt cpu time: 7080 real time: 7070 gc time: 0 cpu time: 1618 real time: 1616 gc time: 0 #t cpu time: 7095 real time: 7089 gc time: 0 cpu time: 1619 real time: 1618 gc time: 0 #t cpu time: 7076 real time: 7070 gc time: 0 cpu time: 1618 real time: 1616 gc time: 0 #t ~$ racketcs param.rkt cpu time: 4499 real time: 4508 gc time: 7 cpu time: 881 real time: 881 gc time: 0 #t cpu time: 4542 real time: 4542 gc time: 0 cpu time: 853 real time: 853 gc time: 0 #t cpu time: 4529 real time: 4529 gc time: 0 cpu time: 881 real time: 881 gc time: 0 #t |# #lang racket/base (define x-param (make-parameter #f)) (define x-mutable #f) (define (get-x-mutable) x-mutable) (for ([T (in-range 3)]) (define v1 (time (for/sum ([K (in-range 1000)]) (parameterize ([x-param (list 3 K)]) (for/sum ([i (in-range 500000)]) (if (= 0 (bitwise-and i 17)) (cadr (x-param)) 0)))))) (define v2 (let () (time (for/sum ([K (in-range 1000)]) (set! x-mutable (list 7 K)) (for/sum ([i (in-range 500000)]) (if (= 0 (bitwise-and i 17)) (cadr (get-x-mutable)) 0)))))) (displayln (equal? v1 v2)))