1331aabbe1
This commit updates benchmark values in several example files to reflect minor performance variations. It also includes adjustments to integration and unit tests to align with recent changes in the type checking and VM logic, specifically concerning closures and TCO handling.
27 lines
730 B
Plaintext
27 lines
730 B
Plaintext
;; Benchmark: 1.6us
|
|
;; Output: 36
|
|
(do
|
|
;; Excessive capture test
|
|
;; This script creates deep nesting where the inner-most lambda
|
|
;; grabs variables from every single outer scope.
|
|
|
|
(def excessive (fn [v1]
|
|
(do
|
|
(def v2 2)
|
|
(fn [v3]
|
|
(do
|
|
(def v4 4)
|
|
(fn [v5]
|
|
(do
|
|
(def v6 6)
|
|
(fn [v7]
|
|
(do
|
|
(def v8 8)
|
|
;; v1, v3, v5, v7 are parameters (captured as upvalues)
|
|
;; v2, v4, v6, v8 are locals (captured from outer scopes)
|
|
(+ v1 v2 v3 v4 v5 v6 v7 v8))))))))))
|
|
|
|
;; Execution: (1 + 2 + 3 + 4 + 5 + 6 + 7 + 8) = 36
|
|
((((excessive 1) 3) 5) 7)
|
|
)
|