;; Benchmark: 1.7ms ;; Benchmark-Repeat: 3 ;; Benchmark: TBD ;; Tests the effect of record inlining and field lookup optimization ;; Output: 10000 (do (macro while [cond body] `(do (def _while_loop (fn [] (if ~cond (do ~body (_while_loop)) ...))) (_while_loop))) (def config {:start 0 :limit 10000 :step 2}) (def x (.start config)) (while (< x (.limit config)) (assign x (+ x (.step config)))) x )