From e4be31729ecf1771f6fa0b5e1a82f675175b35d6 Mon Sep 17 00:00:00 2001 From: Brummel Date: Tue, 17 Mar 2026 17:33:24 +0100 Subject: [PATCH] Update benchmark results in examples --- examples/again.myc | 4 ++-- examples/closure.myc | 4 ++-- examples/closure_cracking.myc | 4 ++-- examples/closure_cracking_named.myc | 4 ++-- examples/currying.myc | 4 ++-- examples/data.myc | 4 ++-- examples/def_local_inlining.myc | 4 ++-- examples/destructuring.myc | 4 ++-- examples/extreme_capture.myc | 4 ++-- examples/fib.myc | 4 ++-- examples/folding.myc | 4 ++-- examples/hof.myc | 4 ++-- examples/macro_financial.myc | 4 ++-- examples/macro_hygiene.myc | 4 ++-- examples/macro_issue.myc | 2 ++ examples/macro_power.myc | 4 ++-- examples/macro_splice.myc | 4 ++-- examples/macro_unless.myc | 4 ++-- examples/object_records.myc | 4 ++-- examples/optimizer_collision_repro.myc | 4 ++-- examples/optimizer_purity.myc | 4 ++-- examples/optimizer_repro.myc | 4 ++-- examples/pipeline.myc | 4 ++-- examples/pipeline_script_ticker.myc | 4 ++-- examples/record_optimizations.myc | 4 ++-- examples/record_specialization_test.myc | 4 ++-- examples/records.myc | 4 ++-- examples/repeat.myc | 2 ++ examples/soa_series.myc | 4 ++-- examples/tak.myc | 2 +- examples/tco_test.myc | 3 ++- examples/tuple-struct.myc | 4 ++-- examples/tuples.myc | 4 ++-- 33 files changed, 65 insertions(+), 60 deletions(-) diff --git a/examples/again.myc b/examples/again.myc index 9861e93..a1f9f32 100644 --- a/examples/again.myc +++ b/examples/again.myc @@ -1,5 +1,5 @@ -;; Benchmark: 1.8us -;; Benchmark-Repeat: 1122 +;; Benchmark: 1.2us +;; Benchmark-Repeat: 1658 ;; Output: 120 (do (def factorial (fn [n acc] diff --git a/examples/closure.myc b/examples/closure.myc index a65111d..5502d49 100644 --- a/examples/closure.myc +++ b/examples/closure.myc @@ -1,6 +1,6 @@ ;; Closure Scope Test -;; Benchmark: 416ns -;; Benchmark-Repeat: 4848 +;; Benchmark: 55ns +;; Benchmark-Repeat: 36184 ;; Output: 15 (do (def make-adder (fn [x] diff --git a/examples/closure_cracking.myc b/examples/closure_cracking.myc index dceca3a..10b6948 100644 --- a/examples/closure_cracking.myc +++ b/examples/closure_cracking.myc @@ -1,4 +1,4 @@ -;; Benchmark: 89ns -;; Benchmark-Repeat: 23053 +;; Benchmark: 56ns +;; Benchmark-Repeat: 36321 ;; Output: 5 (((fn [x] (fn [] x)) 5)) diff --git a/examples/closure_cracking_named.myc b/examples/closure_cracking_named.myc index 17f1eae..bb74c14 100644 --- a/examples/closure_cracking_named.myc +++ b/examples/closure_cracking_named.myc @@ -1,5 +1,5 @@ -;; Benchmark: 89ns -;; Benchmark-Repeat: 23311 +;; Benchmark: 55ns +;; Benchmark-Repeat: 36269 ;; Output: 5 (do (def f (fn [x] (fn [] x))) diff --git a/examples/currying.myc b/examples/currying.myc index 0981f11..dfcf73d 100644 --- a/examples/currying.myc +++ b/examples/currying.myc @@ -1,5 +1,5 @@ -;; Benchmark: 87ns -;; Benchmark-Repeat: 23196 +;; Benchmark: 55ns +;; Benchmark-Repeat: 36160 ;; Output: 42 (do (def f (fn [a] (fn [b] (fn [c] (+ a (+ b c)))))) diff --git a/examples/data.myc b/examples/data.myc index b2efbdd..245d969 100644 --- a/examples/data.myc +++ b/examples/data.myc @@ -1,6 +1,6 @@ ;; Complex Data Structure Test -;; Benchmark: 32.9us -;; Benchmark-Repeat: 61 +;; Benchmark: 33.5us +;; Benchmark-Repeat: 62 ;; Output: {:name "Fibonacci", :input 10, :output 55} (do (def fib (fn [n] diff --git a/examples/def_local_inlining.myc b/examples/def_local_inlining.myc index 9327748..a57621b 100644 --- a/examples/def_local_inlining.myc +++ b/examples/def_local_inlining.myc @@ -1,5 +1,5 @@ -;; Benchmark: 300ns -;; Benchmark-Repeat: 6698 +;; Benchmark: 226ns +;; Benchmark-Repeat: 8861 ;; examples/def_local_inlining.myc ;; Demonstrates potential for DefLocal-Inlining (Phase 2.5) diff --git a/examples/destructuring.myc b/examples/destructuring.myc index 8985ab2..597063c 100644 --- a/examples/destructuring.myc +++ b/examples/destructuring.myc @@ -1,5 +1,5 @@ -;; Benchmark: 773ns -;; Benchmark-Repeat: 2598 +;; Benchmark: 651ns +;; Benchmark-Repeat: 3012 ;; Comprehensive Destructuring Test ;; Covers: Nested tuples, mixed params, dynamic passing diff --git a/examples/extreme_capture.myc b/examples/extreme_capture.myc index fb3b059..84d57fa 100644 --- a/examples/extreme_capture.myc +++ b/examples/extreme_capture.myc @@ -1,5 +1,5 @@ -;; Benchmark: 85ns -;; Benchmark-Repeat: 23630 +;; Benchmark: 55ns +;; Benchmark-Repeat: 35723 ;; Output: 36 (do ;; Excessive capture test diff --git a/examples/fib.myc b/examples/fib.myc index 479f0dc..1e4937f 100644 --- a/examples/fib.myc +++ b/examples/fib.myc @@ -1,6 +1,6 @@ ;; Fibonacci Recursive -;; Benchmark: 32.8us -;; Benchmark-Repeat: 62 +;; Benchmark: 33.3us +;; Benchmark-Repeat: 63 ;; Output: 55 (do (def fib (fn [n] diff --git a/examples/folding.myc b/examples/folding.myc index 916b60b..2568f97 100644 --- a/examples/folding.myc +++ b/examples/folding.myc @@ -1,4 +1,4 @@ -;; Benchmark: 87ns -;; Benchmark-Repeat: 23361 +;; Benchmark: 55ns +;; Benchmark-Repeat: 35210 ;; Output: 30 (+ 10 20) diff --git a/examples/hof.myc b/examples/hof.myc index f1b6fa7..0d249f8 100644 --- a/examples/hof.myc +++ b/examples/hof.myc @@ -1,6 +1,6 @@ ;; Higher-Order Function Example -;; Benchmark: 86ns -;; Benchmark-Repeat: 23023 +;; Benchmark: 56ns +;; Benchmark-Repeat: 36342 ;; Output: 25 (do (def apply (fn [f x] (f x))) diff --git a/examples/macro_financial.myc b/examples/macro_financial.myc index 602891c..adc1075 100644 --- a/examples/macro_financial.myc +++ b/examples/macro_financial.myc @@ -1,5 +1,5 @@ -;; Benchmark: 88ns -;; Benchmark-Repeat: 22522 +;; Benchmark: 73ns +;; Benchmark-Repeat: 30580 ;; Financial DSL Macro example ;; Demonstrates generating complex records from simple parameters. ;; Output: {:price 100, :size 2, :total 200} diff --git a/examples/macro_hygiene.myc b/examples/macro_hygiene.myc index 071dcc6..06b9852 100644 --- a/examples/macro_hygiene.myc +++ b/examples/macro_hygiene.myc @@ -1,5 +1,5 @@ -;; Benchmark: 246ns -;; Benchmark-Repeat: 8261 +;; Benchmark: 176ns +;; Benchmark-Repeat: 11632 ;; Output: 5 (do (def y 1) diff --git a/examples/macro_issue.myc b/examples/macro_issue.myc index c881b6c..3676ff0 100644 --- a/examples/macro_issue.myc +++ b/examples/macro_issue.myc @@ -1,3 +1,5 @@ +;; Benchmark: 55ns +;; Benchmark-Repeat: 35990 ;; Output: 42 (do (macro t [x] `(fn [~x] ~x)) diff --git a/examples/macro_power.myc b/examples/macro_power.myc index c9160a1..c15bd61 100644 --- a/examples/macro_power.myc +++ b/examples/macro_power.myc @@ -1,5 +1,5 @@ -;; Benchmark: 194ns -;; Benchmark-Repeat: 10337 +;; Benchmark: 113ns +;; Benchmark-Repeat: 19089 ;; Nested Macro and Arithmetic example ;; Output: 81 diff --git a/examples/macro_splice.myc b/examples/macro_splice.myc index 8739102..db0e3b6 100644 --- a/examples/macro_splice.myc +++ b/examples/macro_splice.myc @@ -1,5 +1,5 @@ -;; Benchmark: 195ns -;; Benchmark-Repeat: 10279 +;; Benchmark: 136ns +;; Benchmark-Repeat: 14587 ;; Macro Splicing example ;; Demonstrates unrolling a list into another list. ;; Output: [0 1 2 3 4] diff --git a/examples/macro_unless.myc b/examples/macro_unless.myc index 93eaf62..03c2e76 100644 --- a/examples/macro_unless.myc +++ b/examples/macro_unless.myc @@ -1,5 +1,5 @@ -;; Benchmark: 87ns -;; Benchmark-Repeat: 23129 +;; Benchmark: 55ns +;; Benchmark-Repeat: 36062 ;; Classic "unless" macro example ;; Demonstrates simple template substitution. ;; Output: 42 diff --git a/examples/object_records.myc b/examples/object_records.myc index 0955e4a..4e38246 100644 --- a/examples/object_records.myc +++ b/examples/object_records.myc @@ -1,5 +1,5 @@ -;; Benchmark: 1.4us -;; Benchmark-Repeat: 1473 +;; Benchmark: 1.2us +;; Benchmark-Repeat: 1731 ;; Output: [150 130 "Insufficient funds" 130] ; --------------------------------------------------------- diff --git a/examples/optimizer_collision_repro.myc b/examples/optimizer_collision_repro.myc index 970c556..9b8ec40 100644 --- a/examples/optimizer_collision_repro.myc +++ b/examples/optimizer_collision_repro.myc @@ -1,5 +1,5 @@ -;; Benchmark: 86ns -;; Benchmark-Repeat: 23328 +;; Benchmark: 55ns +;; Benchmark-Repeat: 36353 ;; Output: 13 (do (macro wrap [f] `(fn [x] (~f x))) diff --git a/examples/optimizer_purity.myc b/examples/optimizer_purity.myc index 9782395..ef46fcc 100644 --- a/examples/optimizer_purity.myc +++ b/examples/optimizer_purity.myc @@ -1,5 +1,5 @@ -;; Benchmark: 87ns -;; Benchmark-Repeat: 23072 +;; Benchmark: 68ns +;; Benchmark-Repeat: 36112 ;; Output: 31.41592653589793 (do (def area (fn [x] (* PI x))) diff --git a/examples/optimizer_repro.myc b/examples/optimizer_repro.myc index 87a80f7..674c62f 100644 --- a/examples/optimizer_repro.myc +++ b/examples/optimizer_repro.myc @@ -1,5 +1,5 @@ -;; Benchmark: 167ns -;; Benchmark-Repeat: 12120 +;; Benchmark: 102ns +;; Benchmark-Repeat: 20685 ;; Output: [42 150] (do ;; 1. Provokation Stack-Gap (bei Optimization Level 2) diff --git a/examples/pipeline.myc b/examples/pipeline.myc index 5516b74..1c467fc 100644 --- a/examples/pipeline.myc +++ b/examples/pipeline.myc @@ -1,5 +1,5 @@ -;; Benchmark: 2.1us -;; Benchmark-Repeat: 921 +;; Benchmark: 1.4us +;; Benchmark-Repeat: 1423 ;; Output: (do diff --git a/examples/pipeline_script_ticker.myc b/examples/pipeline_script_ticker.myc index d34953f..ded939a 100644 --- a/examples/pipeline_script_ticker.myc +++ b/examples/pipeline_script_ticker.myc @@ -1,5 +1,5 @@ -;; Benchmark: 2.3us -;; Benchmark-Repeat: 870 +;; Benchmark: 2.1us +;; Benchmark-Repeat: 966 ;; Output: (do diff --git a/examples/record_optimizations.myc b/examples/record_optimizations.myc index 8bcbc93..38abdb3 100644 --- a/examples/record_optimizations.myc +++ b/examples/record_optimizations.myc @@ -1,5 +1,5 @@ -;; Benchmark: 1.0ms -;; Benchmark-Repeat: 3 +;; Benchmark: 882.7us +;; Benchmark-Repeat: 4 ;; Tests the effect of record inlining and field lookup optimization ;; Output: 10000 (do diff --git a/examples/record_specialization_test.myc b/examples/record_specialization_test.myc index 87d3bbd..c0df4a9 100644 --- a/examples/record_specialization_test.myc +++ b/examples/record_specialization_test.myc @@ -1,5 +1,5 @@ -;; Benchmark: 1.1us -;; Benchmark-Repeat: 1895 +;; Benchmark: 834ns +;; Benchmark-Repeat: 2387 ;; Test Record SoA specialization in Pipelines ;; Dank der neuen Spezialisierung wird hierfür im Hintergrund ;; eine SharedRecordSeries mit SoA-Layout (Float-Puffer für mid und range) erstellt. diff --git a/examples/records.myc b/examples/records.myc index 48c27dc..3e8da5e 100644 --- a/examples/records.myc +++ b/examples/records.myc @@ -1,5 +1,5 @@ -;; Benchmark: 1.2us -;; Benchmark-Repeat: 1634 +;; Benchmark: 946ns +;; Benchmark-Repeat: 2116 ;; Output: ["Alice" 101 :admin "Zürich" ["Alice" "Bob"] true] ; --------------------------------------------------------- diff --git a/examples/repeat.myc b/examples/repeat.myc index aa143db..c6c4f9e 100644 --- a/examples/repeat.myc +++ b/examples/repeat.myc @@ -1,3 +1,5 @@ +;; Benchmark: 19.9us +;; Benchmark-Repeat: 110 (do (repeat n 10 (print n) ) ) diff --git a/examples/soa_series.myc b/examples/soa_series.myc index a7d9741..e412b28 100644 --- a/examples/soa_series.myc +++ b/examples/soa_series.myc @@ -1,6 +1,6 @@ ;; Output: 26.7 -;; Benchmark: 1.4us -;; Benchmark-Repeat: 1406 +;; Benchmark: 890ns +;; Benchmark-Repeat: 2240 (do (def my_ticks (series 100 {:price :float :volume :int :msg :text})) diff --git a/examples/tak.myc b/examples/tak.myc index 7d436ef..4ab21ea 100644 --- a/examples/tak.myc +++ b/examples/tak.myc @@ -2,7 +2,7 @@ ;; heavily recursive, benefits significantly from specialization of integer arithmetic ;; and direct function calls (skipping dynamic dispatch). ;; Output: 5 - ;; Benchmark: 312.6us + ;; Benchmark: 314.2us ;; Benchmark-Repeat: 8 (do diff --git a/examples/tco_test.myc b/examples/tco_test.myc index 127da4c..a85bade 100644 --- a/examples/tco_test.myc +++ b/examples/tco_test.myc @@ -1,4 +1,5 @@ -;; Benchmark: 2.0ms +;; Benchmark: 1.5ms +;; Benchmark-Repeat: 3 ;; Output: "done" (do (def count_down (fn [n] diff --git a/examples/tuple-struct.myc b/examples/tuple-struct.myc index 6b2f8f9..27c30f2 100644 --- a/examples/tuple-struct.myc +++ b/examples/tuple-struct.myc @@ -1,5 +1,5 @@ -;; Benchmark: 855ns -;; Benchmark-Repeat: 2366 +;; Benchmark: 513ns +;; Benchmark-Repeat: 3911 ;; Output: ["Symbol:" "btc" "field:" :close "id:" "cls"] (do (def p (fn [conf] diff --git a/examples/tuples.myc b/examples/tuples.myc index cf19708..16b5f4d 100644 --- a/examples/tuples.myc +++ b/examples/tuples.myc @@ -1,5 +1,5 @@ -;; Benchmark: 1.7us -;; Benchmark-Repeat: 1175 +;; Benchmark: 936ns +;; Benchmark-Repeat: 2134 ;; Demonstration of N-dimensional Tuples, Vectors, and Matrices ;; Based on docs/Tupel 1.md ;;