Skip to content

Instantly share code, notes, and snippets.

@mflatt
Last active November 19, 2020 14:25
Show Gist options
  • Save mflatt/9e307484d3288f7784096dfddd70e12a to your computer and use it in GitHub Desktop.
Save mflatt/9e307484d3288f7784096dfddd70e12a to your computer and use it in GitHub Desktop.
#lang racket/base
(require (prefix-in m: "markparam.rkt"))
(define N 10000000)
(define p (make-parameter 'p))
(define p2 (m:make-parameter 'p2))
'get:native
(time
(parameterize ([p 'val])
(for/fold ([v #f]) ([i (in-range N)])
(p))))
'get:markparam
(time
(m:parameterize ([p2 'val])
(for/fold ([v #f]) ([i (in-range N)])
(p2))))
(define unknown void)
(set! unknown unknown)
'set:baseline
(time
(for/fold ([v #f]) ([i (in-range N)])
(unknown)))
'set:native
(time
(for/fold ([v #f]) ([i (in-range N)])
(parameterize ([p 'val])
(unknown))))
'set:markparam
(time
(for/fold ([v #f]) ([i (in-range N)])
(m:parameterize ([p2 'val])
(unknown))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment