From 7de3396c736d6809755fb3fa789a5e674eebe92d Mon Sep 17 00:00:00 2001 From: Jesse Perla Date: Tue, 21 Jul 2026 06:37:00 -0700 Subject: [PATCH 1/3] feat: use direct implicit AD for algebraic roots --- ...07-20_nlls-2.3.0_pre-proposed-changes.json | 6558 +++++++++++++++++ ...6-07-20_nlls-2.3.0_pre-proposed-changes.md | 25 + ...nlls-2.4.0_explicit-direct-auto-final.json | 6558 +++++++++++++++++ ...0_nlls-2.4.0_explicit-direct-auto-final.md | 48 + ...explicit-direct-auto-tree-vjp-repeat1.json | 104 + ...explicit-direct-auto-tree-vjp-repeat2.json | 104 + ...7-20_nlls-2.4.0_post-proposed-changes.json | 6558 +++++++++++++++++ docs/dae.md | 44 +- docs/llms.txt | 2 +- docs/sdae.md | 3 + pyproject.toml | 5 +- src/tinydiffeq/dae.py | 112 +- tests/test_dae.py | 107 + uv.lock | 24 +- 14 files changed, 20188 insertions(+), 64 deletions(-) create mode 100644 benchmarks/results/2026-07-20_nlls-2.3.0_pre-proposed-changes.json create mode 100644 benchmarks/results/2026-07-20_nlls-2.3.0_pre-proposed-changes.md create mode 100644 benchmarks/results/2026-07-20_nlls-2.4.0_explicit-direct-auto-final.json create mode 100644 benchmarks/results/2026-07-20_nlls-2.4.0_explicit-direct-auto-final.md create mode 100644 benchmarks/results/2026-07-20_nlls-2.4.0_explicit-direct-auto-tree-vjp-repeat1.json create mode 100644 benchmarks/results/2026-07-20_nlls-2.4.0_explicit-direct-auto-tree-vjp-repeat2.json create mode 100644 benchmarks/results/2026-07-20_nlls-2.4.0_post-proposed-changes.json diff --git a/benchmarks/results/2026-07-20_nlls-2.3.0_pre-proposed-changes.json b/benchmarks/results/2026-07-20_nlls-2.3.0_pre-proposed-changes.json new file mode 100644 index 0000000..d9ff7a3 --- /dev/null +++ b/benchmarks/results/2026-07-20_nlls-2.3.0_pre-proposed-changes.json @@ -0,0 +1,6558 @@ +{ + "machine_info": { + "node": "dh4.econ.ubc.ca", + "processor": "arm", + "machine": "arm64", + "python_compiler": "Clang 20.1.0 ", + "python_implementation": "CPython", + "python_implementation_version": "3.13.2", + "python_version": "3.13.2", + "python_build": [ + "main", + "Mar 17 2025 21:26:38" + ], + "release": "25.5.0", + "system": "Darwin", + "cpu": { + "python_version": "3.13.2.final.0 (64 bit)", + "cpuinfo_version": [ + 9, + 0, + 0 + ], + "cpuinfo_version_string": "9.0.0", + "arch": "ARM_8", + "bits": 64, + "count": 16, + "arch_string_raw": "arm64", + "brand_raw": "Apple M4 Max" + } + }, + "commit_info": { + "id": "8e0a48e8a463a5f3f9521b9cdb26f1af05477fb4", + "time": "2026-07-18T07:08:23-07:00", + "author_time": "2026-07-18T07:08:23-07:00", + "dirty": true, + "project": "tinydiffeq", + "branch": "main" + }, + "benchmarks": [ + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-8-8]", + "params": { + "transform": "primal", + "n_queries": 8, + "n_steps": 8 + }, + "param": "primal-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.180001121014357e-05, + "max": 7.875817827880382e-05, + "mean": 7.330582244321704e-05, + "stddev": 2.0203493395756308e-06, + "rounds": 10, + "median": 7.298330310732127e-05, + "iqr": 1.149997115135182e-06, + "q1": 7.215000223368407e-05, + "q3": 7.329999934881925e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 7.180001121014357e-05, + "hd15iqr": 7.875817827880382e-05, + "ops": 13641.481217601831, + "total": 0.0007330582244321704, + "data": [ + 7.875817827880382e-05, + 7.31334090232849e-05, + 7.236679084599018e-05, + 7.306660991162062e-05, + 7.215000223368407e-05, + 7.185821887105704e-05, + 7.180001121014357e-05, + 7.372500840574503e-05, + 7.329999934881925e-05, + 7.28999963030219e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-8-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-8-32]", + "params": { + "transform": "primal", + "n_queries": 8, + "n_steps": 32 + }, + "param": "primal-8-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00017250820528715848, + "max": 0.00021085841581225395, + "mean": 0.00018053914420306682, + "stddev": 1.1153137597173272e-05, + "rounds": 10, + "median": 0.00017718749586492777, + "iqr": 7.00841192156077e-06, + "q1": 0.0001743166008964181, + "q3": 0.00018132501281797886, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.00017250820528715848, + "hd15iqr": 0.00021085841581225395, + "ops": 5538.964995177002, + "total": 0.0018053914420306683, + "data": [ + 0.00018001659773290158, + 0.00017555002123117446, + 0.00017250820528715848, + 0.0001738749910145998, + 0.0001743166008964181, + 0.00017680840101093055, + 0.000177566590718925, + 0.00021085841581225395, + 0.00018132501281797886, + 0.00018256660550832748 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-8-128]", + "params": { + "transform": "primal", + "n_queries": 8, + "n_steps": 128 + }, + "param": "primal-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006060749990865588, + "max": 0.0006504833931103349, + "mean": 0.0006223741592839361, + "stddev": 1.4215479357499892e-05, + "rounds": 10, + "median": 0.000620645796880126, + "iqr": 1.7324974760413213e-05, + "q1": 0.0006102416198700666, + "q3": 0.0006275665946304798, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.0006060749990865588, + "hd15iqr": 0.0006504833931103349, + "ops": 1606.7505134701225, + "total": 0.00622374159283936, + "data": [ + 0.000639716791920364, + 0.0006060749990865588, + 0.0006504833931103349, + 0.0006232250016182661, + 0.0006275665946304798, + 0.0006142250029370188, + 0.0006102416198700666, + 0.0006180665921419858, + 0.0006256165914237499, + 0.0006085250061005354 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-32-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-32-8]", + "params": { + "transform": "primal", + "n_queries": 32, + "n_steps": 8 + }, + "param": "primal-32-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.350838277488946e-05, + "max": 8.582498412579298e-05, + "mean": 7.697751745581627e-05, + "stddev": 4.105688979003065e-06, + "rounds": 10, + "median": 7.558329962193967e-05, + "iqr": 1.6165897250175503e-06, + "q1": 7.473339792340994e-05, + "q3": 7.634998764842749e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 7.350838277488946e-05, + "hd15iqr": 8.320000488311052e-05, + "ops": 12990.806056768228, + "total": 0.0007697751745581627, + "data": [ + 8.582498412579298e-05, + 7.557501085102558e-05, + 7.530001457780599e-05, + 7.634998764842749e-05, + 7.3991809040308e-05, + 7.559158839285374e-05, + 8.320000488311052e-05, + 7.569999434053898e-05, + 7.473339792340994e-05, + 7.350838277488946e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-32-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-32-32]", + "params": { + "transform": "primal", + "n_queries": 32, + "n_steps": 32 + }, + "param": "primal-32-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00017088339664041995, + "max": 0.00021586678922176362, + "mean": 0.00017934003612026571, + "stddev": 1.3453353218076949e-05, + "rounds": 10, + "median": 0.0001747084083035588, + "iqr": 5.641602911055088e-06, + "q1": 0.00017194179818034173, + "q3": 0.00017758340109139681, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.00017088339664041995, + "hd15iqr": 0.00021586678922176362, + "ops": 5575.999769116798, + "total": 0.0017934003612026573, + "data": [ + 0.00021586678922176362, + 0.00017758340109139681, + 0.00018499158322811128, + 0.00017683319747447969, + 0.00017403338570147752, + 0.00017088339664041995, + 0.000171849993057549, + 0.00017465001437813043, + 0.0001747668022289872, + 0.00017194179818034173 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-32-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-32-128]", + "params": { + "transform": "primal", + "n_queries": 32, + "n_steps": 128 + }, + "param": "primal-32-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006033333949744702, + "max": 0.0006721417885273695, + "mean": 0.0006245241360738874, + "stddev": 2.2698439704034436e-05, + "rounds": 10, + "median": 0.0006163123995065689, + "iqr": 2.3783207871019862e-05, + "q1": 0.000609724991954863, + "q3": 0.0006335081998258829, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.0006033333949744702, + "hd15iqr": 0.0006721417885273695, + "ops": 1601.2191398823538, + "total": 0.006245241360738873, + "data": [ + 0.0006721417885273695, + 0.0006128665991127491, + 0.0006167000159621238, + 0.000609724991954863, + 0.0006563749862834811, + 0.0006335081998258829, + 0.0006160415941849351, + 0.0006033333949744702, + 0.000607966585084796, + 0.0006165832048282028 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-128-8]", + "params": { + "transform": "primal", + "n_queries": 128, + "n_steps": 8 + }, + "param": "primal-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.271678186953068e-05, + "max": 8.2483422011137e-05, + "mean": 7.648582104593516e-05, + "stddev": 3.8076888203913407e-06, + "rounds": 10, + "median": 7.438739994540811e-05, + "iqr": 7.3249917477369254e-06, + "q1": 7.345001213252545e-05, + "q3": 8.077500388026237e-05, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 7.271678186953068e-05, + "hd15iqr": 8.2483422011137e-05, + "ops": 13074.318694956928, + "total": 0.0007648582104593515, + "data": [ + 8.077500388026237e-05, + 7.345001213252545e-05, + 7.371660321950913e-05, + 7.271678186953068e-05, + 7.381660398095847e-05, + 7.336661219596863e-05, + 8.2483422011137e-05, + 7.836658041924239e-05, + 8.12083948403597e-05, + 7.495819590985775e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-128-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-128-32]", + "params": { + "transform": "primal", + "n_queries": 128, + "n_steps": 32 + }, + "param": "primal-128-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00016978320199996234, + "max": 0.00022085001692175865, + "mean": 0.00018108248012140392, + "stddev": 1.4501641706112995e-05, + "rounds": 10, + "median": 0.00017641249578446148, + "iqr": 4.166783764958371e-06, + "q1": 0.0001751750009134412, + "q3": 0.00017934178467839956, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.00016978320199996234, + "hd15iqr": 0.00022085001692175865, + "ops": 5522.345393820349, + "total": 0.0018108248012140393, + "data": [ + 0.00018526660278439522, + 0.0001751665957272053, + 0.0001751750009134412, + 0.00017632499802857637, + 0.0001764999935403466, + 0.00017719999887049197, + 0.00022085001692175865, + 0.00017934178467839956, + 0.00016978320199996234, + 0.00017521660774946212 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-128-128]", + "params": { + "transform": "primal", + "n_queries": 128, + "n_steps": 128 + }, + "param": "primal-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006135915871709585, + "max": 0.0006657584104686976, + "mean": 0.0006273117009550332, + "stddev": 1.5922842427824708e-05, + "rounds": 10, + "median": 0.000623733305837959, + "iqr": 2.1975021809339523e-05, + "q1": 0.0006143417907878756, + "q3": 0.0006363168125972152, + "iqr_outliers": 0, + "stddev_outliers": 1, + "outliers": "1;0", + "ld15iqr": 0.0006135915871709585, + "hd15iqr": 0.0006657584104686976, + "ops": 1594.1038537581521, + "total": 0.006273117009550333, + "data": [ + 0.0006657584104686976, + 0.0006226166151463985, + 0.0006257083965465427, + 0.0006248499965295195, + 0.0006135915871709585, + 0.0006368084112182259, + 0.0006363168125972152, + 0.0006143417907878756, + 0.0006138999946415424, + 0.000619224994443357 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-8-8]", + "params": { + "transform": "jvp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "jvp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 8.630000520497561e-05, + "max": 0.00011424999684095383, + "mean": 9.249497205018997e-05, + "stddev": 8.297598734118545e-06, + "rounds": 10, + "median": 9.035419207066297e-05, + "iqr": 7.199984975159171e-06, + "q1": 8.646659553050995e-05, + "q3": 9.366658050566912e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 8.630000520497561e-05, + "hd15iqr": 0.00011424999684095383, + "ops": 10811.39847750185, + "total": 0.0009249497205018997, + "data": [ + 9.494998957961797e-05, + 8.644158951938152e-05, + 0.00011424999684095383, + 9.366658050566912e-05, + 8.890838362276554e-05, + 8.646659553050995e-05, + 9.180000051856041e-05, + 9.334997739642858e-05, + 8.630000520497561e-05, + 8.881660178303719e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-8-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-8-32]", + "params": { + "transform": "jvp", + "n_queries": 8, + "n_steps": 32 + }, + "param": "jvp-8-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00023218339774757623, + "max": 0.0002763166092336178, + "mean": 0.00024634663481265306, + "stddev": 1.3382675441071948e-05, + "rounds": 10, + "median": 0.00024167499504983424, + "iqr": 1.1850008741021135e-05, + "q1": 0.00023834158200770618, + "q3": 0.0002501915907487273, + "iqr_outliers": 1, + "stddev_outliers": 3, + "outliers": "3;1", + "ld15iqr": 0.00023218339774757623, + "hd15iqr": 0.0002763166092336178, + "ops": 4059.3207240703787, + "total": 0.0024634663481265307, + "data": [ + 0.0002621081890538335, + 0.0002763166092336178, + 0.00024096660781651734, + 0.0002363415900617838, + 0.00024025000166147948, + 0.00024238338228315114, + 0.00023218339774757623, + 0.0002443833975121379, + 0.00023834158200770618, + 0.0002501915907487273 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-8-128]", + "params": { + "transform": "jvp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "jvp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0008699500001966953, + "max": 0.0009024834027513862, + "mean": 0.0008868308388628066, + "stddev": 1.0788374400008757e-05, + "rounds": 10, + "median": 0.0008884500944986939, + "iqr": 1.6774982213974e-05, + "q1": 0.0008773500099778176, + "q3": 0.0008941249921917916, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0008699500001966953, + "hd15iqr": 0.0009024834027513862, + "ops": 1127.6107642831992, + "total": 0.008868308388628066, + "data": [ + 0.0008990000002086163, + 0.0008928166003897786, + 0.0008869583951309323, + 0.0008941249921917916, + 0.0008747416082769633, + 0.0008899417938664555, + 0.0008773500099778176, + 0.0009024834027513862, + 0.0008699500001966953, + 0.000880941585637629 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-32-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-32-8]", + "params": { + "transform": "jvp", + "n_queries": 32, + "n_steps": 8 + }, + "param": "jvp-32-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 8.447500877082348e-05, + "max": 9.52168134972453e-05, + "mean": 8.67716665379703e-05, + "stddev": 3.4894063210213206e-06, + "rounds": 10, + "median": 8.527080062776805e-05, + "iqr": 2.125184983015055e-06, + "q1": 8.463321719318629e-05, + "q3": 8.675840217620134e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 8.447500877082348e-05, + "hd15iqr": 9.066660422831773e-05, + "ops": 11524.4991815665, + "total": 0.0008677166653797031, + "data": [ + 9.52168134972453e-05, + 8.675840217620134e-05, + 8.505841251462697e-05, + 8.577499538660049e-05, + 8.459161035716534e-05, + 8.447500877082348e-05, + 8.509999606758356e-05, + 8.544160518795252e-05, + 8.463321719318629e-05, + 9.066660422831773e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-32-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-32-32]", + "params": { + "transform": "jvp", + "n_queries": 32, + "n_steps": 32 + }, + "param": "jvp-32-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00022950819693505763, + "max": 0.00024289158172905446, + "mean": 0.00023386919870972635, + "stddev": 5.045723676978684e-06, + "rounds": 10, + "median": 0.00023107510060071945, + "iqr": 9.425007738173003e-06, + "q1": 0.0002305668080225587, + "q3": 0.0002399918157607317, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.00022950819693505763, + "hd15iqr": 0.00024289158172905446, + "ops": 4275.894412419737, + "total": 0.0023386919870972632, + "data": [ + 0.00024289158172905446, + 0.0002326999790966511, + 0.0002305668080225587, + 0.00023118339013308286, + 0.0002300000051036477, + 0.00022950819693505763, + 0.00023096681106835604, + 0.00023078341037034987, + 0.00024009998887777328, + 0.0002399918157607317 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-32-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-32-128]", + "params": { + "transform": "jvp", + "n_queries": 32, + "n_steps": 128 + }, + "param": "jvp-32-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0008628918090835214, + "max": 0.0009040249977260828, + "mean": 0.0008795149833895266, + "stddev": 1.4853374067663365e-05, + "rounds": 10, + "median": 0.0008735625073313714, + "iqr": 2.5641801767051263e-05, + "q1": 0.0008668332127854228, + "q3": 0.000892475014552474, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0008628918090835214, + "hd15iqr": 0.0009040249977260828, + "ops": 1136.990294521352, + "total": 0.008795149833895266, + "data": [ + 0.0009040249977260828, + 0.0008731916081160307, + 0.000892475014552474, + 0.0008732500020414591, + 0.0008628918090835214, + 0.0008632415905594826, + 0.0008980249986052513, + 0.0008668332127854228, + 0.0008738750126212836, + 0.0008873415878042579 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-128-8]", + "params": { + "transform": "jvp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "jvp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 8.465000428259373e-05, + "max": 9.630001150071621e-05, + "mean": 8.757498813793064e-05, + "stddev": 3.837290190899318e-06, + "rounds": 10, + "median": 8.569160709157587e-05, + "iqr": 2.749986015260214e-06, + "q1": 8.547501638531685e-05, + "q3": 8.822500240057707e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 8.465000428259373e-05, + "hd15iqr": 9.251660667359829e-05, + "ops": 11418.785446193835, + "total": 0.0008757498813793063, + "data": [ + 9.630001150071621e-05, + 9.251660667359829e-05, + 8.662501350045204e-05, + 8.575001265853643e-05, + 8.822500240057707e-05, + 8.553341031074524e-05, + 8.563320152461529e-05, + 8.504160214215518e-05, + 8.547501638531685e-05, + 8.465000428259373e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-128-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-128-32]", + "params": { + "transform": "jvp", + "n_queries": 128, + "n_steps": 32 + }, + "param": "jvp-128-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00023607499897480012, + "max": 0.00027306661941111087, + "mean": 0.00024409081786870955, + "stddev": 1.1545842258237164e-05, + "rounds": 10, + "median": 0.00023945829598233105, + "iqr": 1.2775021605193626e-05, + "q1": 0.0002364749787375331, + "q3": 0.00024925000034272673, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.00023607499897480012, + "hd15iqr": 0.00027306661941111087, + "ops": 4096.83579551065, + "total": 0.002440908178687096, + "data": [ + 0.00024925000034272673, + 0.00024110840167850255, + 0.00023607499897480012, + 0.00027306661941111087, + 0.0002364749787375331, + 0.00023920838721096515, + 0.00023776660673320295, + 0.00023639998398721217, + 0.00023970820475369692, + 0.0002518499968573451 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-128-128]", + "params": { + "transform": "jvp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "jvp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0008669500006362796, + "max": 0.0009433500003069639, + "mean": 0.0008921583439223469, + "stddev": 2.4185062910883662e-05, + "rounds": 10, + "median": 0.0008856042055413127, + "iqr": 3.348318859934811e-05, + "q1": 0.0008760000113397836, + "q3": 0.0009094831999391318, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.0008669500006362796, + "hd15iqr": 0.0009433500003069639, + "ops": 1120.8772599755448, + "total": 0.008921583439223469, + "data": [ + 0.0009433500003069639, + 0.0009094831999391318, + 0.0008671999908983708, + 0.0008784166071563959, + 0.0008669500006362796, + 0.0009004168212413787, + 0.0008767084218561649, + 0.0008760000113397836, + 0.0009102665819227696, + 0.0008927918039262295 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-8-8]", + "params": { + "transform": "vjp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "vjp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 9.507499635219574e-05, + "max": 0.00010987499263137579, + "mean": 9.905331768095494e-05, + "stddev": 4.654325094024081e-06, + "rounds": 10, + "median": 9.718330111354589e-05, + "iqr": 3.0833994969725555e-06, + "q1": 9.636660106480122e-05, + "q3": 9.945000056177378e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 9.507499635219574e-05, + "hd15iqr": 0.00010443320497870446, + "ops": 10095.573004641226, + "total": 0.0009905331768095492, + "data": [ + 0.00010443320497870446, + 9.945000056177378e-05, + 9.549998212605715e-05, + 0.00010987499263137579, + 9.877500124275685e-05, + 9.765001013875007e-05, + 9.671659208834171e-05, + 9.669179562479257e-05, + 9.507499635219574e-05, + 9.636660106480122e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-8-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-8-32]", + "params": { + "transform": "vjp", + "n_queries": 8, + "n_steps": 32 + }, + "param": "vjp-8-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00025874180719256403, + "max": 0.0003036834066733718, + "mean": 0.0002721708617173135, + "stddev": 1.5045219023098026e-05, + "rounds": 10, + "median": 0.00026530829491093754, + "iqr": 1.9649998284876368e-05, + "q1": 0.0002612916054204106, + "q3": 0.000280941603705287, + "iqr_outliers": 0, + "stddev_outliers": 2, + "outliers": "2;0", + "ld15iqr": 0.00025874180719256403, + "hd15iqr": 0.0003036834066733718, + "ops": 3674.162596577425, + "total": 0.0027217086171731353, + "data": [ + 0.0002894334029406309, + 0.0002753834007307887, + 0.0002615584060549736, + 0.0002671415917575359, + 0.0003036834066733718, + 0.00026347499806433916, + 0.0002612916054204106, + 0.00026005839463323356, + 0.00025874180719256403, + 0.000280941603705287 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-8-128]", + "params": { + "transform": "vjp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "vjp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0009992250008508563, + "max": 0.0010959333973005413, + "mean": 0.0010579058225266636, + "stddev": 3.737022518307722e-05, + "rounds": 10, + "median": 0.001063991605769843, + "iqr": 7.282476872205734e-05, + "q1": 0.0010218334151431917, + "q3": 0.001094658183865249, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0009992250008508563, + "hd15iqr": 0.0010959333973005413, + "ops": 945.2637264171933, + "total": 0.010579058225266636, + "data": [ + 0.0010371749987825752, + 0.0009992250008508563, + 0.0010593665996566416, + 0.0010686166118830443, + 0.001094658183865249, + 0.0010954834055155517, + 0.0010922916000708938, + 0.0010959333973005413, + 0.0010218334151431917, + 0.0010144750121980906 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-32-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-32-8]", + "params": { + "transform": "vjp", + "n_queries": 32, + "n_steps": 8 + }, + "param": "vjp-32-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 9.705000557005405e-05, + "max": 0.00012471659574657678, + "mean": 0.00010431751608848572, + "stddev": 8.634669120369535e-06, + "rounds": 10, + "median": 0.00010041659697890282, + "iqr": 1.0008388198912146e-05, + "q1": 9.778339881449938e-05, + "q3": 0.00010779178701341152, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 9.705000557005405e-05, + "hd15iqr": 0.00012471659574657678, + "ops": 9586.117820824697, + "total": 0.0010431751608848572, + "data": [ + 0.00011039159726351499, + 9.778339881449938e-05, + 0.00010029159020632505, + 9.968338999897242e-05, + 0.00010754179675132036, + 0.00010054160375148058, + 0.00010779178701341152, + 0.00012471659574657678, + 9.705000557005405e-05, + 9.738339576870203e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-32-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-32-32]", + "params": { + "transform": "vjp", + "n_queries": 32, + "n_steps": 32 + }, + "param": "vjp-32-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0002611083909869194, + "max": 0.0003132331883534789, + "mean": 0.00027518247719854116, + "stddev": 1.7318082991819813e-05, + "rounds": 10, + "median": 0.00026736250147223477, + "iqr": 2.1358416415751024e-05, + "q1": 0.0002641665982082486, + "q3": 0.0002855250146239996, + "iqr_outliers": 0, + "stddev_outliers": 2, + "outliers": "2;0", + "ld15iqr": 0.0002611083909869194, + "hd15iqr": 0.0003132331883534789, + "ops": 3633.952314770794, + "total": 0.0027518247719854117, + "data": [ + 0.00029510839376598594, + 0.00027047500479966403, + 0.0002641750033944845, + 0.00027060818392783404, + 0.0002641665982082486, + 0.0003132331883534789, + 0.0002855250146239996, + 0.00026424999814480545, + 0.00026317499577999115, + 0.0002611083909869194 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-32-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-32-128]", + "params": { + "transform": "vjp", + "n_queries": 32, + "n_steps": 128 + }, + "param": "vjp-32-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0009750583907589316, + "max": 0.0010142500046640634, + "mean": 0.000993030818644911, + "stddev": 1.1312278827484624e-05, + "rounds": 10, + "median": 0.0009943457902409137, + "iqr": 1.4250003732740836e-05, + "q1": 0.0009853499941527843, + "q3": 0.0009995999978855252, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.0009750583907589316, + "hd15iqr": 0.0010142500046640634, + "ops": 1007.0180917089755, + "total": 0.00993030818644911, + "data": [ + 0.0010142500046640634, + 0.0009995999978855252, + 0.0009977166075259448, + 0.0010012581944465638, + 0.0009853499941527843, + 0.000995641597546637, + 0.0009930499829351902, + 0.0009876250056549906, + 0.0009750583907589316, + 0.0009807584108784794 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-128-8]", + "params": { + "transform": "vjp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "vjp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 9.523339103907346e-05, + "max": 0.00011118340771645307, + "mean": 0.00010080334264785051, + "stddev": 5.241655636097312e-06, + "rounds": 10, + "median": 9.857501136139035e-05, + "iqr": 9.200023487210271e-06, + "q1": 9.679999202489853e-05, + "q3": 0.0001060000155121088, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 9.523339103907346e-05, + "hd15iqr": 0.00011118340771645307, + "ops": 9920.305951494394, + "total": 0.001008033426478505, + "data": [ + 0.00011118340771645307, + 9.679999202489853e-05, + 9.523339103907346e-05, + 9.835842065513134e-05, + 9.645840618759394e-05, + 0.0001008333871141076, + 0.00010623319540172815, + 9.814160875976086e-05, + 0.0001060000155121088, + 9.879160206764937e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-128-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-128-32]", + "params": { + "transform": "vjp", + "n_queries": 128, + "n_steps": 32 + }, + "param": "vjp-128-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00026500839740037916, + "max": 0.0003045500023290515, + "mean": 0.0002780208573676646, + "stddev": 1.5697820843209368e-05, + "rounds": 10, + "median": 0.00026885829865932467, + "iqr": 2.8924993239343145e-05, + "q1": 0.0002655334072187543, + "q3": 0.00029445840045809745, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.00026500839740037916, + "hd15iqr": 0.0003045500023290515, + "ops": 3596.8524428998676, + "total": 0.002780208573676646, + "data": [ + 0.0003045500023290515, + 0.00029445840045809745, + 0.00029819998890161513, + 0.00026706659700721503, + 0.0002655334072187543, + 0.00026500839740037916, + 0.0002834833925589919, + 0.00027065000031143425, + 0.0002658250043168664, + 0.0002654333831742406 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-128-128]", + "params": { + "transform": "vjp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "vjp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0009847417939454317, + "max": 0.0011433499865233898, + "mean": 0.001023019200656563, + "stddev": 4.824636362359496e-05, + "rounds": 10, + "median": 0.0010074666002765297, + "iqr": 3.377499524503946e-05, + "q1": 0.0009929000167176127, + "q3": 0.0010266750119626521, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.0009847417939454317, + "hd15iqr": 0.0011433499865233898, + "ops": 977.4987599042231, + "total": 0.01023019200656563, + "data": [ + 0.0010608418146148325, + 0.0010157249867916106, + 0.0009992082137614488, + 0.0009940083837136626, + 0.0010242250049486757, + 0.0009885167935863137, + 0.0009847417939454317, + 0.0010266750119626521, + 0.0011433499865233898, + 0.0009929000167176127 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-primal-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-primal-8-8]", + "params": { + "explicit_no_aux": false, + "transform": "primal", + "n_queries": 8, + "n_steps": 8 + }, + "param": "auto-primal-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.503339391201734e-05, + "max": 7.343320176005364e-05, + "mean": 6.670411908999086e-05, + "stddev": 2.4094341516885163e-06, + "rounds": 10, + "median": 6.60874997265637e-05, + "iqr": 7.083872333168983e-07, + "q1": 6.571661215275526e-05, + "q3": 6.642499938607216e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 6.503339391201734e-05, + "hd15iqr": 7.343320176005364e-05, + "ops": 14991.577936152564, + "total": 0.0006670411908999086, + "data": [ + 7.343320176005364e-05, + 6.667501293122768e-05, + 6.6175009123981e-05, + 6.620818749070168e-05, + 6.503339391201734e-05, + 6.642499938607216e-05, + 6.599999032914638e-05, + 6.571661215275526e-05, + 6.581658963114023e-05, + 6.555819418281316e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-primal-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-primal-8-128]", + "params": { + "explicit_no_aux": false, + "transform": "primal", + "n_queries": 8, + "n_steps": 128 + }, + "param": "auto-primal-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0005795416189357638, + "max": 0.0006136083975434303, + "mean": 0.000590368362609297, + "stddev": 1.0054731373876828e-05, + "rounds": 10, + "median": 0.0005893834051676095, + "iqr": 9.741610847413518e-06, + "q1": 0.0005833583883941174, + "q3": 0.0005930999992415309, + "iqr_outliers": 1, + "stddev_outliers": 3, + "outliers": "3;1", + "ld15iqr": 0.0005795416189357638, + "hd15iqr": 0.0006136083975434303, + "ops": 1693.8577053489487, + "total": 0.005903683626092971, + "data": [ + 0.0006136083975434303, + 0.0005898999981582165, + 0.0005930999992415309, + 0.0005888668121770025, + 0.0005930999992415309, + 0.0005848583998158575, + 0.0005833583883941174, + 0.0005973332095891237, + 0.0005795416189357638, + 0.0005800168029963971 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-primal-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-primal-128-8]", + "params": { + "explicit_no_aux": false, + "transform": "primal", + "n_queries": 128, + "n_steps": 8 + }, + "param": "auto-primal-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.586681120097637e-05, + "max": 8.99916049093008e-05, + "mean": 7.080416195094585e-05, + "stddev": 8.64237419681848e-06, + "rounds": 10, + "median": 6.65290979668498e-05, + "iqr": 2.833409234881393e-06, + "q1": 6.606660317629576e-05, + "q3": 6.890001241117716e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 6.586681120097637e-05, + "hd15iqr": 8.370839059352874e-05, + "ops": 14123.463542903231, + "total": 0.0007080416195094586, + "data": [ + 8.370839059352874e-05, + 8.99916049093008e-05, + 6.651659496128559e-05, + 6.606660317629576e-05, + 6.59500015899539e-05, + 6.817500106990338e-05, + 6.632499862462282e-05, + 6.890001241117716e-05, + 6.654160097241402e-05, + 6.586681120097637e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-primal-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-primal-128-128]", + "params": { + "explicit_no_aux": false, + "transform": "primal", + "n_queries": 128, + "n_steps": 128 + }, + "param": "auto-primal-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0005162416025996208, + "max": 0.0005485499976202845, + "mean": 0.000525845002848655, + "stddev": 1.10754772599199e-05, + "rounds": 10, + "median": 0.0005213291035033763, + "iqr": 1.8841610290110133e-05, + "q1": 0.0005173668032512069, + "q3": 0.000536208413541317, + "iqr_outliers": 0, + "stddev_outliers": 2, + "outliers": "2;0", + "ld15iqr": 0.0005162416025996208, + "hd15iqr": 0.0005485499976202845, + "ops": 1901.7010613064874, + "total": 0.0052584500284865495, + "data": [ + 0.0005372249986976385, + 0.000536208413541317, + 0.0005250249989330769, + 0.0005485499976202845, + 0.0005162416025996208, + 0.0005171250086277723, + 0.0005173668032512069, + 0.0005180499982088804, + 0.0005234749987721443, + 0.0005191832082346082 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-jvp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-jvp-8-8]", + "params": { + "explicit_no_aux": false, + "transform": "jvp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "auto-jvp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.85500044003129e-05, + "max": 8.758320473134518e-05, + "mean": 8.115581702440977e-05, + "stddev": 3.133099173787968e-06, + "rounds": 10, + "median": 7.989160949364304e-05, + "iqr": 8.665956556797028e-07, + "q1": 7.965839467942715e-05, + "q3": 8.052499033510685e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 7.85500044003129e-05, + "hd15iqr": 8.63499939441681e-05, + "ops": 12321.975634836175, + "total": 0.0008115581702440977, + "data": [ + 8.63499939441681e-05, + 7.85500044003129e-05, + 8.044999558478593e-05, + 7.983320392668247e-05, + 7.968337740749121e-05, + 7.965839467942715e-05, + 7.897499017417431e-05, + 8.758320473134518e-05, + 7.995001506060362e-05, + 8.052499033510685e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-jvp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-jvp-8-128]", + "params": { + "explicit_no_aux": false, + "transform": "jvp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "auto-jvp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0007476333994418383, + "max": 0.0008069582050666213, + "mean": 0.0007723566191270947, + "stddev": 1.7995959020173004e-05, + "rounds": 10, + "median": 0.0007690665894187986, + "iqr": 2.3849983699619857e-05, + "q1": 0.0007600750075653195, + "q3": 0.0007839249912649394, + "iqr_outliers": 0, + "stddev_outliers": 2, + "outliers": "2;0", + "ld15iqr": 0.0007476333994418383, + "hd15iqr": 0.0008069582050666213, + "ops": 1294.738693545715, + "total": 0.007723566191270947, + "data": [ + 0.0007604415994137525, + 0.0007694999920204281, + 0.0007839249912649394, + 0.0007600750075653195, + 0.0007551582064479589, + 0.0007476333994418383, + 0.0008069582050666213, + 0.0007834000047296285, + 0.0007878415985032916, + 0.0007686331868171692 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-jvp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-jvp-128-8]", + "params": { + "explicit_no_aux": false, + "transform": "jvp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "auto-jvp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.969159632921219e-05, + "max": 0.00012110001407563686, + "mean": 9.684333810582756e-05, + "stddev": 1.5064904695781133e-05, + "rounds": 10, + "median": 9.599159238860011e-05, + "iqr": 3.195840399712324e-05, + "q1": 8.159999269992113e-05, + "q3": 0.00011355839669704437, + "iqr_outliers": 0, + "stddev_outliers": 6, + "outliers": "6;0", + "ld15iqr": 7.969159632921219e-05, + "hd15iqr": 0.00012110001407563686, + "ops": 10325.955502558463, + "total": 0.0009684333810582757, + "data": [ + 0.00011355839669704437, + 0.00012110001407563686, + 0.00011379178613424301, + 8.696659933775664e-05, + 9.752498008310794e-05, + 9.445820469409228e-05, + 9.881679434329272e-05, + 8.159999269992113e-05, + 7.969159632921219e-05, + 8.092501666396856e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-jvp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-jvp-128-128]", + "params": { + "explicit_no_aux": false, + "transform": "jvp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "auto-jvp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0007517000194638968, + "max": 0.0008515000110492111, + "mean": 0.0007833450008183718, + "stddev": 3.083052655113906e-05, + "rounds": 10, + "median": 0.0007708333898335696, + "iqr": 3.6058435216546015e-05, + "q1": 0.0007647331804037094, + "q3": 0.0008007916156202554, + "iqr_outliers": 0, + "stddev_outliers": 2, + "outliers": "2;0", + "ld15iqr": 0.0007517000194638968, + "hd15iqr": 0.0008515000110492111, + "ops": 1276.5767305022507, + "total": 0.007833450008183718, + "data": [ + 0.0008007916156202554, + 0.0008103749947622419, + 0.0007749833865091204, + 0.0007658000104129314, + 0.0007666833931580186, + 0.0007647331804037094, + 0.0007517000194638968, + 0.0007550667971372605, + 0.0008515000110492111, + 0.0007918165996670723 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-vjp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-vjp-8-8]", + "params": { + "explicit_no_aux": false, + "transform": "vjp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "auto-vjp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 8.398338686674834e-05, + "max": 9.25250118598342e-05, + "mean": 8.69749765843153e-05, + "stddev": 3.1425483098170016e-06, + "rounds": 10, + "median": 8.621239103376866e-05, + "iqr": 4.441593773663044e-06, + "q1": 8.432499598711729e-05, + "q3": 8.876658976078033e-05, + "iqr_outliers": 0, + "stddev_outliers": 2, + "outliers": "2;0", + "ld15iqr": 8.398338686674834e-05, + "hd15iqr": 9.25250118598342e-05, + "ops": 11497.559864595994, + "total": 0.000869749765843153, + "data": [ + 9.169999975711107e-05, + 8.432499598711729e-05, + 9.25250118598342e-05, + 8.749158587306738e-05, + 8.419181685894727e-05, + 8.876658976078033e-05, + 8.434159681200982e-05, + 8.573320228606462e-05, + 8.669157978147268e-05, + 8.398338686674834e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-vjp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-vjp-8-128]", + "params": { + "explicit_no_aux": false, + "transform": "vjp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "auto-vjp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0008411583956331014, + "max": 0.0009868416003882886, + "mean": 0.0009021016792394221, + "stddev": 4.669747922125369e-05, + "rounds": 10, + "median": 0.0009013958973810076, + "iqr": 7.984181866049767e-05, + "q1": 0.0008578249951824545, + "q3": 0.0009376668138429522, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.0008411583956331014, + "hd15iqr": 0.0009868416003882886, + "ops": 1108.5224903284934, + "total": 0.009021016792394221, + "data": [ + 0.0008960583945736289, + 0.0009376668138429522, + 0.0009868416003882886, + 0.0008742415811866522, + 0.0008515584049746394, + 0.0008411583956331014, + 0.0009311581961810589, + 0.0008578249951824545, + 0.0009377750102430582, + 0.0009067334001883864 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-vjp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-vjp-128-8]", + "params": { + "explicit_no_aux": false, + "transform": "vjp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "auto-vjp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 8.405819535255432e-05, + "max": 9.320820681750775e-05, + "mean": 8.590582059696317e-05, + "stddev": 2.6985905036937173e-06, + "rounds": 10, + "median": 8.484579157084227e-05, + "iqr": 1.5249941498041261e-06, + "q1": 8.452499751001596e-05, + "q3": 8.604999165982009e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 8.405819535255432e-05, + "hd15iqr": 9.320820681750775e-05, + "ops": 11640.654766475169, + "total": 0.0008590582059696317, + "data": [ + 9.320820681750775e-05, + 8.656680583953857e-05, + 8.452499751001596e-05, + 8.440001402050256e-05, + 8.452499751001596e-05, + 8.604999165982009e-05, + 8.603341411799193e-05, + 8.486658334732056e-05, + 8.482499979436397e-05, + 8.405819535255432e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-vjp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-vjp-128-128]", + "params": { + "explicit_no_aux": false, + "transform": "vjp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "auto-vjp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0008382666157558561, + "max": 0.0009240331826731562, + "mean": 0.0008692308026365936, + "stddev": 2.929633531302955e-05, + "rounds": 10, + "median": 0.0008579708053730428, + "iqr": 3.9775203913450284e-05, + "q1": 0.0008473332040011883, + "q3": 0.0008871084079146385, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.0008382666157558561, + "hd15iqr": 0.0009240331826731562, + "ops": 1150.4424336629015, + "total": 0.008692308026365936, + "data": [ + 0.0008871084079146385, + 0.0008511500200256705, + 0.0009110418148338794, + 0.0008607916068285703, + 0.0008551500039175152, + 0.0008382666157558561, + 0.0008446165826171637, + 0.0008728165877982974, + 0.0008473332040011883, + 0.0009240331826731562 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-primal-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-primal-8-8]", + "params": { + "explicit_no_aux": true, + "transform": "primal", + "n_queries": 8, + "n_steps": 8 + }, + "param": "explicit-primal-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.4933393150568e-05, + "max": 9.141659829765558e-05, + "mean": 7.12791783735156e-05, + "stddev": 8.50756033378574e-06, + "rounds": 10, + "median": 6.725420244038104e-05, + "iqr": 7.4499985203146935e-06, + "q1": 6.577500607818365e-05, + "q3": 7.322500459849834e-05, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 6.4933393150568e-05, + "hd15iqr": 9.141659829765558e-05, + "ops": 14029.342408519662, + "total": 0.000712791783735156, + "data": [ + 7.322500459849834e-05, + 8.024999406188726e-05, + 9.141659829765558e-05, + 6.655000615864992e-05, + 6.795839872211217e-05, + 7.084158714860677e-05, + 6.60917954519391e-05, + 6.575000006705522e-05, + 6.577500607818365e-05, + 6.4933393150568e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-primal-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-primal-8-128]", + "params": { + "explicit_no_aux": true, + "transform": "primal", + "n_queries": 8, + "n_steps": 128 + }, + "param": "explicit-primal-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0005457249935716391, + "max": 0.0005879167933017015, + "mean": 0.0005613966565579175, + "stddev": 1.2025153038877533e-05, + "rounds": 10, + "median": 0.0005572166992351413, + "iqr": 1.4733406715095043e-05, + "q1": 0.0005545581923797726, + "q3": 0.0005692915990948677, + "iqr_outliers": 0, + "stddev_outliers": 2, + "outliers": "2;0", + "ld15iqr": 0.0005457249935716391, + "hd15iqr": 0.0005879167933017015, + "ops": 1781.271741323299, + "total": 0.005613966565579176, + "data": [ + 0.0005721834022551775, + 0.0005567000014707446, + 0.0005569583969190717, + 0.0005879167933017015, + 0.0005531499860808254, + 0.0005457249935716391, + 0.0005545581923797726, + 0.0005574750015512109, + 0.000560008198954165, + 0.0005692915990948677 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-primal-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-primal-128-8]", + "params": { + "explicit_no_aux": true, + "transform": "primal", + "n_queries": 128, + "n_steps": 8 + }, + "param": "explicit-primal-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.045000627636909e-05, + "max": 8.690841495990753e-05, + "mean": 7.533250842243432e-05, + "stddev": 9.019275298125894e-06, + "rounds": 10, + "median": 7.430011173710228e-05, + "iqr": 1.6308412887156004e-05, + "q1": 6.988318637013435e-05, + "q3": 8.619159925729036e-05, + "iqr_outliers": 0, + "stddev_outliers": 5, + "outliers": "5;0", + "ld15iqr": 6.045000627636909e-05, + "hd15iqr": 8.690841495990753e-05, + "ops": 13274.481640680318, + "total": 0.0007533250842243433, + "data": [ + 7.480841595679522e-05, + 7.527500856667757e-05, + 8.690841495990753e-05, + 6.988318637013435e-05, + 7.339161820709705e-05, + 7.379180751740933e-05, + 8.619159925729036e-05, + 8.68168193846941e-05, + 6.045000627636909e-05, + 6.580820772796869e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-primal-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-primal-128-128]", + "params": { + "explicit_no_aux": true, + "transform": "primal", + "n_queries": 128, + "n_steps": 128 + }, + "param": "explicit-primal-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0005851749796420336, + "max": 0.0006138999946415424, + "mean": 0.0005933066760189831, + "stddev": 7.983722304263348e-06, + "rounds": 10, + "median": 0.0005920708877965807, + "iqr": 7.166597060859268e-06, + "q1": 0.0005875084083527326, + "q3": 0.0005946750054135919, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.0005851749796420336, + "hd15iqr": 0.0006138999946415424, + "ops": 1685.4689832750248, + "total": 0.005933066760189831, + "data": [ + 0.0006138999946415424, + 0.0005953083978965879, + 0.0005946750054135919, + 0.0005923583870753646, + 0.0005937749985605479, + 0.0005913249915465713, + 0.0005851749796420336, + 0.0005872582085430622, + 0.0005875084083527326, + 0.000591783388517797 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-jvp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-jvp-8-8]", + "params": { + "explicit_no_aux": true, + "transform": "jvp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "explicit-jvp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.666659075766802e-05, + "max": 0.00011005820706486703, + "mean": 8.427829947322607e-05, + "stddev": 1.0005852406710971e-05, + "rounds": 10, + "median": 8.097079116851092e-05, + "iqr": 8.200015872716901e-06, + "q1": 7.802499458193779e-05, + "q3": 8.622501045465469e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 7.666659075766802e-05, + "hd15iqr": 0.00011005820706486703, + "ops": 11865.450611253551, + "total": 0.0008427829947322607, + "data": [ + 0.00011005820706486703, + 8.973339572548866e-05, + 8.431661408394575e-05, + 7.77584034949541e-05, + 7.979159709066152e-05, + 7.805819623172284e-05, + 7.802499458193779e-05, + 7.666659075766802e-05, + 8.622501045465469e-05, + 8.21499852463603e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-jvp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-jvp-8-128]", + "params": { + "explicit_no_aux": true, + "transform": "jvp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "explicit-jvp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0007478999905288219, + "max": 0.0007858583936467767, + "mean": 0.0007660500239580869, + "stddev": 1.2188789172539052e-05, + "rounds": 10, + "median": 0.0007645166013389825, + "iqr": 1.6366573981940833e-05, + "q1": 0.0007564334198832511, + "q3": 0.000772799993865192, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0007478999905288219, + "hd15iqr": 0.0007858583936467767, + "ops": 1305.3977791595412, + "total": 0.00766050023958087, + "data": [ + 0.000772799993865192, + 0.0007858583936467767, + 0.0007647250080481171, + 0.0007711168145760894, + 0.0007612999994307757, + 0.000764308194629848, + 0.0007824584143236279, + 0.0007478999905288219, + 0.0007536000106483698, + 0.0007564334198832511 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-jvp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-jvp-128-8]", + "params": { + "explicit_no_aux": true, + "transform": "jvp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "explicit-jvp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.754180114716291e-05, + "max": 0.00011313320137560368, + "mean": 8.354834048077464e-05, + "stddev": 1.067561154649168e-05, + "rounds": 10, + "median": 8.05417075753212e-05, + "iqr": 5.3248135372996384e-06, + "q1": 7.808338850736617e-05, + "q3": 8.340820204466581e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 7.754180114716291e-05, + "hd15iqr": 0.00011313320137560368, + "ops": 11969.118647307072, + "total": 0.0008354834048077464, + "data": [ + 0.00011313320137560368, + 8.340820204466581e-05, + 8.20749904960394e-05, + 8.413339965045452e-05, + 8.167501073330641e-05, + 7.787500508129596e-05, + 7.815000135451556e-05, + 7.754180114716291e-05, + 7.808338850736617e-05, + 7.940840441733599e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-jvp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-jvp-128-128]", + "params": { + "explicit_no_aux": true, + "transform": "jvp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "explicit-jvp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0007591999834403396, + "max": 0.0008397750090807677, + "mean": 0.0007949133194051683, + "stddev": 2.8588358873842842e-05, + "rounds": 10, + "median": 0.0007856874959543348, + "iqr": 4.999977536499498e-05, + "q1": 0.0007698834175243974, + "q3": 0.0008198831928893924, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0007591999834403396, + "hd15iqr": 0.0008397750090807677, + "ops": 1257.9987975900285, + "total": 0.007949133194051683, + "data": [ + 0.0007650749990716577, + 0.0007698834175243974, + 0.0008316915947943926, + 0.0008102918043732643, + 0.0007859249832108617, + 0.0008198831928893924, + 0.0007591999834403396, + 0.0007854500086978078, + 0.0008397750090807677, + 0.000781958200968802 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-vjp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-vjp-8-8]", + "params": { + "explicit_no_aux": true, + "transform": "vjp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "explicit-vjp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 8.377500344067813e-05, + "max": 0.00011640000157058239, + "mean": 9.147666394710541e-05, + "stddev": 9.986536679565243e-06, + "rounds": 10, + "median": 8.775830501690507e-05, + "iqr": 7.3499977588653564e-06, + "q1": 8.553341031074524e-05, + "q3": 9.28834080696106e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 8.377500344067813e-05, + "hd15iqr": 0.00011640000157058239, + "ops": 10931.749769298873, + "total": 0.000914766639471054, + "data": [ + 9.28834080696106e-05, + 0.00011640000157058239, + 8.591660298407078e-05, + 8.486660663038492e-05, + 8.623339235782623e-05, + 8.377500344067813e-05, + 9.98833915218711e-05, + 8.92832176759839e-05, + 8.99916049093008e-05, + 8.553341031074524e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-vjp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-vjp-8-128]", + "params": { + "explicit_no_aux": true, + "transform": "vjp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "explicit-vjp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0008297584019601345, + "max": 0.0008890500059351325, + "mean": 0.0008462341595441103, + "stddev": 1.8804517348953626e-05, + "rounds": 10, + "median": 0.0008390875067561865, + "iqr": 2.2241799160838084e-05, + "q1": 0.000833058194257319, + "q3": 0.0008552999934181571, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.0008297584019601345, + "hd15iqr": 0.0008890500059351325, + "ops": 1181.7060192166286, + "total": 0.008462341595441103, + "data": [ + 0.0008552999934181571, + 0.0008648250019177795, + 0.000846741790883243, + 0.0008890500059351325, + 0.000833058194257319, + 0.0008392082061618566, + 0.0008389668073505163, + 0.0008306500036269427, + 0.0008347831899300218, + 0.0008297584019601345 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-vjp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-vjp-128-8]", + "params": { + "explicit_no_aux": true, + "transform": "vjp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "explicit-vjp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 8.438338991254569e-05, + "max": 9.607500396668911e-05, + "mean": 8.876666193827987e-05, + "stddev": 4.018993148405413e-06, + "rounds": 10, + "median": 8.739171316847205e-05, + "iqr": 5.141785368323323e-06, + "q1": 8.625821210443974e-05, + "q3": 9.139999747276306e-05, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 8.438338991254569e-05, + "hd15iqr": 9.607500396668911e-05, + "ops": 11265.49064890271, + "total": 0.0008876666193827987, + "data": [ + 9.607500396668911e-05, + 8.625821210443974e-05, + 8.660000748932362e-05, + 8.752502035349607e-05, + 9.477499406784773e-05, + 8.438338991254569e-05, + 8.491659536957741e-05, + 9.139999747276306e-05, + 8.725840598344803e-05, + 8.847499266266823e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-vjp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-vjp-128-128]", + "params": { + "explicit_no_aux": true, + "transform": "vjp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "explicit-vjp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0008376500103622675, + "max": 0.0009471168043091894, + "mean": 0.0008827133616432548, + "stddev": 4.531026911020158e-05, + "rounds": 10, + "median": 0.0008637959021143616, + "iqr": 9.352499619126316e-05, + "q1": 0.0008431000169366598, + "q3": 0.000936625013127923, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.0008376500103622675, + "hd15iqr": 0.0009471168043091894, + "ops": 1132.870582290048, + "total": 0.008827133616432548, + "data": [ + 0.0008970499970018863, + 0.0008560833986848593, + 0.0008431000169366598, + 0.0008376500103622675, + 0.0008491417858749629, + 0.0009471168043091894, + 0.0009462999878451228, + 0.000936625013127923, + 0.0008425581967458129, + 0.0008715084055438638 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_batched_adaptive_dense_output", + "fullname": "benchmarks/test_aux_dense_output.py::test_batched_adaptive_dense_output", + "params": null, + "param": null, + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0011962333926931023, + "max": 0.0012377416016533971, + "mean": 0.0012182825012132525, + "stddev": 1.3314083895626526e-05, + "rounds": 10, + "median": 0.0012170457979664207, + "iqr": 2.405000850558281e-05, + "q1": 0.0012075999984517694, + "q3": 0.0012316500069573522, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0011962333926931023, + "hd15iqr": 0.0012377416016533971, + "ops": 820.8276807752953, + "total": 0.012182825012132525, + "data": [ + 0.0012330250116065144, + 0.0012075999984517694, + 0.001223283400759101, + 0.0012133250012993813, + 0.001214416604489088, + 0.0012316500069573522, + 0.0012196749914437533, + 0.0011962333926931023, + 0.0012377416016533971, + 0.0012058750027790666 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-rk4]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "rk4" + }, + "param": "primal-scalar-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.291604273021221e-06, + "max": 5.879206582903862e-06, + "mean": 4.510011640377343e-06, + "stddev": 3.881731641650417e-07, + "rounds": 20, + "median": 4.362501204013825e-06, + "iqr": 8.959905244410055e-08, + "q1": 4.337506834417582e-06, + "q3": 4.427105886861682e-06, + "iqr_outliers": 4, + "stddev_outliers": 3, + "outliers": "3;4", + "ld15iqr": 4.291604273021221e-06, + "hd15iqr": 4.595902282744646e-06, + "ops": 221728.91773652544, + "total": 9.020023280754685e-05, + "data": [ + 5.879206582903862e-06, + 4.595902282744646e-06, + 4.4667045585811135e-06, + 4.38750721514225e-06, + 4.966696724295616e-06, + 5.1041017286479475e-06, + 4.370801616460085e-06, + 4.354200791567564e-06, + 4.354200791567564e-06, + 4.379195161163807e-06, + 4.35409601777792e-06, + 4.374992568045855e-06, + 4.3459003791213036e-06, + 4.3333042412996296e-06, + 4.312500823289156e-06, + 4.291709046810865e-06, + 4.341709427535534e-06, + 4.375004209578037e-06, + 4.320894367992878e-06, + 4.291604273021221e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-tsit5]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "tsit5" + }, + "param": "primal-scalar-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.579204298555851e-06, + "max": 7.887498941272498e-06, + "mean": 5.8114592684432865e-06, + "stddev": 5.040336620950171e-07, + "rounds": 20, + "median": 5.6437973398715264e-06, + "iqr": 2.0625302568078007e-07, + "q1": 5.610397784039378e-06, + "q3": 5.816650809720158e-06, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 5.579204298555851e-06, + "hd15iqr": 7.887498941272498e-06, + "ops": 172073.82067187226, + "total": 0.00011622918536886573, + "data": [ + 7.887498941272498e-06, + 6.029102951288223e-06, + 5.887495353817939e-06, + 5.866703577339649e-06, + 5.745806265622377e-06, + 5.787494592368602e-06, + 5.733291618525982e-06, + 5.695899017155171e-06, + 5.620799493044615e-06, + 5.6292046792805195e-06, + 5.645898636430502e-06, + 5.6292046792805195e-06, + 5.587493069469928e-06, + 5.6167016737163065e-06, + 5.579204298555851e-06, + 5.60409389436245e-06, + 5.595793481916189e-06, + 5.64169604331255e-06, + 5.599996075034141e-06, + 5.845807027071714e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-rodas5p]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "rodas5p" + }, + "param": "primal-scalar-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.405830891802907e-05, + "max": 3.2366695813834666e-05, + "mean": 2.593854092992842e-05, + "stddev": 2.4547612271498997e-06, + "rounds": 20, + "median": 2.4975003907456993e-05, + "iqr": 1.0208459571003914e-06, + "q1": 2.4585402570664883e-05, + "q3": 2.5606248527765274e-05, + "iqr_outliers": 4, + "stddev_outliers": 3, + "outliers": "3;4", + "ld15iqr": 2.405830891802907e-05, + "hd15iqr": 2.756669418886304e-05, + "ops": 38552.66966254757, + "total": 0.0005187708185985685, + "data": [ + 2.929170150309801e-05, + 2.5575002655386925e-05, + 2.5220797397196293e-05, + 2.513750223442912e-05, + 3.2366695813834666e-05, + 2.5637494400143623e-05, + 2.4520792067050934e-05, + 2.4716602638363838e-05, + 2.4379207752645014e-05, + 2.4449999909847974e-05, + 2.5270902551710605e-05, + 2.4650001432746648e-05, + 2.4620804470032454e-05, + 2.405830891802907e-05, + 3.203330561518669e-05, + 2.5174999609589577e-05, + 2.4812505580484866e-05, + 2.455000067129731e-05, + 2.4737499188631773e-05, + 2.756669418886304e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-em]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "em" + }, + "param": "primal-scalar-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.620799493044615e-06, + "max": 8.604198228567839e-06, + "mean": 6.527920486405492e-06, + "stddev": 6.651142228651334e-07, + "rounds": 20, + "median": 6.647896952927113e-06, + "iqr": 6.541551556438209e-07, + "q1": 6.137497257441282e-06, + "q3": 6.791652413085103e-06, + "iqr_outliers": 1, + "stddev_outliers": 4, + "outliers": "4;1", + "ld15iqr": 5.620799493044615e-06, + "hd15iqr": 8.604198228567839e-06, + "ops": 153188.14040129894, + "total": 0.00013055840972810983, + "data": [ + 8.604198228567839e-06, + 6.7792017944157125e-06, + 6.150000263005495e-06, + 5.662499461323023e-06, + 6.254110485315323e-06, + 6.145797669887543e-06, + 6.679096259176731e-06, + 6.820808630436659e-06, + 6.616697646677494e-06, + 6.695894990116358e-06, + 6.7875022068619725e-06, + 6.129196844995022e-06, + 6.6792010329663755e-06, + 5.899998359382152e-06, + 7.05840066075325e-06, + 5.620799493044615e-06, + 7.120799273252487e-06, + 6.258406210690737e-06, + 6.795802619308233e-06, + 5.799997597932815e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-dae]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "dae" + }, + "param": "primal-scalar-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.409590572118759e-05, + "max": 3.732079640030861e-05, + "mean": 3.446415939833969e-05, + "stddev": 7.248691021227803e-07, + "rounds": 20, + "median": 3.422499867156148e-05, + "iqr": 2.4999026209115575e-07, + "q1": 3.413750091567636e-05, + "q3": 3.4387491177767514e-05, + "iqr_outliers": 3, + "stddev_outliers": 1, + "outliers": "1;3", + "ld15iqr": 3.409590572118759e-05, + "hd15iqr": 3.487920621410012e-05, + "ops": 29015.650387462374, + "total": 0.0006892831879667938, + "data": [ + 3.732079640030861e-05, + 3.471249947324395e-05, + 3.4383393358439204e-05, + 3.439158899709582e-05, + 3.487920621410012e-05, + 3.4291599877178666e-05, + 3.422918962314725e-05, + 3.422499867156148e-05, + 3.415420651435852e-05, + 3.4329202026128766e-05, + 3.5079102963209154e-05, + 3.422499867156148e-05, + 3.409590572118759e-05, + 3.410410135984421e-05, + 3.416660474613309e-05, + 3.411249490454793e-05, + 3.412079531699419e-05, + 3.4187501296401027e-05, + 3.414170350879431e-05, + 3.41332983225584e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-rodas5p_dae]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "rodas5p_dae" + }, + "param": "primal-scalar-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.615000121295452e-05, + "max": 3.5791692789644e-05, + "mean": 2.968935528770089e-05, + "stddev": 2.8263287741706402e-06, + "rounds": 20, + "median": 2.923330175690353e-05, + "iqr": 3.6521407309919555e-06, + "q1": 2.7362455148249866e-05, + "q3": 3.101459587924182e-05, + "iqr_outliers": 0, + "stddev_outliers": 7, + "outliers": "7;0", + "ld15iqr": 2.615000121295452e-05, + "hd15iqr": 3.5791692789644e-05, + "ops": 33682.10560012598, + "total": 0.0005937871057540179, + "data": [ + 3.5791692789644e-05, + 2.9466708656400443e-05, + 2.9683299362659455e-05, + 3.3770804293453693e-05, + 3.270410234108567e-05, + 2.9291596729308366e-05, + 2.9366603121161462e-05, + 2.887089503929019e-05, + 2.9079103842377663e-05, + 3.007500199601054e-05, + 3.195418976247311e-05, + 2.8712500352412462e-05, + 2.6954093482345342e-05, + 2.917500678449869e-05, + 2.6670796796679496e-05, + 2.615000121295452e-05, + 2.6254099793732166e-05, + 3.509169910103083e-05, + 2.7395808137953283e-05, + 2.732910215854645e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-sdae]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "sdae" + }, + "param": "primal-scalar-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 8.403749670833349e-05, + "max": 0.00010468750260770321, + "mean": 9.065123798791319e-05, + "stddev": 7.126630909273898e-06, + "rounds": 20, + "median": 8.789999992586672e-05, + "iqr": 1.0418694000691192e-05, + "q1": 8.528335019946097e-05, + "q3": 9.570204420015216e-05, + "iqr_outliers": 0, + "stddev_outliers": 5, + "outliers": "5;0", + "ld15iqr": 8.403749670833349e-05, + "hd15iqr": 0.00010468750260770321, + "ops": 11031.288950883749, + "total": 0.0018130247597582638, + "data": [ + 8.85708024725318e-05, + 8.619999280199409e-05, + 8.437909418717027e-05, + 8.410000009462237e-05, + 0.00010134159820154309, + 8.941249689087272e-05, + 8.584170136600733e-05, + 8.472499903291463e-05, + 9.247909765690565e-05, + 0.00010312499944120646, + 0.00010203339625149965, + 0.00010468750260770321, + 9.892499074339866e-05, + 8.718749741092325e-05, + 8.405409753322601e-05, + 8.82041989825666e-05, + 8.919580141082406e-05, + 8.403749670833349e-05, + 8.759580086916685e-05, + 8.692919509485364e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-rk4]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "rk4" + }, + "param": "primal-vector16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.429207183420658e-06, + "max": 6.637501064687967e-06, + "mean": 4.677496617659926e-06, + "stddev": 4.814510978959243e-07, + "rounds": 20, + "median": 4.554149927571417e-06, + "iqr": 2.6460038498044116e-07, + "q1": 4.4479034841060635e-06, + "q3": 4.712503869086505e-06, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 4.429207183420658e-06, + "hd15iqr": 6.637501064687967e-06, + "ops": 213789.5720168972, + "total": 9.354993235319853e-05, + "data": [ + 6.637501064687967e-06, + 4.8584071919322016e-06, + 4.808302037417889e-06, + 4.754099063575268e-06, + 4.6709086745977405e-06, + 4.658300895243883e-06, + 4.650000482797622e-06, + 4.75830165669322e-06, + 4.566600546240807e-06, + 4.5667053200304505e-06, + 4.541699308902025e-06, + 4.483398515731096e-06, + 4.474993329495192e-06, + 4.479102790355682e-06, + 4.441698547452688e-06, + 4.441698547452688e-06, + 4.433293361216783e-06, + 4.4541084207594395e-06, + 4.4416054151952265e-06, + 4.429207183420658e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-tsit5]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "tsit5" + }, + "param": "primal-vector16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 8.087500464171172e-06, + "max": 1.5041697770357132e-05, + "mean": 8.916470687836408e-06, + "stddev": 1.6893285457928184e-06, + "rounds": 20, + "median": 8.297950262203813e-06, + "iqr": 5.562498699873696e-07, + "q1": 8.179200813174248e-06, + "q3": 8.735450683161618e-06, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 8.087500464171172e-06, + "hd15iqr": 1.2104096822440624e-05, + "ops": 112151.9976916619, + "total": 0.00017832941375672817, + "data": [ + 1.5041697770357132e-05, + 1.2104096822440624e-05, + 8.662499021738768e-06, + 8.437503129243851e-06, + 8.387502748519183e-06, + 8.291704580187797e-06, + 8.200004231184721e-06, + 8.170900400727987e-06, + 8.300004992634058e-06, + 8.0999918282032e-06, + 8.274998981505632e-06, + 8.087500464171172e-06, + 8.13330989331007e-06, + 8.162495214492083e-06, + 8.187501225620509e-06, + 8.491706103086471e-06, + 8.808402344584466e-06, + 8.295895531773567e-06, + 9.166693780571223e-06, + 9.02500469237566e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-rodas5p]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "rodas5p" + }, + "param": "primal-vector16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.862499725073576e-05, + "max": 4.714590031653643e-05, + "mean": 4.2777290218509734e-05, + "stddev": 2.2501468046901474e-06, + "rounds": 20, + "median": 4.261875292286277e-05, + "iqr": 2.1020416170358617e-06, + "q1": 4.1733356192708014e-05, + "q3": 4.3835397809743876e-05, + "iqr_outliers": 1, + "stddev_outliers": 7, + "outliers": "7;1", + "ld15iqr": 3.862499725073576e-05, + "hd15iqr": 4.714590031653643e-05, + "ops": 23376.889814476843, + "total": 0.0008555458043701947, + "data": [ + 4.627499729394913e-05, + 4.3679098598659036e-05, + 4.193750210106373e-05, + 4.342080792412162e-05, + 4.2462500277906654e-05, + 3.9441697299480436e-05, + 4.714590031653643e-05, + 4.5566598419100043e-05, + 4.512909799814224e-05, + 4.255410749465227e-05, + 4.234579391777515e-05, + 4.399169702082872e-05, + 4.268339835107326e-05, + 4.3416698463261125e-05, + 4.299170104786754e-05, + 4.167500883340835e-05, + 4.154590424150228e-05, + 3.88665939681232e-05, + 3.862499725073576e-05, + 4.1791703552007675e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-em]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "em" + }, + "param": "primal-vector16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.5179109070450067e-05, + "max": 3.8291607052087787e-05, + "mean": 2.8368742205202578e-05, + "stddev": 3.4086936239374426e-06, + "rounds": 20, + "median": 2.66916467808187e-05, + "iqr": 3.893754910677669e-06, + "q1": 2.6289548259228468e-05, + "q3": 3.0183303169906137e-05, + "iqr_outliers": 1, + "stddev_outliers": 4, + "outliers": "4;1", + "ld15iqr": 2.5179109070450067e-05, + "hd15iqr": 3.8291607052087787e-05, + "ops": 35250.06476376696, + "total": 0.0005673748441040516, + "data": [ + 3.1708308961242436e-05, + 3.225839463993907e-05, + 2.865829737856984e-05, + 2.714999718591571e-05, + 2.62749963440001e-05, + 3.2412505242973565e-05, + 2.8004206251353024e-05, + 2.661249600350857e-05, + 2.6300002355128525e-05, + 2.6295811403542756e-05, + 2.6770797558128833e-05, + 2.6333308778703212e-05, + 2.6070803869515657e-05, + 3.8291607052087787e-05, + 2.802920062094927e-05, + 3.3066701143980025e-05, + 2.5379203725606204e-05, + 2.6295799762010576e-05, + 2.5179109070450067e-05, + 2.628329675644636e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-dae]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "dae" + }, + "param": "primal-vector16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0001639791065827012, + "max": 0.0001932458020746708, + "mean": 0.0001751470798626542, + "stddev": 8.83511848107388e-06, + "rounds": 20, + "median": 0.0001721645472571254, + "iqr": 1.4639645814895614e-05, + "q1": 0.00016759164864197374, + "q3": 0.00018223129445686935, + "iqr_outliers": 0, + "stddev_outliers": 6, + "outliers": "6;0", + "ld15iqr": 0.0001639791065827012, + "hd15iqr": 0.0001932458020746708, + "ops": 5709.48713951825, + "total": 0.003502941597253084, + "data": [ + 0.0001932458020746708, + 0.00018247918924316764, + 0.00018853329820558428, + 0.00018250419525429608, + 0.000186308310367167, + 0.0001819833996705711, + 0.00018071249360218644, + 0.0001719457912258804, + 0.00017238330328837038, + 0.00016855000285431743, + 0.00016545000253245234, + 0.00016799999866634607, + 0.00018120420863851905, + 0.0001769124995917082, + 0.0001672249985858798, + 0.0001652417005971074, + 0.0001668208045884967, + 0.0001639791065827012, + 0.00016795829869806767, + 0.00017150419298559428 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-rodas5p_dae]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "rodas5p_dae" + }, + "param": "primal-vector16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.763749988749623e-05, + "max": 8.58458923175931e-05, + "mean": 7.272313465364277e-05, + "stddev": 5.067947214776437e-06, + "rounds": 20, + "median": 7.098540081642568e-05, + "iqr": 4.91453683935105e-06, + "q1": 6.907085771672428e-05, + "q3": 7.398539455607533e-05, + "iqr_outliers": 2, + "stddev_outliers": 3, + "outliers": "3;2", + "ld15iqr": 6.763749988749623e-05, + "hd15iqr": 8.51707998663187e-05, + "ops": 13750.782399063006, + "total": 0.0014544626930728555, + "data": [ + 8.58458923175931e-05, + 7.364590419456363e-05, + 7.046670652925968e-05, + 7.015839219093323e-05, + 6.888329517096281e-05, + 6.90625049173832e-05, + 7.135829655453562e-05, + 7.608330342918634e-05, + 7.337089627981185e-05, + 8.51707998663187e-05, + 7.364999037235975e-05, + 6.942920153960586e-05, + 6.763749988749623e-05, + 6.907921051606536e-05, + 7.061250507831574e-05, + 7.626250153407455e-05, + 7.432079873979092e-05, + 7.248329930007458e-05, + 6.844589952379466e-05, + 6.849579513072968e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-sdae]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "sdae" + }, + "param": "primal-vector16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0004717292031273246, + "max": 0.0005330541986040771, + "mean": 0.0004940298007568344, + "stddev": 1.825267967807088e-05, + "rounds": 20, + "median": 0.0004870271543040872, + "iqr": 2.3822946241125497e-05, + "q1": 0.00048023955314420165, + "q3": 0.0005040624993853271, + "iqr_outliers": 0, + "stddev_outliers": 6, + "outliers": "6;0", + "ld15iqr": 0.0004717292031273246, + "hd15iqr": 0.0005330541986040771, + "ops": 2024.1693891098046, + "total": 0.009880596015136689, + "data": [ + 0.0004965542000718414, + 0.0004774250090122223, + 0.000502249994315207, + 0.00048161250306293367, + 0.0004762583994306624, + 0.0005242625018581748, + 0.0004717292031273246, + 0.0004983374965377152, + 0.000519837497267872, + 0.0005330541986040771, + 0.0005058750044554472, + 0.00048071660567075016, + 0.0004884959082119167, + 0.00047976250061765313, + 0.00048373329918831586, + 0.0004847500007599592, + 0.00048555840039625763, + 0.0004728958010673523, + 0.0004988375003449619, + 0.0005186499911360443 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-rk4]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "rk4" + }, + "param": "primal-tree16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.812500603497028e-06, + "max": 7.991702295839786e-06, + "mean": 6.012719823047519e-06, + "stddev": 4.7463355711755244e-07, + "rounds": 20, + "median": 5.893752677366137e-06, + "iqr": 1.1670053936541131e-07, + "q1": 5.837494973093271e-06, + "q3": 5.954195512458682e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 5.812500603497028e-06, + "hd15iqr": 6.1917002312839035e-06, + "ops": 166314.08570991, + "total": 0.00012025439646095038, + "data": [ + 7.991702295839786e-06, + 6.1917002312839035e-06, + 6.0167047195136545e-06, + 6.024993490427733e-06, + 5.9666926972568035e-06, + 5.941698327660561e-06, + 5.912501364946365e-06, + 5.870906170457601e-06, + 5.9167039580643175e-06, + 5.937507376074791e-06, + 5.899998359382152e-06, + 5.887506995350123e-06, + 5.870906170457601e-06, + 5.874992348253727e-06, + 5.812500603497028e-06, + 5.837494973093271e-06, + 5.837494973093271e-06, + 5.820801015943289e-06, + 5.816598422825336e-06, + 5.824991967529059e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-tsit5]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "tsit5" + }, + "param": "primal-tree16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 1.739589497447014e-05, + "max": 2.377909841015935e-05, + "mean": 2.287583949510008e-05, + "stddev": 1.7003520973308441e-06, + "rounds": 20, + "median": 2.3483345285058024e-05, + "iqr": 3.082503098994534e-07, + "q1": 2.322919899597764e-05, + "q3": 2.3537449305877092e-05, + "iqr_outliers": 3, + "stddev_outliers": 2, + "outliers": "2;3", + "ld15iqr": 2.304170047864318e-05, + "hd15iqr": 2.377909841015935e-05, + "ops": 43714.242715079214, + "total": 0.0004575167899020016, + "data": [ + 1.739589497447014e-05, + 1.8587498925626277e-05, + 2.3320899344980717e-05, + 2.377909841015935e-05, + 2.3562507703900337e-05, + 2.355409087613225e-05, + 2.3641705047339202e-05, + 2.3508304730057715e-05, + 2.352080773562193e-05, + 2.2595899645239113e-05, + 2.3345800582319497e-05, + 2.3512495681643485e-05, + 2.347499830648303e-05, + 2.347079571336508e-05, + 2.304170047864318e-05, + 2.3516698274761438e-05, + 2.3591704666614534e-05, + 2.346669789403677e-05, + 2.3491692263633013e-05, + 2.3137498646974564e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-rodas5p]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "rodas5p" + }, + "param": "primal-tree16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.712500376626849e-05, + "max": 6.23249914497137e-05, + "mean": 4.892625554930419e-05, + "stddev": 3.3235119542277176e-06, + "rounds": 20, + "median": 4.802914336323738e-05, + "iqr": 7.104419637471465e-07, + "q1": 4.7585403081029654e-05, + "q3": 4.82958450447768e-05, + "iqr_outliers": 4, + "stddev_outliers": 1, + "outliers": "1;4", + "ld15iqr": 4.712500376626849e-05, + "hd15iqr": 4.95583051815629e-05, + "ops": 20438.923616222288, + "total": 0.0009785251109860837, + "data": [ + 5.1666609942913054e-05, + 6.23249914497137e-05, + 4.95583051815629e-05, + 4.815839929506183e-05, + 4.759159637615085e-05, + 4.811669932678342e-05, + 4.8333394806832076e-05, + 4.7520804218947885e-05, + 4.806659417226911e-05, + 4.7545903362333776e-05, + 4.712500376626849e-05, + 4.822920309379697e-05, + 4.770420491695404e-05, + 4.9866701010614635e-05, + 4.766670754179359e-05, + 4.7991692554205656e-05, + 4.825829528272152e-05, + 4.757920978590846e-05, + 4.7341594472527505e-05, + 4.787920042872429e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-em]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "em" + }, + "param": "primal-tree16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.510420210659504e-05, + "max": 5.240830359980464e-05, + "mean": 3.7483544438146056e-05, + "stddev": 3.7937276267573057e-06, + "rounds": 20, + "median": 3.626669640652835e-05, + "iqr": 2.3916538339108256e-06, + "q1": 3.551460104063153e-05, + "q3": 3.7906254874542356e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 3.510420210659504e-05, + "hd15iqr": 5.240830359980464e-05, + "ops": 26678.37353669055, + "total": 0.0007496708887629211, + "data": [ + 5.240830359980464e-05, + 3.885410260409117e-05, + 3.7512497510761025e-05, + 3.9612501859664916e-05, + 3.756660735234618e-05, + 3.510420210659504e-05, + 3.547499654814601e-05, + 3.610840067267418e-05, + 3.572909627109766e-05, + 3.7475000135600566e-05, + 3.528749803081155e-05, + 3.6687497049570085e-05, + 3.939169691875577e-05, + 3.528749803081155e-05, + 3.5554205533117055e-05, + 3.531669499352574e-05, + 3.5733403638005254e-05, + 3.589579137042165e-05, + 3.824590239673853e-05, + 3.642499214038253e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-dae]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "dae" + }, + "param": "primal-tree16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00017394160386174917, + "max": 0.0001921290997415781, + "mean": 0.00017928228655364364, + "stddev": 5.059854553552565e-06, + "rounds": 20, + "median": 0.00017781039932742714, + "iqr": 5.191651871427861e-06, + "q1": 0.00017577920225448908, + "q3": 0.00018097085412591694, + "iqr_outliers": 2, + "stddev_outliers": 5, + "outliers": "5;2", + "ld15iqr": 0.00017394160386174917, + "hd15iqr": 0.0001897042035125196, + "ops": 5577.795883927365, + "total": 0.003585645731072873, + "data": [ + 0.0001897042035125196, + 0.00018634579610079526, + 0.00017952079651877283, + 0.0001813792041502893, + 0.0001921290997415781, + 0.00017401670338585974, + 0.00018096670974045991, + 0.0001743166008964181, + 0.0001763499923981726, + 0.00017752080457285048, + 0.00017792920116335153, + 0.0001766042085364461, + 0.00017394160386174917, + 0.00018097499851137399, + 0.00017769159749150276, + 0.00018072080565616487, + 0.00017612919909879566, + 0.00017462080577388406, + 0.00017542920541018247, + 0.00017935419455170632 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-rodas5p_dae]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "rodas5p_dae" + }, + "param": "primal-tree16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.617080118507146e-05, + "max": 0.00010046670213341713, + "mean": 8.378708211239428e-05, + "stddev": 6.909598827795018e-06, + "rounds": 20, + "median": 8.105830056592822e-05, + "iqr": 8.520844858139753e-06, + "q1": 7.838329765945673e-05, + "q3": 8.690414251759649e-05, + "iqr_outliers": 1, + "stddev_outliers": 4, + "outliers": "4;1", + "ld15iqr": 7.617080118507146e-05, + "hd15iqr": 0.00010046670213341713, + "ops": 11935.014023505113, + "total": 0.0016757416422478854, + "data": [ + 9.559589670971036e-05, + 8.103749714791775e-05, + 8.373749442398548e-05, + 8.301669731736183e-05, + 8.663329062983394e-05, + 8.455419447273016e-05, + 7.919169729575515e-05, + 8.717499440535903e-05, + 8.107910398393869e-05, + 8.099579717963934e-05, + 8.084999863058328e-05, + 7.693329825997353e-05, + 7.79583933763206e-05, + 7.617080118507146e-05, + 9.60957957431674e-05, + 8.95458972081542e-05, + 0.00010046670213341713, + 7.847079541534185e-05, + 7.793749682605267e-05, + 7.829579990357161e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-sdae]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "sdae" + }, + "param": "primal-tree16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0005003249971196055, + "max": 0.001634654204826802, + "mean": 0.0005856899876380339, + "stddev": 0.0002478433841870148, + "rounds": 20, + "median": 0.0005314208043273539, + "iqr": 3.660840447992095e-05, + "q1": 0.0005105916003230958, + "q3": 0.0005472000048030168, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.0005003249971196055, + "hd15iqr": 0.001634654204826802, + "ops": 1707.3879033390895, + "total": 0.011713799752760679, + "data": [ + 0.0005574125098064542, + 0.000546629203017801, + 0.0005477708065882326, + 0.0005439208005554974, + 0.0005261915968731046, + 0.0005035666981711984, + 0.0005273416987620294, + 0.0005461832974106073, + 0.0005760500091128052, + 0.0005541000049561262, + 0.001634654204826802, + 0.0005298833013512195, + 0.000507966591976583, + 0.0005155874998308719, + 0.0005132166086696088, + 0.0005021708086133004, + 0.0005003249971196055, + 0.0005023290985263884, + 0.0005329583073034883, + 0.0005455417092889547 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-rk4]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "rk4" + }, + "param": "jvp-scalar-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.983293522149324e-06, + "max": 7.933296728879213e-06, + "mean": 6.171244895085692e-06, + "stddev": 4.2969552636180834e-07, + "rounds": 20, + "median": 6.029149517416954e-06, + "iqr": 1.6665435396134887e-07, + "q1": 6.002100417390465e-06, + "q3": 6.168754771351814e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 5.983293522149324e-06, + "hd15iqr": 6.441702134907246e-06, + "ops": 162041.85978688407, + "total": 0.00012342489790171385, + "data": [ + 7.933296728879213e-06, + 6.441702134907246e-06, + 6.1917002312839035e-06, + 6.170908454805612e-06, + 6.166601087898016e-06, + 6.200000643730163e-06, + 6.1208033002913e-06, + 6.083305925130844e-06, + 6.00829953327775e-06, + 6.05839304625988e-06, + 6.037496495991945e-06, + 6.020802538841963e-06, + 6.02079089730978e-06, + 5.983293522149324e-06, + 5.9874961152672764e-06, + 5.999999120831489e-06, + 5.983305163681507e-06, + 6.012502126395702e-06, + 5.999999120831489e-06, + 6.0042017139494416e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-tsit5]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "tsit5" + }, + "param": "jvp-scalar-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 8.712499402463436e-06, + "max": 3.76833020709455e-05, + "mean": 1.3188958400860428e-05, + "stddev": 9.055497329403522e-06, + "rounds": 20, + "median": 8.868792792782188e-06, + "iqr": 3.18954116664827e-06, + "q1": 8.820852963253854e-06, + "q3": 1.2010394129902124e-05, + "iqr_outliers": 3, + "stddev_outliers": 3, + "outliers": "3;3", + "ld15iqr": 8.712499402463436e-06, + "hd15iqr": 2.7208297979086637e-05, + "ops": 75820.99886938467, + "total": 0.00026377916801720855, + "data": [ + 3.510829992592335e-05, + 3.76833020709455e-05, + 2.7208297979086637e-05, + 1.4299992471933365e-05, + 1.562499674037099e-05, + 9.020906873047352e-06, + 8.825003169476986e-06, + 9.32080438360572e-06, + 8.712499402463436e-06, + 8.837494533509016e-06, + 8.870894089341163e-06, + 8.866691496223212e-06, + 8.825003169476986e-06, + 8.758297190070152e-06, + 8.725002408027649e-06, + 8.74579418450594e-06, + 8.833396714180708e-06, + 8.816702757030725e-06, + 9.720795787870884e-06, + 8.97499267011881e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-rodas5p]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "rodas5p" + }, + "param": "jvp-scalar-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.7858291286975145e-05, + "max": 3.7045800127089024e-05, + "mean": 3.062125004362315e-05, + "stddev": 2.8345892372866382e-06, + "rounds": 20, + "median": 2.9162550345063212e-05, + "iqr": 2.8916401788592305e-06, + "q1": 2.8858351288363338e-05, + "q3": 3.174999146722257e-05, + "iqr_outliers": 2, + "stddev_outliers": 4, + "outliers": "4;2", + "ld15iqr": 2.7858291286975145e-05, + "hd15iqr": 3.652500454336405e-05, + "ops": 32657.06000164579, + "total": 0.000612425000872463, + "data": [ + 3.4416699782013894e-05, + 2.8887495864182712e-05, + 2.9504194390028716e-05, + 2.91708973236382e-05, + 2.915420336648822e-05, + 2.7858291286975145e-05, + 2.9091606847941875e-05, + 2.793330932036042e-05, + 2.8750009369105102e-05, + 2.8829206712543964e-05, + 3.7045800127089024e-05, + 3.652500454336405e-05, + 3.447079798206687e-05, + 3.147090319544077e-05, + 2.9487500432878734e-05, + 2.8495793230831623e-05, + 2.8887495864182712e-05, + 3.1716690864413975e-05, + 3.178329207003117e-05, + 2.8945808298885823e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-em]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "em" + }, + "param": "jvp-scalar-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.700008478015661e-06, + "max": 1.0408298112452031e-05, + "mean": 6.185646634548903e-06, + "stddev": 1.0206803223304845e-06, + "rounds": 20, + "median": 5.862553371116519e-06, + "iqr": 4.229019396007066e-07, + "q1": 5.783350206911564e-06, + "q3": 6.20625214651227e-06, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 5.700008478015661e-06, + "hd15iqr": 1.0408298112452031e-05, + "ops": 161664.5856254811, + "total": 0.00012371293269097805, + "data": [ + 1.0408298112452031e-05, + 6.012502126395702e-06, + 5.854200571775436e-06, + 5.8042001910507676e-06, + 5.754199810326099e-06, + 5.825003609061241e-06, + 5.700008478015661e-06, + 5.76250022277236e-06, + 5.741696804761887e-06, + 5.845807027071714e-06, + 6.39590434730053e-06, + 5.837494973093271e-06, + 5.733396392315626e-06, + 6.070896051824093e-06, + 6.212503649294376e-06, + 6.200000643730163e-06, + 6.400002166628837e-06, + 5.9167039580643175e-06, + 6.366707384586334e-06, + 5.870906170457601e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-dae]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "dae" + }, + "param": "jvp-scalar-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.9137504063546655e-05, + "max": 4.7337496653199196e-05, + "mean": 4.084646585397422e-05, + "stddev": 2.04776747885385e-06, + "rounds": 20, + "median": 4.0060456376522774e-05, + "iqr": 1.8228951375931488e-06, + "q1": 3.94771050196141e-05, + "q3": 4.130000015720725e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 3.9137504063546655e-05, + "hd15iqr": 4.452919820323587e-05, + "ops": 24481.92222002735, + "total": 0.0008169293170794845, + "data": [ + 4.259999841451645e-05, + 3.991250414401293e-05, + 4.102500388398766e-05, + 4.452919820323587e-05, + 4.093750612810254e-05, + 4.217089153826237e-05, + 3.94499977119267e-05, + 3.946250071749091e-05, + 3.937919391319156e-05, + 3.955410793423653e-05, + 3.9429101161658767e-05, + 4.7337496653199196e-05, + 4.117499338462949e-05, + 4.020840860903263e-05, + 3.9137504063546655e-05, + 3.968749660998583e-05, + 3.9704202208667994e-05, + 4.142500692978501e-05, + 3.949170932173729e-05, + 4.0312495548278095e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-rodas5p_dae]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "rodas5p_dae" + }, + "param": "jvp-scalar-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.736249636858702e-05, + "max": 5.744579248130321e-05, + "mean": 4.107875050976873e-05, + "stddev": 4.7823909785963665e-06, + "rounds": 20, + "median": 3.921874449588358e-05, + "iqr": 3.829202614724633e-06, + "q1": 3.816665266640485e-05, + "q3": 4.199585528112948e-05, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 3.736249636858702e-05, + "hd15iqr": 5.744579248130321e-05, + "ops": 24343.48629377603, + "total": 0.0008215750101953744, + "data": [ + 4.7558394726365805e-05, + 4.015000304207206e-05, + 3.93416965380311e-05, + 3.866669721901417e-05, + 3.77541990019381e-05, + 3.77583084627986e-05, + 3.8170802872627975e-05, + 3.8162502460181716e-05, + 4.5229203533381226e-05, + 5.744579248130321e-05, + 4.217500099912286e-05, + 4.18167095631361e-05, + 3.9095792453736065e-05, + 3.736249636858702e-05, + 3.8875010795891284e-05, + 3.9345805998891595e-05, + 4.487499827519059e-05, + 4.142910474911332e-05, + 3.834159579128027e-05, + 3.802089486271143e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-sdae]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "sdae" + }, + "param": "jvp-scalar-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00011648329673334956, + "max": 0.00013165000127628445, + "mean": 0.00012494206603150815, + "stddev": 4.2146530191763205e-06, + "rounds": 20, + "median": 0.00012502080644480885, + "iqr": 5.333352601155628e-06, + "q1": 0.00012220625067129733, + "q3": 0.00012753960327245296, + "iqr_outliers": 0, + "stddev_outliers": 8, + "outliers": "8;0", + "ld15iqr": 0.00011648329673334956, + "hd15iqr": 0.00013165000127628445, + "ops": 8003.709493228789, + "total": 0.002498841320630163, + "data": [ + 0.00012516661081463099, + 0.00012195829767733813, + 0.0001255583018064499, + 0.00012034580577164888, + 0.00012023750459775329, + 0.00013165000127628445, + 0.00011993329972028732, + 0.0001224542036652565, + 0.00012282079551368953, + 0.00013139579677954317, + 0.00011648329673334956, + 0.00012442079605534673, + 0.00012742499820888041, + 0.00012765420833602548, + 0.00012667080154642462, + 0.0001302249962463975, + 0.00013126659905537963, + 0.0001248750020749867, + 0.00012572910636663437, + 0.00012257089838385582 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-rk4]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "rk4" + }, + "param": "jvp-vector16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.808298010379076e-06, + "max": 8.704198990017176e-06, + "mean": 6.332301418296993e-06, + "stddev": 7.000215900781042e-07, + "rounds": 20, + "median": 5.947897443547845e-06, + "iqr": 8.979404810816058e-07, + "q1": 5.856255302205682e-06, + "q3": 6.7541957832872874e-06, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 5.808298010379076e-06, + "hd15iqr": 8.704198990017176e-06, + "ops": 157920.467448143, + "total": 0.00012664602836593987, + "data": [ + 8.704198990017176e-06, + 6.325007416307926e-06, + 6.8917055614292625e-06, + 6.28340058028698e-06, + 5.958299152553082e-06, + 6.816699169576168e-06, + 5.937495734542608e-06, + 5.908310413360596e-06, + 6.816699169576168e-06, + 5.912501364946365e-06, + 5.845807027071714e-06, + 6.733299233019352e-06, + 5.866703577339649e-06, + 5.87500398978591e-06, + 6.733392365276814e-06, + 5.808402784168721e-06, + 5.808298010379076e-06, + 6.77499920129776e-06, + 5.825003609061241e-06, + 5.820801015943289e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-tsit5]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "tsit5" + }, + "param": "jvp-vector16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 9.991705883294345e-06, + "max": 2.459170063957572e-05, + "mean": 1.6150856390595435e-05, + "stddev": 4.967936095247771e-06, + "rounds": 20, + "median": 1.5779200475662945e-05, + "iqr": 8.952151983976367e-06, + "q1": 1.1318747419863938e-05, + "q3": 2.0270899403840305e-05, + "iqr_outliers": 0, + "stddev_outliers": 9, + "outliers": "9;0", + "ld15iqr": 9.991705883294345e-06, + "hd15iqr": 2.459170063957572e-05, + "ops": 61916.22139506454, + "total": 0.0003230171278119087, + "data": [ + 2.459170063957572e-05, + 2.0458397921174763e-05, + 1.9762502051889897e-05, + 2.0083400886505843e-05, + 1.3649999164044858e-05, + 2.2400007583200932e-05, + 1.8666707910597323e-05, + 1.3845809735357762e-05, + 1.0354199912399053e-05, + 9.991705883294345e-06, + 1.6066699754446744e-05, + 1.1829205323010684e-05, + 1.0195898357778788e-05, + 1.146669965237379e-05, + 1.1170795187354087e-05, + 2.401249948889017e-05, + 1.6075000166893007e-05, + 1.549170119687915e-05, + 1.1029199231415988e-05, + 2.187499776482582e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-rodas5p]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "rodas5p" + }, + "param": "jvp-vector16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.346669444814324e-05, + "max": 9.302500402554869e-05, + "mean": 7.797792030032724e-05, + "stddev": 5.228610462356244e-06, + "rounds": 20, + "median": 7.609580061398446e-05, + "iqr": 4.249997437000283e-06, + "q1": 7.482499931938946e-05, + "q3": 7.907499675638974e-05, + "iqr_outliers": 2, + "stddev_outliers": 3, + "outliers": "3;2", + "ld15iqr": 7.346669444814324e-05, + "hd15iqr": 8.90707946382463e-05, + "ops": 12824.14299007412, + "total": 0.0015595584060065447, + "data": [ + 8.90707946382463e-05, + 7.630829932168127e-05, + 7.455829763785005e-05, + 7.825000211596489e-05, + 7.646250305697322e-05, + 7.491669384762645e-05, + 7.409590762108564e-05, + 8.062090491876007e-05, + 7.473330479115247e-05, + 9.302500402554869e-05, + 8.44834023155272e-05, + 7.367089856415986e-05, + 7.667080499231815e-05, + 7.557079661637544e-05, + 7.502080406993628e-05, + 7.579999510198832e-05, + 7.705000462010503e-05, + 7.588330190628767e-05, + 7.989999139681458e-05, + 7.346669444814324e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-em]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "em" + }, + "param": "jvp-vector16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.491250099614262e-05, + "max": 5.845000268891454e-05, + "mean": 3.926271514501423e-05, + "stddev": 5.050008530435487e-06, + "rounds": 20, + "median": 3.792294883169234e-05, + "iqr": 3.891647793352604e-06, + "q1": 3.671044833026826e-05, + "q3": 4.0602096123620865e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 3.491250099614262e-05, + "hd15iqr": 5.845000268891454e-05, + "ops": 25469.456106297454, + "total": 0.0007852543029002845, + "data": [ + 5.845000268891454e-05, + 4.0441693272441626e-05, + 3.689170116558671e-05, + 3.66249936632812e-05, + 4.273329395800829e-05, + 3.845000173896551e-05, + 3.679590299725533e-05, + 3.5645801108330485e-05, + 3.635419998317957e-05, + 3.491250099614262e-05, + 3.521670587360859e-05, + 3.842919832095504e-05, + 3.6829104647040364e-05, + 3.706250572577119e-05, + 4.076249897480011e-05, + 4.14749956689775e-05, + 3.9495795499533413e-05, + 3.99333075620234e-05, + 4.13333997130394e-05, + 3.741669934242964e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-dae]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "dae" + }, + "param": "jvp-vector16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0001966124982573092, + "max": 0.00022950409911572933, + "mean": 0.00021331708587240427, + "stddev": 9.192343961476756e-06, + "rounds": 20, + "median": 0.000213968800380826, + "iqr": 1.4050042955204866e-05, + "q1": 0.00020617500413209198, + "q3": 0.00022022504708729684, + "iqr_outliers": 0, + "stddev_outliers": 5, + "outliers": "5;0", + "ld15iqr": 0.0001966124982573092, + "hd15iqr": 0.00022950409911572933, + "ops": 4687.857027065102, + "total": 0.004266341717448085, + "data": [ + 0.00022950409911572933, + 0.0002203500014729798, + 0.000220812507905066, + 0.00021841250127181412, + 0.00022763330489397048, + 0.00021962500177323817, + 0.00022020419128239156, + 0.00021061250008642675, + 0.00021697500487789513, + 0.00022024590289220213, + 0.00021157920127734542, + 0.0002093082992359996, + 0.00021635839948430657, + 0.00021085420157760382, + 0.00020442500244826077, + 0.0002079250058159232, + 0.0002041917061433196, + 0.0001966124982573092, + 0.00019810409285128116, + 0.00020260829478502274 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-rodas5p_dae]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "rodas5p_dae" + }, + "param": "jvp-vector16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00010008750250563025, + "max": 0.00013601660029962658, + "mean": 0.00011263146239798516, + "stddev": 9.950277934156897e-06, + "rounds": 20, + "median": 0.00011140624992549418, + "iqr": 1.0597897926345468e-05, + "q1": 0.00010555835906416178, + "q3": 0.00011615625699050725, + "iqr_outliers": 2, + "stddev_outliers": 6, + "outliers": "6;2", + "ld15iqr": 0.00010008750250563025, + "hd15iqr": 0.00013476249296218157, + "ops": 8878.513860243449, + "total": 0.002252629247959703, + "data": [ + 0.00013476249296218157, + 0.00011940420372411609, + 0.00011756670428439975, + 0.00010524170938879252, + 0.00010008750250563025, + 0.000104208302218467, + 0.00011474580969661474, + 0.00011142920702695846, + 0.00011312080314382911, + 0.00010822090553119779, + 0.00012354169739410282, + 0.00011209170334041119, + 0.00010017500026151537, + 0.00010097910417243839, + 0.00010587500873953104, + 0.00011027919827029109, + 0.00011252500116825104, + 0.0001109750010073185, + 0.00011138329282402992, + 0.00013601660029962658 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-sdae]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "sdae" + }, + "param": "jvp-vector16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0005416291067376732, + "max": 0.0005865958053618669, + "mean": 0.0005558729055337608, + "stddev": 1.185083925625306e-05, + "rounds": 20, + "median": 0.0005516958015505224, + "iqr": 1.0627054143697045e-05, + "q1": 0.0005488666472956538, + "q3": 0.0005594937014393508, + "iqr_outliers": 2, + "stddev_outliers": 6, + "outliers": "6;2", + "ld15iqr": 0.0005416291067376732, + "hd15iqr": 0.0005754709010943771, + "ops": 1798.9723730818991, + "total": 0.011117458110675216, + "data": [ + 0.0005754709010943771, + 0.0005459249950945377, + 0.0005691458005458117, + 0.0005865958053618669, + 0.0005735374987125396, + 0.0005489832954481244, + 0.0005610040971077979, + 0.0005487499991431832, + 0.0005544250016100705, + 0.0005492791067808866, + 0.0005497417063452303, + 0.0005516625009477138, + 0.0005512458039447666, + 0.0005517291021533311, + 0.0005453249905258417, + 0.0005574667011387646, + 0.0005416291067376732, + 0.0005429708980955184, + 0.0005579833057709038, + 0.0005545874941162765 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-rk4]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "rk4" + }, + "param": "jvp-tree16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 8.562498260289431e-06, + "max": 1.064579701051116e-05, + "mean": 8.894585771486164e-06, + "stddev": 4.6733351396703367e-07, + "rounds": 20, + "median": 8.781248470768333e-06, + "iqr": 4.250032361596823e-07, + "q1": 8.604198228567839e-06, + "q3": 9.029201464727521e-06, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 8.562498260289431e-06, + "hd15iqr": 1.064579701051116e-05, + "ops": 112427.94500962058, + "total": 0.00017789171542972326, + "data": [ + 1.064579701051116e-05, + 8.991698268800975e-06, + 8.887506555765868e-06, + 8.80829757079482e-06, + 8.754199370741844e-06, + 8.708401583135129e-06, + 8.637493010610342e-06, + 8.61670123413205e-06, + 8.575001265853643e-06, + 8.562509901821613e-06, + 8.591695223003627e-06, + 8.633302059024572e-06, + 8.816702757030725e-06, + 8.562498260289431e-06, + 8.579110726714134e-06, + 9.066704660654067e-06, + 9.104202035814524e-06, + 9.125005453824997e-06, + 8.94159311428666e-06, + 9.28329536691308e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-tsit5]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "tsit5" + }, + "param": "jvp-tree16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.5416689459234477e-05, + "max": 3.339169779792428e-05, + "mean": 2.9284369084052742e-05, + "stddev": 1.9712766690070757e-06, + "rounds": 20, + "median": 2.9693753458559512e-05, + "iqr": 1.9042054191231728e-06, + "q1": 2.839164808392525e-05, + "q3": 3.0295853503048423e-05, + "iqr_outliers": 2, + "stddev_outliers": 6, + "outliers": "6;2", + "ld15iqr": 2.5591696612536907e-05, + "hd15iqr": 3.339169779792428e-05, + "ops": 34147.91000378989, + "total": 0.0005856873816810548, + "data": [ + 3.139160107821226e-05, + 2.9629201162606477e-05, + 2.99041043035686e-05, + 3.148328978568316e-05, + 2.8849998489022256e-05, + 2.9516604263335468e-05, + 2.9758305754512548e-05, + 2.775420434772968e-05, + 2.8654199559241535e-05, + 3.055409761145711e-05, + 2.872499171644449e-05, + 3.339169779792428e-05, + 3.03375069051981e-05, + 2.6291701942682266e-05, + 2.5591696612536907e-05, + 2.5416689459234477e-05, + 2.8129096608608962e-05, + 3.0254200100898743e-05, + 2.994169481098652e-05, + 3.0112499371170997e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-rodas5p]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "rodas5p" + }, + "param": "jvp-tree16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.229578914120793e-05, + "max": 9.415419772267342e-05, + "mean": 8.084874949418008e-05, + "stddev": 5.146786271448028e-06, + "rounds": 20, + "median": 7.954585598781704e-05, + "iqr": 3.929150989279154e-06, + "q1": 7.878544856794178e-05, + "q3": 8.271459955722094e-05, + "iqr_outliers": 3, + "stddev_outliers": 5, + "outliers": "5;3", + "ld15iqr": 7.451670244336128e-05, + "hd15iqr": 9.152080165222287e-05, + "ops": 12368.775104826887, + "total": 0.0016169749898836017, + "data": [ + 9.415419772267342e-05, + 8.296669693663716e-05, + 8.095829980447888e-05, + 7.930001011118293e-05, + 7.979170186445117e-05, + 7.912910077720881e-05, + 7.892498979344964e-05, + 9.152080165222287e-05, + 8.277499582618476e-05, + 8.040829561650753e-05, + 7.901249919086694e-05, + 8.04874929599464e-05, + 7.909169653430581e-05, + 7.745830807834864e-05, + 7.229578914120793e-05, + 7.451670244336128e-05, + 7.626250153407455e-05, + 7.864590734243392e-05, + 8.66207992658019e-05, + 8.265420328825712e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-em]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "em" + }, + "param": "jvp-tree16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.841249272227287e-05, + "max": 5.876249633729458e-05, + "mean": 4.464103491045535e-05, + "stddev": 5.831617925811749e-06, + "rounds": 20, + "median": 4.2589602526277306e-05, + "iqr": 5.681207403540613e-06, + "q1": 4.07020968850702e-05, + "q3": 4.6383304288610815e-05, + "iqr_outliers": 2, + "stddev_outliers": 4, + "outliers": "4;2", + "ld15iqr": 3.841249272227287e-05, + "hd15iqr": 5.799169884994626e-05, + "ops": 22400.914360652303, + "total": 0.000892820698209107, + "data": [ + 5.876249633729458e-05, + 5.224999040365219e-05, + 4.4412503484636545e-05, + 4.129590233787894e-05, + 4.243330331519246e-05, + 4.330830415710807e-05, + 3.972920821979642e-05, + 3.964579664170742e-05, + 4.0108291432261464e-05, + 4.267500480636954e-05, + 4.250420024618506e-05, + 4.1895790491253135e-05, + 3.841249272227287e-05, + 4.19040909036994e-05, + 4.0045904461294414e-05, + 5.799169884994626e-05, + 4.425410879775882e-05, + 4.330000374466181e-05, + 4.8354105092585084e-05, + 4.953750176355243e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-dae]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "dae" + }, + "param": "jvp-tree16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00025288749020546675, + "max": 0.0002795624895952642, + "mean": 0.0002625064493622631, + "stddev": 8.474428742244326e-06, + "rounds": 20, + "median": 0.00025858954759314654, + "iqr": 1.3877160381525744e-05, + "q1": 0.00025532704894430934, + "q3": 0.0002692042093258351, + "iqr_outliers": 0, + "stddev_outliers": 6, + "outliers": "6;0", + "ld15iqr": 0.00025288749020546675, + "hd15iqr": 0.0002795624895952642, + "ops": 3809.4302156362796, + "total": 0.005250128987245262, + "data": [ + 0.00026849590940400956, + 0.00027645829832181337, + 0.00026615000097081066, + 0.00027503750752657654, + 0.00026126670418307184, + 0.0002582125016488135, + 0.00025896659353747965, + 0.0002795624895952642, + 0.0002732458058744669, + 0.0002699125092476606, + 0.00025393340038135646, + 0.00025491659762337803, + 0.00026351249543949963, + 0.00025573750026524066, + 0.00025652499170973896, + 0.00025288749020546675, + 0.000257929100189358, + 0.00025484580546617506, + 0.00025448749074712395, + 0.0002580457949079573 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-rodas5p_dae]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "rodas5p_dae" + }, + "param": "jvp-tree16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00013629590393975376, + "max": 0.0001652458100579679, + "mean": 0.0001430258381878957, + "stddev": 6.51531657754571e-06, + "rounds": 20, + "median": 0.00014171040384098889, + "iqr": 3.906257916241884e-06, + "q1": 0.00013950004940852523, + "q3": 0.00014340630732476712, + "iqr_outliers": 2, + "stddev_outliers": 3, + "outliers": "3;2", + "ld15iqr": 0.00013629590393975376, + "hd15iqr": 0.00015402080025523902, + "ops": 6991.743678413416, + "total": 0.002860516763757914, + "data": [ + 0.0001652458100579679, + 0.00014629170764237642, + 0.00014021249953657388, + 0.00013837080914527177, + 0.00014175830874592067, + 0.00015402080025523902, + 0.00013629590393975376, + 0.00013926669489592314, + 0.00013907919637858867, + 0.00014286249643191695, + 0.0001461333013139665, + 0.0001430290983989835, + 0.00014347920659929514, + 0.0001398000051267445, + 0.0001371834077872336, + 0.00013973340392112732, + 0.0001433334080502391, + 0.0001416624989360571, + 0.0001424791058525443, + 0.00014027910074219108 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-sdae]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "sdae" + }, + "param": "jvp-tree16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0007793916040100158, + "max": 0.0015263749985024333, + "mean": 0.000878642704919912, + "stddev": 0.00015570380034115328, + "rounds": 20, + "median": 0.0008489103987812997, + "iqr": 4.61061950773002e-05, + "q1": 0.0008249771024566143, + "q3": 0.0008710832975339145, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.0007793916040100158, + "hd15iqr": 0.0015263749985024333, + "ops": 1138.119049302469, + "total": 0.01757285409839824, + "data": [ + 0.0008681250037625432, + 0.0008509083068929613, + 0.0008469125023111701, + 0.0008730332949198783, + 0.0008856207947246731, + 0.0008252709056250751, + 0.0008208292070776224, + 0.000868116703350097, + 0.0008871749974787235, + 0.0015263749985024333, + 0.0008477207971736789, + 0.0008069374947808683, + 0.0007851124973967671, + 0.0008246832992881536, + 0.0008691333001479507, + 0.0008501000003889204, + 0.0008348208968527616, + 0.0008904124959371984, + 0.0008321749977767467, + 0.0007793916040100158 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-rk4]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "rk4" + }, + "param": "vjp-scalar-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.137501284480095e-06, + "max": 6.941694300621748e-06, + "mean": 5.317488685250282e-06, + "stddev": 3.9139966169365493e-07, + "rounds": 20, + "median": 5.208293441683054e-06, + "iqr": 1.2505333870649389e-07, + "q1": 5.181197775527834e-06, + "q3": 5.306251114234328e-06, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 5.137501284480095e-06, + "hd15iqr": 6.941694300621748e-06, + "ops": 188058.69822982655, + "total": 0.00010634977370500564, + "data": [ + 6.941694300621748e-06, + 5.4790987633168696e-06, + 5.362497176975012e-06, + 5.324999801814556e-06, + 5.300005432218313e-06, + 5.312496796250343e-06, + 5.224999040365219e-06, + 5.229096859693527e-06, + 5.183403845876455e-06, + 5.208305083215237e-06, + 5.183299072086811e-06, + 5.170900840312242e-06, + 5.1790964789688585e-06, + 5.208293441683054e-06, + 5.183299072086811e-06, + 5.162495654076338e-06, + 5.18749002367258e-06, + 5.208293441683054e-06, + 5.16250729560852e-06, + 5.137501284480095e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-tsit5]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "tsit5" + }, + "param": "vjp-scalar-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.0895805209875107e-05, + "max": 3.6512501537799835e-05, + "mean": 2.459062961861491e-05, + "stddev": 3.976810813873483e-06, + "rounds": 20, + "median": 2.3431249428540468e-05, + "iqr": 8.936971426010152e-07, + "q1": 2.2822950268164276e-05, + "q3": 2.371664741076529e-05, + "iqr_outliers": 6, + "stddev_outliers": 2, + "outliers": "2;6", + "ld15iqr": 2.2458296734839676e-05, + "hd15iqr": 2.5787495542317628e-05, + "ops": 40665.89654308843, + "total": 0.0004918125923722982, + "data": [ + 3.457079874351621e-05, + 2.5787495542317628e-05, + 2.3691600654274224e-05, + 2.3641705047339202e-05, + 2.3458304349333047e-05, + 2.3454194888472557e-05, + 2.3741694167256356e-05, + 2.2799998987466097e-05, + 2.3391691502183676e-05, + 2.3408303968608378e-05, + 2.274170983582735e-05, + 2.3074995260685684e-05, + 2.7049996424466373e-05, + 3.6512501537799835e-05, + 2.3620901629328728e-05, + 2.2845901548862456e-05, + 2.2458296734839676e-05, + 2.0895805209875107e-05, + 2.1299999207258225e-05, + 2.3366697132587432e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-rodas5p]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "rodas5p" + }, + "param": "vjp-scalar-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.549999721348286e-05, + "max": 6.502090254798532e-05, + "mean": 4.870022647082806e-05, + "stddev": 4.277605308467188e-06, + "rounds": 20, + "median": 4.73500054795295e-05, + "iqr": 1.822959166020159e-06, + "q1": 4.6650000149384136e-05, + "q3": 4.8472959315404295e-05, + "iqr_outliers": 3, + "stddev_outliers": 1, + "outliers": "1;3", + "ld15iqr": 4.549999721348286e-05, + "hd15iqr": 5.2312505431473255e-05, + "ops": 20533.785414714865, + "total": 0.0009740045294165611, + "data": [ + 5.2312505431473255e-05, + 4.740420263260603e-05, + 4.792920080944896e-05, + 4.6366709284484386e-05, + 4.697920521721244e-05, + 5.2670901641249654e-05, + 4.809999372810125e-05, + 4.7220801934599874e-05, + 4.683749284595251e-05, + 4.762499593198299e-05, + 4.729580832645297e-05, + 4.671660717576742e-05, + 4.835420986637473e-05, + 4.549999721348286e-05, + 6.502090254798532e-05, + 5.0012499559670684e-05, + 4.658339312300086e-05, + 4.859170876443386e-05, + 4.640419501811266e-05, + 4.6079198364168404e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-em]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "em" + }, + "param": "vjp-scalar-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.845803439617157e-06, + "max": 6.008404307067395e-06, + "mean": 4.053542506881058e-06, + "stddev": 4.675586467815693e-07, + "rounds": 20, + "median": 3.927055513486266e-06, + "iqr": 9.57923475652923e-08, + "q1": 3.902107710018755e-06, + "q3": 3.997900057584047e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 3.845803439617157e-06, + "hd15iqr": 4.237506072968245e-06, + "ops": 246697.79539808896, + "total": 8.107085013762117e-05, + "data": [ + 6.008404307067395e-06, + 4.237506072968245e-06, + 4.045793320983648e-06, + 4.016596358269453e-06, + 3.98330157622695e-06, + 3.950006794184447e-06, + 3.925000783056021e-06, + 3.891706001013517e-06, + 3.929110243916512e-06, + 3.954197745770216e-06, + 3.912497777491808e-06, + 4.012498538941145e-06, + 3.929203376173973e-06, + 3.912497777491808e-06, + 3.90420900657773e-06, + 3.900006413459778e-06, + 3.895896952599287e-06, + 3.916607238352299e-06, + 3.900006413459778e-06, + 3.845803439617157e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-dae]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "dae" + }, + "param": "vjp-scalar-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.426659481599927e-05, + "max": 6.797079695388674e-05, + "mean": 5.601000040769577e-05, + "stddev": 2.9701059872847453e-06, + "rounds": 20, + "median": 5.510629271157086e-05, + "iqr": 1.1979602277278927e-06, + "q1": 5.480829859152436e-05, + "q3": 5.600625881925225e-05, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 5.426659481599927e-05, + "hd15iqr": 5.789579590782523e-05, + "ops": 17853.954520996576, + "total": 0.0011202000081539155, + "data": [ + 5.789579590782523e-05, + 5.4770801216363904e-05, + 5.450840108096599e-05, + 5.5666710250079635e-05, + 5.426659481599927e-05, + 5.4279190953820945e-05, + 5.459580570459366e-05, + 5.5029091890901326e-05, + 5.493341013789177e-05, + 5.517919780686498e-05, + 5.5104191415011885e-05, + 5.5108394008129835e-05, + 5.564580205827951e-05, + 5.634580738842487e-05, + 5.682500777766108e-05, + 5.5495905689895154e-05, + 6.797079695388674e-05, + 5.687500815838575e-05, + 5.485829897224903e-05, + 5.484579596668482e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-rodas5p_dae]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "rodas5p_dae" + }, + "param": "vjp-scalar-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.984999541193247e-05, + "max": 5.78833045437932e-05, + "mean": 5.148769472725689e-05, + "stddev": 1.9690210024732274e-06, + "rounds": 20, + "median": 5.080830305814743e-05, + "iqr": 1.1187978088855703e-06, + "q1": 5.042704869993031e-05, + "q3": 5.154584650881588e-05, + "iqr_outliers": 3, + "stddev_outliers": 3, + "outliers": "3;3", + "ld15iqr": 4.984999541193247e-05, + "hd15iqr": 5.360000068321824e-05, + "ops": 19422.116396883728, + "total": 0.0010297538945451378, + "data": [ + 5.360000068321824e-05, + 5.019590025767684e-05, + 5.045830039307475e-05, + 5.0308299250900745e-05, + 5.004159174859524e-05, + 5.080000264570117e-05, + 5.78833045437932e-05, + 4.984999541193247e-05, + 5.059579852968454e-05, + 5.086249439045787e-05, + 5.0708302296698093e-05, + 5.12166996486485e-05, + 5.064579891040921e-05, + 5.5108300875872375e-05, + 5.187499336898327e-05, + 5.2445800974965096e-05, + 5.091250641271472e-05, + 5.103340372443199e-05, + 5.039579700678587e-05, + 5.081660347059369e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-sdae]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "sdae" + }, + "param": "vjp-scalar-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00011761250207200646, + "max": 0.00013321249280124904, + "mean": 0.00012150750495493412, + "stddev": 3.968089696923272e-06, + "rounds": 20, + "median": 0.00011972914799116552, + "iqr": 5.602056626230484e-06, + "q1": 0.0001185417000669986, + "q3": 0.00012414375669322908, + "iqr_outliers": 1, + "stddev_outliers": 3, + "outliers": "3;1", + "ld15iqr": 0.00011761250207200646, + "hd15iqr": 0.00013321249280124904, + "ops": 8229.944318014675, + "total": 0.0024301500990986822, + "data": [ + 0.00013321249280124904, + 0.000125745905097574, + 0.00011847919085994363, + 0.00011956249363720417, + 0.00012455000542104243, + 0.00011928749736398459, + 0.00011830839794129133, + 0.00012373750796541573, + 0.00011961249401792884, + 0.00012052500387653709, + 0.00011761250207200646, + 0.00012244170065969228, + 0.00011866249842569232, + 0.00011775420280173421, + 0.00011860420927405358, + 0.00011800829088315368, + 0.00012512080138549209, + 0.00012309160083532334, + 0.00012598750181496142, + 0.0001198458019644022 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-rk4]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "rk4" + }, + "param": "vjp-vector16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.141599103808403e-06, + "max": 6.874999962747097e-06, + "mean": 5.3993792971596124e-06, + "stddev": 4.110169381355026e-07, + "rounds": 20, + "median": 5.239603342488409e-06, + "iqr": 1.6455305740237236e-07, + "q1": 5.2041956223547455e-06, + "q3": 5.368748679757118e-06, + "iqr_outliers": 3, + "stddev_outliers": 3, + "outliers": "3;3", + "ld15iqr": 5.141599103808403e-06, + "hd15iqr": 5.833304021507501e-06, + "ops": 185206.47373783466, + "total": 0.00010798758594319225, + "data": [ + 6.874999962747097e-06, + 5.441694520413876e-06, + 5.312496796250343e-06, + 5.304208025336266e-06, + 5.287502426654101e-06, + 5.270796827971936e-06, + 5.237490404397249e-06, + 5.2292016334831715e-06, + 5.237502045929432e-06, + 5.2417046390473844e-06, + 5.2292016334831715e-06, + 5.999999120831489e-06, + 5.833304021507501e-06, + 5.425000563263893e-06, + 5.141599103808403e-06, + 5.170796066522599e-06, + 5.183403845876455e-06, + 5.191692616790533e-06, + 5.158293060958386e-06, + 5.2166986279189585e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-tsit5]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "tsit5" + }, + "param": "vjp-vector16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.3041607346385717e-05, + "max": 3.5904208198189734e-05, + "mean": 2.548626041971147e-05, + "stddev": 2.8646919951626135e-06, + "rounds": 20, + "median": 2.4475000100210312e-05, + "iqr": 1.6270496416836977e-06, + "q1": 2.4177099112421276e-05, + "q3": 2.5804148754104973e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 2.3041607346385717e-05, + "hd15iqr": 2.9887503478676082e-05, + "ops": 39236.82735449821, + "total": 0.0005097252083942294, + "data": [ + 2.9887503478676082e-05, + 2.672920236364007e-05, + 3.5904208198189734e-05, + 2.5212496984750034e-05, + 2.4679210036993025e-05, + 2.3041607346385717e-05, + 2.424169797450304e-05, + 2.4779199156910182e-05, + 2.4216691963374613e-05, + 2.4429196491837503e-05, + 2.6441703084856272e-05, + 2.4520803708583117e-05, + 2.417500363662839e-05, + 2.417919458821416e-05, + 2.400419907644391e-05, + 2.4058402050286532e-05, + 2.389169530943036e-05, + 2.4320802185684443e-05, + 2.4616590235382318e-05, + 2.6395800523459913e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-rodas5p]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "rodas5p" + }, + "param": "vjp-vector16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0001238291966728866, + "max": 0.00013879580656066536, + "mean": 0.00012696311983745545, + "stddev": 3.5730782981747564e-06, + "rounds": 20, + "median": 0.00012572709820233286, + "iqr": 2.3916480131447153e-06, + "q1": 0.0001249500026460737, + "q3": 0.00012734165065921843, + "iqr_outliers": 2, + "stddev_outliers": 4, + "outliers": "4;2", + "ld15iqr": 0.0001238291966728866, + "hd15iqr": 0.00013167500728741288, + "ops": 7876.302986885091, + "total": 0.002539262396749109, + "data": [ + 0.00013879580656066536, + 0.00013167500728741288, + 0.0001306332997046411, + 0.00013068750267848374, + 0.0001259499927982688, + 0.0001257041934877634, + 0.0001238291966728866, + 0.00012561249313876034, + 0.00012627909891307353, + 0.00012596249580383302, + 0.00012407919857650995, + 0.00012747499858960508, + 0.000124362506903708, + 0.00012417499674484135, + 0.00012720830272883177, + 0.0001257500029169023, + 0.0001243292004801333, + 0.0001255374983884394, + 0.00012562499614432454, + 0.00012559160823002457 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-em]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "em" + }, + "param": "vjp-vector16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.4917029552161694e-06, + "max": 4.449998959898948e-06, + "mean": 3.6470883060246706e-06, + "stddev": 2.491832536311407e-07, + "rounds": 20, + "median": 3.5395962186157705e-06, + "iqr": 8.749775588512446e-08, + "q1": 3.5208475310355423e-06, + "q3": 3.6083452869206668e-06, + "iqr_outliers": 3, + "stddev_outliers": 3, + "outliers": "3;3", + "ld15iqr": 3.4917029552161694e-06, + "hd15iqr": 3.975001163780689e-06, + "ops": 274191.33184904995, + "total": 7.294176612049341e-05, + "data": [ + 4.449998959898948e-06, + 3.729201853275299e-06, + 4.120892845094204e-06, + 3.6166980862617494e-06, + 3.599992487579584e-06, + 3.5790959373116494e-06, + 3.975001163780689e-06, + 3.5249977372586727e-06, + 3.5375007428228857e-06, + 3.5792007111012934e-06, + 3.5333912819623945e-06, + 3.50830378010869e-06, + 3.5499921068549157e-06, + 3.4917029552161694e-06, + 3.5375007428228857e-06, + 3.5208999179303645e-06, + 3.5416916944086553e-06, + 3.516604192554951e-06, + 3.5207951441407205e-06, + 3.50830378010869e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-dae]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "dae" + }, + "param": "vjp-vector16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0005605374928563834, + "max": 0.0006809041951783001, + "mean": 0.0006018818786833435, + "stddev": 3.20554374584064e-05, + "rounds": 20, + "median": 0.000594237499171868, + "iqr": 2.7897895779460625e-05, + "q1": 0.0005814625008497387, + "q3": 0.0006093603966291993, + "iqr_outliers": 3, + "stddev_outliers": 4, + "outliers": "4;3", + "ld15iqr": 0.0005605374928563834, + "hd15iqr": 0.0006517915986478329, + "ops": 1661.4555702982223, + "total": 0.012037637573666871, + "data": [ + 0.0006049416959285736, + 0.0006071791984140873, + 0.0005944667034782469, + 0.0005954249994829297, + 0.0005716708954423666, + 0.000594008294865489, + 0.0005802375031635165, + 0.0005900084041059017, + 0.0005965165910311043, + 0.0005826874985359609, + 0.0005790833034552634, + 0.0005605374928563834, + 0.0006115415948443115, + 0.0005904042045585811, + 0.0006809041951783001, + 0.000671470898669213, + 0.0005700250039808452, + 0.0006157916970551014, + 0.0006517915986478329, + 0.000588945799972862 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-rodas5p_dae]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "rodas5p_dae" + }, + "param": "vjp-vector16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00021462499862536787, + "max": 0.0018447958980686962, + "mean": 0.0003341510565951466, + "stddev": 0.0003580074564723262, + "rounds": 20, + "median": 0.00023738960153423249, + "iqr": 7.506664842367173e-05, + "q1": 0.00022093335282988844, + "q3": 0.0002960000012535602, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.00021462499862536787, + "hd15iqr": 0.0018447958980686962, + "ops": 2992.658500588217, + "total": 0.006683021131902933, + "data": [ + 0.00023977080127224326, + 0.00023500840179622174, + 0.0003155166981741786, + 0.00029786250088363885, + 0.00027920000720769165, + 0.00028584999963641165, + 0.0003005750011652708, + 0.0002941375016234815, + 0.0003596832975745201, + 0.00022098750341683626, + 0.0018447958980686962, + 0.00024195000296458601, + 0.00022678750101476908, + 0.00023010000586509705, + 0.00022087920224294065, + 0.00021907089976593852, + 0.00021624170476570727, + 0.00021462499862536787, + 0.00021517500281333923, + 0.00022480420302599667 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-sdae]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "sdae" + }, + "param": "vjp-vector16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0005850167013704777, + "max": 0.0006439374992623925, + "mean": 0.0006037568801548332, + "stddev": 1.679948837035103e-05, + "rounds": 20, + "median": 0.0005990104051306843, + "iqr": 2.296874881722031e-05, + "q1": 0.0005886854487471282, + "q3": 0.0006116541975643486, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0005850167013704777, + "hd15iqr": 0.0006439374992623925, + "ops": 1656.2958251399973, + "total": 0.012075137603096664, + "data": [ + 0.0006107083056122065, + 0.0005959792062640191, + 0.0006122083985246717, + 0.0006439374992623925, + 0.000616650003939867, + 0.0005984916002489627, + 0.000605337496381253, + 0.0006428624968975782, + 0.0005993750062771141, + 0.0005986458039842546, + 0.0006110999966040254, + 0.0005881708930246532, + 0.0006131875095888972, + 0.0006041541928425431, + 0.0005872541922144591, + 0.0005892000044696033, + 0.0005850167013704777, + 0.0005877124960534275, + 0.0005983832990750671, + 0.0005867625004611909 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-rk4]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "rk4" + }, + "param": "vjp-tree16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.629200652241707e-06, + "max": 8.558295667171478e-06, + "mean": 6.815232918597758e-06, + "stddev": 4.218897812713224e-07, + "rounds": 20, + "median": 6.681302329525351e-06, + "iqr": 1.2499513104557957e-07, + "q1": 6.6666980274021626e-06, + "q3": 6.791693158447742e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 6.629200652241707e-06, + "hd15iqr": 7.033406291157007e-06, + "ops": 146730.1282207316, + "total": 0.00013630465837195517, + "data": [ + 8.558295667171478e-06, + 7.033406291157007e-06, + 6.8666995503008366e-06, + 6.8291905336081985e-06, + 6.799993570894003e-06, + 6.783392746001482e-06, + 6.741692777723074e-06, + 6.712495815008879e-06, + 6.683403626084328e-06, + 6.6792010329663755e-06, + 6.658292841166258e-06, + 6.64170365780592e-06, + 6.679189391434193e-06, + 6.670900620520115e-06, + 6.6666980274021626e-06, + 6.6666980274021626e-06, + 6.633298471570015e-06, + 6.7000044509768484e-06, + 6.629200652241707e-06, + 6.670900620520115e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-tsit5]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "tsit5" + }, + "param": "vjp-tree16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.642920007929206e-05, + "max": 3.512500552460551e-05, + "mean": 3.138688043691218e-05, + "stddev": 1.6843589978084696e-06, + "rounds": 20, + "median": 3.1637452775612476e-05, + "iqr": 1.3332988601177877e-06, + "q1": 3.081044997088611e-05, + "q3": 3.21437488310039e-05, + "iqr_outliers": 2, + "stddev_outliers": 3, + "outliers": "3;2", + "ld15iqr": 2.887919545173645e-05, + "hd15iqr": 3.512500552460551e-05, + "ops": 31860.445704695187, + "total": 0.0006277376087382436, + "data": [ + 3.512500552460551e-05, + 3.173330333083868e-05, + 3.269169246777892e-05, + 3.1541602220386265e-05, + 3.262909594923258e-05, + 3.056250279769302e-05, + 3.2020802609622476e-05, + 3.211669391021132e-05, + 3.104590578004718e-05, + 2.642920007929206e-05, + 3.080839524045586e-05, + 3.0491710640490054e-05, + 3.1749997287988665e-05, + 3.146249800920486e-05, + 3.1804200261831284e-05, + 2.887919545173645e-05, + 3.2591703347861764e-05, + 3.217080375179648e-05, + 3.081250470131636e-05, + 3.1070795375853774e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-rodas5p]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "rodas5p" + }, + "param": "vjp-tree16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00012876250548288226, + "max": 0.00014937079977244138, + "mean": 0.00013392416934948414, + "stddev": 5.301408953166215e-06, + "rounds": 20, + "median": 0.00013232914498075845, + "iqr": 3.8020545616746382e-06, + "q1": 0.000130806298693642, + "q3": 0.00013460835325531664, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 0.00012876250548288226, + "hd15iqr": 0.00014626659685745835, + "ops": 7466.912095533948, + "total": 0.002678483386989683, + "data": [ + 0.00014937079977244138, + 0.00013397500151768327, + 0.00013828329974785447, + 0.0001340000075288117, + 0.00013072079746052624, + 0.00013206249568611383, + 0.00013084589736536145, + 0.0001328582991845906, + 0.00014626659685745835, + 0.00013521669898182155, + 0.00013382500037550926, + 0.00013076670002192258, + 0.00012876250548288226, + 0.0001323582953773439, + 0.00013188340235501528, + 0.0001296791946515441, + 0.000129054207354784, + 0.00013098749332129955, + 0.00013526669936254622, + 0.00013229999458417297 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-em]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "em" + }, + "param": "vjp-tree16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.866602830588818e-06, + "max": 7.216609083116054e-06, + "mean": 5.841044476255775e-06, + "stddev": 6.685978455495518e-07, + "rounds": 20, + "median": 5.997944390401244e-06, + "iqr": 1.0979478247463707e-06, + "q1": 5.222897743806243e-06, + "q3": 6.3208455685526134e-06, + "iqr_outliers": 0, + "stddev_outliers": 8, + "outliers": "8;0", + "ld15iqr": 4.866602830588818e-06, + "hd15iqr": 7.216609083116054e-06, + "ops": 171202.25741561546, + "total": 0.0001168208895251155, + "data": [ + 6.520899478346109e-06, + 7.216609083116054e-06, + 6.612506695091724e-06, + 5.5167009122669695e-06, + 5.012506153434515e-06, + 6.312492769211531e-06, + 6.212503649294376e-06, + 6.166601087898016e-06, + 5.2916002459824085e-06, + 4.8958929255604746e-06, + 6.329198367893696e-06, + 5.5041979067027565e-06, + 5.154195241630077e-06, + 5.737494211643934e-06, + 5.908391904085874e-06, + 4.920794162899256e-06, + 6.0874968767166134e-06, + 6.1917002312839035e-06, + 4.866602830588818e-06, + 6.362504791468382e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-dae]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "dae" + }, + "param": "vjp-tree16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006099082995206118, + "max": 0.0016723333043046295, + "mean": 0.000733288544579409, + "stddev": 0.0002522805833136433, + "rounds": 20, + "median": 0.0006302020919974893, + "iqr": 0.0001245771010871977, + "q1": 0.000617106253048405, + "q3": 0.0007416833541356027, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 0.0006099082995206118, + "hd15iqr": 0.001098074996843934, + "ops": 1363.7196535963453, + "total": 0.014665770891588182, + "data": [ + 0.0007495167083106935, + 0.0006212749984115362, + 0.0006432999973185361, + 0.000619845895562321, + 0.0006099082995206118, + 0.0006179625052027404, + 0.0007427208009175956, + 0.0009044667007401585, + 0.0007406459073536098, + 0.0016723333043046295, + 0.001098074996843934, + 0.000642837502527982, + 0.0006295291939750313, + 0.0006308749900199473, + 0.0006160874967463314, + 0.0006139040924608707, + 0.0006162500008940697, + 0.000628445902839303, + 0.0006142457947134972, + 0.0006535458029247821 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-rodas5p_dae]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "rodas5p_dae" + }, + "param": "vjp-tree16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0002820833004079759, + "max": 0.0003742250031791627, + "mean": 0.00031981584324967114, + "stddev": 2.7114938950072324e-05, + "rounds": 20, + "median": 0.0003119917004369199, + "iqr": 2.8737506363540866e-05, + "q1": 0.0003036353969946504, + "q3": 0.00033237290335819125, + "iqr_outliers": 0, + "stddev_outliers": 6, + "outliers": "6;0", + "ld15iqr": 0.0002820833004079759, + "hd15iqr": 0.0003742250031791627, + "ops": 3126.799441325139, + "total": 0.006396316864993423, + "data": [ + 0.00032938329968601465, + 0.0003055374952964485, + 0.00030413749627768996, + 0.0003031332977116108, + 0.0003203667001798749, + 0.0003108917037025094, + 0.00031748750479891895, + 0.00033536250703036785, + 0.0003088166005909443, + 0.00029507089639082553, + 0.0003130916971713305, + 0.0002943458966910839, + 0.00030774169135838747, + 0.0002892624936066568, + 0.0002820833004079759, + 0.00031365419272333384, + 0.00037011669483035805, + 0.0003621708950959146, + 0.0003742250031791627, + 0.00035943749826401473 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-sdae]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "sdae" + }, + "param": "vjp-tree16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0008833584026433528, + "max": 0.000979720801115036, + "mean": 0.0009142706304555759, + "stddev": 1.9143437034935743e-05, + "rounds": 20, + "median": 0.000913035444682464, + "iqr": 1.4025100972503554e-05, + "q1": 0.0009043645521160215, + "q3": 0.000918389653088525, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.0008833584026433528, + "hd15iqr": 0.000979720801115036, + "ops": 1093.7680449187192, + "total": 0.01828541260911152, + "data": [ + 0.0009310208028182387, + 0.0009158041095361114, + 0.0009114959044381976, + 0.0009326208964921534, + 0.0009171333047561347, + 0.0009055708069354296, + 0.0008993582916446031, + 0.0009201499982737005, + 0.0009011875023134053, + 0.0009196209022775293, + 0.0009128666948527098, + 0.0009045750019140541, + 0.0008980833925306797, + 0.0008833584026433528, + 0.000979720801115036, + 0.0009132041945122182, + 0.0009050583001226186, + 0.0009132707957178355, + 0.0009171584038995207, + 0.0009041541023179888 + ], + "iterations": 10 + } + } + ], + "datetime": "2026-07-21T03:01:55.727098+00:00", + "version": "5.2.3" +} \ No newline at end of file diff --git a/benchmarks/results/2026-07-20_nlls-2.3.0_pre-proposed-changes.md b/benchmarks/results/2026-07-20_nlls-2.3.0_pre-proposed-changes.md new file mode 100644 index 0000000..3fb85ec --- /dev/null +++ b/benchmarks/results/2026-07-20_nlls-2.3.0_pre-proposed-changes.md @@ -0,0 +1,25 @@ +# Benchmark baseline: pre-proposed changes + +- Benchmark data: `2026-07-20_nlls-2.3.0_pre-proposed-changes.json` +- Git commit: `8e0a48e8a463a5f3f9521b9cdb26f1af05477fb4` (`main`, dirty) +- Tracked diff SHA-256: `836cc5fa480959c106b903a87797568db180591e0fa21f99f2941f2deaeff25f` +- Local candidate dependency: `nlls-gram 2.3.0` +- Python: `3.13.2` +- JAX: `0.10.2`, CPU backend +- Host: Apple M4 Max, arm64, macOS Darwin 25.5.0 +- pytest-benchmark: `5.2.3` + +## Validation + +```text +uv run pytest -q +247 passed, 11 skipped in 139.07s (0:02:19) + +JAX_PLATFORMS=cpu uv run --group benchmark pytest benchmarks \ + --benchmark-only \ + --benchmark-json=benchmarks/results/2026-07-20_nlls-2.3.0_pre-proposed-changes.json +115 passed in 47.95s +``` + +The tracked diff hash fingerprints the uncommitted `nlls-gram 2.3.0` dependency +update and square-system DAE JVP/VJP regression test included in this baseline. diff --git a/benchmarks/results/2026-07-20_nlls-2.4.0_explicit-direct-auto-final.json b/benchmarks/results/2026-07-20_nlls-2.4.0_explicit-direct-auto-final.json new file mode 100644 index 0000000..9f9fd0d --- /dev/null +++ b/benchmarks/results/2026-07-20_nlls-2.4.0_explicit-direct-auto-final.json @@ -0,0 +1,6558 @@ +{ + "machine_info": { + "node": "dh4.econ.ubc.ca", + "processor": "arm", + "machine": "arm64", + "python_compiler": "Clang 20.1.0 ", + "python_implementation": "CPython", + "python_implementation_version": "3.13.2", + "python_version": "3.13.2", + "python_build": [ + "main", + "Mar 17 2025 21:26:38" + ], + "release": "25.5.0", + "system": "Darwin", + "cpu": { + "python_version": "3.13.2.final.0 (64 bit)", + "cpuinfo_version": [ + 9, + 0, + 0 + ], + "cpuinfo_version_string": "9.0.0", + "arch": "ARM_8", + "bits": 64, + "count": 16, + "arch_string_raw": "arm64", + "brand_raw": "Apple M4 Max" + } + }, + "commit_info": { + "id": "8e0a48e8a463a5f3f9521b9cdb26f1af05477fb4", + "time": "2026-07-18T07:08:23-07:00", + "author_time": "2026-07-18T07:08:23-07:00", + "dirty": true, + "project": "tinydiffeq", + "branch": "main" + }, + "benchmarks": [ + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-8-8]", + "params": { + "transform": "primal", + "n_queries": 8, + "n_steps": 8 + }, + "param": "primal-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.520000122487545e-05, + "max": 6.461679004132748e-05, + "mean": 5.7815823238343e-05, + "stddev": 2.5893100432969465e-06, + "rounds": 10, + "median": 5.7379202917218206e-05, + "iqr": 1.6084173694252981e-06, + "q1": 5.64581947401166e-05, + "q3": 5.8066612109541896e-05, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 5.520000122487545e-05, + "hd15iqr": 6.461679004132748e-05, + "ops": 17296.303053189215, + "total": 0.00057815823238343, + "data": [ + 6.461679004132748e-05, + 5.756660830229521e-05, + 5.8691599406301975e-05, + 5.8066612109541896e-05, + 5.622501485049725e-05, + 5.720839835703373e-05, + 5.520000122487545e-05, + 5.7550007477402686e-05, + 5.64581947401166e-05, + 5.657500587403774e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-8-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-8-32]", + "params": { + "transform": "primal", + "n_queries": 8, + "n_steps": 32 + }, + "param": "primal-8-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00012583339121192695, + "max": 0.00013832501135766507, + "mean": 0.00013049336383119225, + "stddev": 3.555424676526622e-06, + "rounds": 10, + "median": 0.0001298250048421323, + "iqr": 3.641587682068348e-06, + "q1": 0.0001280750147998333, + "q3": 0.00013171660248190165, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.00012583339121192695, + "hd15iqr": 0.00013832501135766507, + "ops": 7663.224938347146, + "total": 0.0013049336383119225, + "data": [ + 0.00013832501135766507, + 0.00013171660248190165, + 0.00012949160300195216, + 0.00013015840668231248, + 0.00012583339121192695, + 0.00012933339457958936, + 0.0001280750147998333, + 0.00013400001917034387, + 0.000130441808141768, + 0.00012755838688462972 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-8-128]", + "params": { + "transform": "primal", + "n_queries": 8, + "n_steps": 128 + }, + "param": "primal-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00043667501304298637, + "max": 0.0004758833907544613, + "mean": 0.0004444800037890673, + "stddev": 1.138628764838399e-05, + "rounds": 10, + "median": 0.00044171240879222753, + "iqr": 5.425000563263882e-06, + "q1": 0.00043922499753534794, + "q3": 0.0004446499980986118, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.00043667501304298637, + "hd15iqr": 0.0004758833907544613, + "ops": 2249.8199952197638, + "total": 0.004444800037890673, + "data": [ + 0.0004758833907544613, + 0.0004446499980986118, + 0.00044179160613566637, + 0.00043667501304298637, + 0.0004449918167665601, + 0.000437608384527266, + 0.00044309161603450775, + 0.00044163321144878863, + 0.00043925000354647634, + 0.00043922499753534794 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-32-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-32-8]", + "params": { + "transform": "primal", + "n_queries": 32, + "n_steps": 8 + }, + "param": "primal-32-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.5158394388854504e-05, + "max": 6.343340501189232e-05, + "mean": 5.722249858081341e-05, + "stddev": 2.406192482565089e-06, + "rounds": 10, + "median": 5.6112499441951515e-05, + "iqr": 2.2001797333359745e-06, + "q1": 5.5941613391041754e-05, + "q3": 5.814179312437773e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 5.5158394388854504e-05, + "hd15iqr": 6.343340501189232e-05, + "ops": 17475.64375553671, + "total": 0.0005722249858081341, + "data": [ + 6.343340501189232e-05, + 5.8183190412819384e-05, + 5.729999393224716e-05, + 5.814179312437773e-05, + 5.6108389981091025e-05, + 5.5158394388854504e-05, + 5.587500054389238e-05, + 5.596659611910582e-05, + 5.5941613391041754e-05, + 5.6116608902812004e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-32-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-32-32]", + "params": { + "transform": "primal", + "n_queries": 32, + "n_steps": 32 + }, + "param": "primal-32-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00012511680833995342, + "max": 0.0001331331906840205, + "mean": 0.00012749836314469577, + "stddev": 2.626956416522605e-06, + "rounds": 10, + "median": 0.0001266375067643821, + "iqr": 3.741588443517685e-06, + "q1": 0.0001255418173968792, + "q3": 0.00012928340584039688, + "iqr_outliers": 0, + "stddev_outliers": 2, + "outliers": "2;0", + "ld15iqr": 0.00012511680833995342, + "hd15iqr": 0.0001331331906840205, + "ops": 7843.237947024596, + "total": 0.0012749836314469576, + "data": [ + 0.0001331331906840205, + 0.00013035000301897526, + 0.00012928340584039688, + 0.00012568337842822075, + 0.00012511680833995342, + 0.0001255418173968792, + 0.0001272666035220027, + 0.00012674159370362759, + 0.00012653341982513667, + 0.00012533341068774462 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-32-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-32-128]", + "params": { + "transform": "primal", + "n_queries": 32, + "n_steps": 128 + }, + "param": "primal-32-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.000439216592349112, + "max": 0.0004678832134231925, + "mean": 0.00044553332030773164, + "stddev": 8.76805771142747e-06, + "rounds": 10, + "median": 0.0004421500954777003, + "iqr": 3.916793502867222e-06, + "q1": 0.0004407081985846162, + "q3": 0.0004446249920874834, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 0.000439216592349112, + "hd15iqr": 0.000453049992211163, + "ops": 2244.501038237266, + "total": 0.004455333203077316, + "data": [ + 0.0004678832134231925, + 0.0004446249920874834, + 0.000439216592349112, + 0.0004440168151631951, + 0.000453049992211163, + 0.0004407081985846162, + 0.00044134161435067655, + 0.000440191593952477, + 0.00044269179925322534, + 0.00044160839170217516 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-128-8]", + "params": { + "transform": "primal", + "n_queries": 128, + "n_steps": 8 + }, + "param": "primal-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.7283416390419005e-05, + "max": 6.546659860759974e-05, + "mean": 5.902748322114349e-05, + "stddev": 2.428797386081096e-06, + "rounds": 10, + "median": 5.8033398818224666e-05, + "iqr": 1.800013706088066e-06, + "q1": 5.7691591791808605e-05, + "q3": 5.949160549789667e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 5.7283416390419005e-05, + "hd15iqr": 6.546659860759974e-05, + "ops": 16941.261009783368, + "total": 0.0005902748322114349, + "data": [ + 6.546659860759974e-05, + 5.949160549789667e-05, + 5.8074994012713435e-05, + 6.014998070895672e-05, + 5.7683209888637066e-05, + 5.856661591678858e-05, + 5.79918036237359e-05, + 5.787501577287912e-05, + 5.7691591791808605e-05, + 5.7283416390419005e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-128-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-128-32]", + "params": { + "transform": "primal", + "n_queries": 128, + "n_steps": 32 + }, + "param": "primal-128-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00012971661053597927, + "max": 0.00013896659947931767, + "mean": 0.00013214080128818751, + "stddev": 2.6685807289043188e-06, + "rounds": 10, + "median": 0.00013157499488443137, + "iqr": 1.7834128811955344e-06, + "q1": 0.00013031659182161093, + "q3": 0.00013210000470280646, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.00012971661053597927, + "hd15iqr": 0.00013896659947931767, + "ops": 7567.6853042467, + "total": 0.001321408012881875, + "data": [ + 0.00013896659947931767, + 0.00013389161322265863, + 0.00013177499640733005, + 0.00013210000470280646, + 0.00013031659182161093, + 0.00013180838432163, + 0.0001313749933615327, + 0.00012971661053597927, + 0.000131183210760355, + 0.00013027500826865435 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-128-128]", + "params": { + "transform": "primal", + "n_queries": 128, + "n_steps": 128 + }, + "param": "primal-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0004363666055724025, + "max": 0.0004667666042223573, + "mean": 0.00044493915745988486, + "stddev": 9.53822790060217e-06, + "rounds": 10, + "median": 0.00044009999837726357, + "iqr": 1.1300016194581975e-05, + "q1": 0.0004389749839901924, + "q3": 0.0004502750001847744, + "iqr_outliers": 0, + "stddev_outliers": 1, + "outliers": "1;0", + "ld15iqr": 0.0004363666055724025, + "hd15iqr": 0.0004667666042223573, + "ops": 2247.498300012308, + "total": 0.004449391574598849, + "data": [ + 0.0004667666042223573, + 0.0004544083960354328, + 0.00044413318391889334, + 0.0004502750001847744, + 0.0004389749839901924, + 0.0004402667982503772, + 0.00043880841694772245, + 0.0004363666055724025, + 0.0004399331985041499, + 0.00043945838697254656 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-8-8]", + "params": { + "transform": "jvp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "jvp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.502498872578144e-05, + "max": 7.596679497510195e-05, + "mean": 6.754417903721332e-05, + "stddev": 3.1285944918737962e-06, + "rounds": 10, + "median": 6.689579458907247e-05, + "iqr": 1.9168015569448552e-06, + "q1": 6.585819646716118e-05, + "q3": 6.777499802410603e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 6.502498872578144e-05, + "hd15iqr": 7.596679497510195e-05, + "ops": 14805.124797638773, + "total": 0.0006754417903721332, + "data": [ + 7.596679497510195e-05, + 6.6874991171062e-05, + 6.691659800708293e-05, + 6.613340228796005e-05, + 6.53750030323863e-05, + 6.502498872578144e-05, + 6.777499802410603e-05, + 6.585819646716118e-05, + 6.813341751694679e-05, + 6.738340016454458e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-8-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-8-32]", + "params": { + "transform": "jvp", + "n_queries": 8, + "n_steps": 32 + }, + "param": "jvp-8-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00018730841111391783, + "max": 0.00019816679414361716, + "mean": 0.00018998667597770692, + "stddev": 3.113646416902973e-06, + "rounds": 10, + "median": 0.00018944579642266035, + "iqr": 2.341601066291327e-06, + "q1": 0.0001880583819001913, + "q3": 0.00019039998296648263, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.00018730841111391783, + "hd15iqr": 0.00019816679414361716, + "ops": 5263.52700711149, + "total": 0.001899866759777069, + "data": [ + 0.00019816679414361716, + 0.00018930819351226091, + 0.00018730841111391783, + 0.00019117498304694892, + 0.00019039998296648263, + 0.0001880583819001913, + 0.0001895833993330598, + 0.00018964160699397326, + 0.00018789181485772132, + 0.00018833319190889597 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-8-128]", + "params": { + "transform": "jvp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "jvp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006889418000355363, + "max": 0.0007096749963238835, + "mean": 0.0007008883403614163, + "stddev": 6.796897449055916e-06, + "rounds": 10, + "median": 0.0007009459077380598, + "iqr": 9.566615335643248e-06, + "q1": 0.0006965583888813853, + "q3": 0.0007061250042170286, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.0006889418000355363, + "hd15iqr": 0.0007096749963238835, + "ops": 1426.760786867057, + "total": 0.007008883403614163, + "data": [ + 0.0007061250042170286, + 0.0007096749963238835, + 0.0007095081964507699, + 0.0006965583888813853, + 0.0007035834016278387, + 0.0006977415876463055, + 0.000704016606323421, + 0.0006889418000355363, + 0.0006983084138482809, + 0.0006944250082597137 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-32-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-32-8]", + "params": { + "transform": "jvp", + "n_queries": 32, + "n_steps": 8 + }, + "param": "jvp-32-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.728321313858032e-05, + "max": 7.760000880807638e-05, + "mean": 7.099168375134469e-05, + "stddev": 3.480623037787905e-06, + "rounds": 10, + "median": 6.964580388739705e-05, + "iqr": 6.175017915666103e-06, + "q1": 6.835840176790952e-05, + "q3": 7.453341968357562e-05, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 6.728321313858032e-05, + "hd15iqr": 7.760000880807638e-05, + "ops": 14086.156957519106, + "total": 0.0007099168375134468, + "data": [ + 7.485838141292333e-05, + 6.963340565562249e-05, + 6.853339727967978e-05, + 6.728321313858032e-05, + 7.120000664144755e-05, + 6.965820211917162e-05, + 7.760000880807638e-05, + 7.453341968357562e-05, + 6.835840176790952e-05, + 6.825840100646018e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-32-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-32-32]", + "params": { + "transform": "jvp", + "n_queries": 32, + "n_steps": 32 + }, + "param": "jvp-32-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00018384999129921197, + "max": 0.00019429160747677087, + "mean": 0.00018643164075911046, + "stddev": 3.1032305255975155e-06, + "rounds": 10, + "median": 0.0001858833129517734, + "iqr": 2.5500077754259e-06, + "q1": 0.0001842249883338809, + "q3": 0.0001867749961093068, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.00018384999129921197, + "hd15iqr": 0.00019429160747677087, + "ops": 5363.896363987412, + "total": 0.0018643164075911045, + "data": [ + 0.00019429160747677087, + 0.00018629999831318856, + 0.0001842249883338809, + 0.00018596660811454058, + 0.0001867749961093068, + 0.0001847999868914485, + 0.00018580001778900623, + 0.00018394161015748977, + 0.0001883666031062603, + 0.00018384999129921197 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-32-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-32-128]", + "params": { + "transform": "jvp", + "n_queries": 32, + "n_steps": 128 + }, + "param": "jvp-32-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006747832056134939, + "max": 0.0006993999937549234, + "mean": 0.0006832417007535696, + "stddev": 8.463144270896636e-06, + "rounds": 10, + "median": 0.0006794583983719348, + "iqr": 6.008218042552493e-06, + "q1": 0.0006783417891710996, + "q3": 0.0006843500072136521, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 0.0006747832056134939, + "hd15iqr": 0.0006976000033318997, + "ops": 1463.6108991840915, + "total": 0.006832417007535696, + "data": [ + 0.0006976000033318997, + 0.0006993999937549234, + 0.0006799750030040741, + 0.0006789417937397956, + 0.0006826333934441209, + 0.0006747832056134939, + 0.0006784584140405059, + 0.0006783417891710996, + 0.0006843500072136521, + 0.0006779334042221307 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-128-8]", + "params": { + "transform": "jvp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "jvp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.731660105288028e-05, + "max": 8.047500159591436e-05, + "mean": 7.212832337245345e-05, + "stddev": 4.5797643085964004e-06, + "rounds": 10, + "median": 7.09167099557817e-05, + "iqr": 5.374988541007034e-06, + "q1": 6.869160570204258e-05, + "q3": 7.406659424304962e-05, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 6.731660105288028e-05, + "hd15iqr": 8.047500159591436e-05, + "ops": 13864.179191248335, + "total": 0.0007212832337245345, + "data": [ + 7.925000973045826e-05, + 6.929999217391014e-05, + 6.869160570204258e-05, + 6.807500030845404e-05, + 6.731660105288028e-05, + 6.985000800341368e-05, + 7.227500900626182e-05, + 8.047500159591436e-05, + 7.406659424304962e-05, + 7.198341190814972e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-128-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-128-32]", + "params": { + "transform": "jvp", + "n_queries": 128, + "n_steps": 32 + }, + "param": "jvp-128-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00018777500372380018, + "max": 0.00020045000128448008, + "mean": 0.00019126166123896836, + "stddev": 3.7076430992572253e-06, + "rounds": 10, + "median": 0.00019034160068258642, + "iqr": 2.075009979307646e-06, + "q1": 0.00018889999482780696, + "q3": 0.0001909750048071146, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 0.00018777500372380018, + "hd15iqr": 0.00019453319255262612, + "ops": 5228.439372125752, + "total": 0.0019126166123896837, + "data": [ + 0.00020045000128448008, + 0.00019453319255262612, + 0.0001909750048071146, + 0.00019028319511562585, + 0.00019088340923190117, + 0.0001897083828225732, + 0.00018889999482780696, + 0.00019040000624954702, + 0.00018777500372380018, + 0.00018870842177420855 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-128-128]", + "params": { + "transform": "jvp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "jvp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006797584006562829, + "max": 0.0007115083979442715, + "mean": 0.0006876125209964812, + "stddev": 9.404375597485012e-06, + "rounds": 10, + "median": 0.0006840042071416975, + "iqr": 8.70842486619958e-06, + "q1": 0.0006819415837526321, + "q3": 0.0006906500086188317, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.0006797584006562829, + "hd15iqr": 0.0007115083979442715, + "ops": 1454.3074325505447, + "total": 0.0068761252099648115, + "data": [ + 0.0007115083979442715, + 0.000691350013948977, + 0.0006906500086188317, + 0.0006844918010756373, + 0.0006899081869050861, + 0.0006797584006562829, + 0.0006819415837526321, + 0.0006835166132077575, + 0.000680658407509327, + 0.0006823417963460088 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-8-8]", + "params": { + "transform": "vjp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "vjp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.439181208610535e-05, + "max": 8.772499859333038e-05, + "mean": 7.894170004874468e-05, + "stddev": 4.768402924730018e-06, + "rounds": 10, + "median": 7.687920005992055e-05, + "iqr": 4.216586239635939e-06, + "q1": 7.603340782225132e-05, + "q3": 8.024999406188726e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 7.439181208610535e-05, + "hd15iqr": 8.714180439710617e-05, + "ops": 12667.576190815793, + "total": 0.0007894170004874468, + "data": [ + 8.714180439710617e-05, + 8.772499859333038e-05, + 8.024999406188726e-05, + 7.650000043213367e-05, + 7.849999237805605e-05, + 7.667499594390392e-05, + 7.708340417593718e-05, + 7.603340782225132e-05, + 7.511659059673547e-05, + 7.439181208610535e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-8-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-8-32]", + "params": { + "transform": "vjp", + "n_queries": 8, + "n_steps": 32 + }, + "param": "vjp-8-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00021531661041080953, + "max": 0.00023463319521397353, + "mean": 0.00022191086318343878, + "stddev": 5.952087398338494e-06, + "rounds": 10, + "median": 0.0002205875003710389, + "iqr": 3.3000018447637612e-06, + "q1": 0.00021830841433256865, + "q3": 0.0002216084161773324, + "iqr_outliers": 2, + "stddev_outliers": 3, + "outliers": "3;2", + "ld15iqr": 0.00021531661041080953, + "hd15iqr": 0.00023011679295450448, + "ops": 4506.313866993376, + "total": 0.0022191086318343878, + "data": [ + 0.00023011679295450448, + 0.00023463319521397353, + 0.00022157500497996808, + 0.0002198082162067294, + 0.00021531661041080953, + 0.0002213667845353484, + 0.0002176668029278517, + 0.0002216084161773324, + 0.00021830841433256865, + 0.00021870839409530163 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-8-128]", + "params": { + "transform": "vjp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "vjp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0007995584048330784, + "max": 0.0008415250107645988, + "mean": 0.0008100317185744644, + "stddev": 1.2151193924274665e-05, + "rounds": 10, + "median": 0.0008091417956165969, + "iqr": 1.0875007137656168e-05, + "q1": 0.0008013333892449737, + "q3": 0.0008122083963826299, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.0007995584048330784, + "hd15iqr": 0.0008415250107645988, + "ops": 1234.519559011654, + "total": 0.008100317185744643, + "data": [ + 0.0008415250107645988, + 0.0008094917982816696, + 0.0008122083963826299, + 0.0008026749826967716, + 0.0008009667973965407, + 0.0008128750137984753, + 0.000810891599394381, + 0.0008087917929515242, + 0.0008013333892449737, + 0.0007995584048330784 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-32-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-32-8]", + "params": { + "transform": "vjp", + "n_queries": 32, + "n_steps": 8 + }, + "param": "vjp-32-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.63084040954709e-05, + "max": 8.670000825077296e-05, + "mean": 8.027419913560152e-05, + "stddev": 3.952006797232338e-06, + "rounds": 10, + "median": 7.919579511508345e-05, + "iqr": 7.433420978486549e-06, + "q1": 7.688337936997413e-05, + "q3": 8.431680034846068e-05, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 7.63084040954709e-05, + "hd15iqr": 8.670000825077296e-05, + "ops": 12457.302729495574, + "total": 0.0008027419913560152, + "data": [ + 8.670000825077296e-05, + 8.431680034846068e-05, + 8.559999987483025e-05, + 8.08000098913908e-05, + 7.848339155316352e-05, + 7.740000728517771e-05, + 7.688337936997413e-05, + 7.634179200977087e-05, + 7.63084040954709e-05, + 7.990819867700338e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-32-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-32-32]", + "params": { + "transform": "vjp", + "n_queries": 32, + "n_steps": 32 + }, + "param": "vjp-32-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0002176831942051649, + "max": 0.00023257499560713768, + "mean": 0.0002219208190217614, + "stddev": 4.535740094248486e-06, + "rounds": 10, + "median": 0.00021977090509608387, + "iqr": 2.725212834775437e-06, + "q1": 0.00021944160107523203, + "q3": 0.00022216681391000747, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 0.0002176831942051649, + "hd15iqr": 0.0002270833821967244, + "ops": 4506.111704201761, + "total": 0.002219208190217614, + "data": [ + 0.00023257499560713768, + 0.0002270833821967244, + 0.00021944160107523203, + 0.0002197250025346875, + 0.0002176831942051649, + 0.00022216681391000747, + 0.00021981680765748024, + 0.0002216581953689456, + 0.0002197165973484516, + 0.0002193416003137827 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-32-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-32-128]", + "params": { + "transform": "vjp", + "n_queries": 32, + "n_steps": 128 + }, + "param": "vjp-32-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0007948749931529165, + "max": 0.0008315665880218148, + "mean": 0.0008059708378277719, + "stddev": 1.1133440045756593e-05, + "rounds": 10, + "median": 0.0008033958030864597, + "iqr": 1.0941596701741284e-05, + "q1": 0.0007981667993590235, + "q3": 0.0008091083960607648, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.0007948749931529165, + "hd15iqr": 0.0008315665880218148, + "ops": 1240.7396807248879, + "total": 0.008059708378277719, + "data": [ + 0.0008315665880218148, + 0.000805583200417459, + 0.0008091083960607648, + 0.0008167834021151066, + 0.0008034582016989589, + 0.0008017417974770069, + 0.0007981667993590235, + 0.0008033334044739604, + 0.0007948749931529165, + 0.0007950915955007076 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-128-8]", + "params": { + "transform": "vjp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "vjp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 8.428338915109635e-05, + "max": 9.68417851254344e-05, + "mean": 8.771669818088412e-05, + "stddev": 4.338861931356354e-06, + "rounds": 10, + "median": 8.581669535487891e-05, + "iqr": 3.400025889277458e-06, + "q1": 8.499999530613423e-05, + "q3": 8.840002119541168e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 8.428338915109635e-05, + "hd15iqr": 9.429999627172947e-05, + "ops": 11400.337914428332, + "total": 0.0008771669818088412, + "data": [ + 9.429999627172947e-05, + 8.499999530613423e-05, + 8.428338915109635e-05, + 9.68417851254344e-05, + 8.674180135130883e-05, + 8.505000732839108e-05, + 8.491659536957741e-05, + 8.56333877891302e-05, + 8.840002119541168e-05, + 8.60000029206276e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-128-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-128-32]", + "params": { + "transform": "vjp", + "n_queries": 128, + "n_steps": 32 + }, + "param": "vjp-128-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00021403338760137559, + "max": 0.00023371658753603696, + "mean": 0.00022244999650865792, + "stddev": 6.827328416771707e-06, + "rounds": 10, + "median": 0.00022118749329820276, + "iqr": 9.408430196344858e-06, + "q1": 0.00021704998798668384, + "q3": 0.0002264584181830287, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.00021403338760137559, + "hd15iqr": 0.00023371658753603696, + "ops": 4495.392293526421, + "total": 0.0022244999650865792, + "data": [ + 0.0002264584181830287, + 0.00023350839037448168, + 0.00022072498686611652, + 0.00023371658753603696, + 0.00022164999973028898, + 0.0002163832075893879, + 0.00021704998798668384, + 0.00022223340347409247, + 0.00021874159574508667, + 0.00021403338760137559 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-128-128]", + "params": { + "transform": "vjp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "vjp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0008024668088182807, + "max": 0.0008488000137731432, + "mean": 0.0008170375623740256, + "stddev": 1.2424704661180369e-05, + "rounds": 10, + "median": 0.0008141375961713493, + "iqr": 5.9581827372311895e-06, + "q1": 0.0008107168134301901, + "q3": 0.0008166749961674213, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.0008024668088182807, + "hd15iqr": 0.0008488000137731432, + "ops": 1223.9339365185972, + "total": 0.008170375623740256, + "data": [ + 0.0008488000137731432, + 0.0008166749961674213, + 0.000824166601523757, + 0.0008133167866617441, + 0.0008106000022962689, + 0.0008130918024107814, + 0.0008155833929777145, + 0.0008149584056809545, + 0.0008107168134301901, + 0.0008024668088182807 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-primal-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-primal-8-8]", + "params": { + "explicit_no_aux": false, + "transform": "primal", + "n_queries": 8, + "n_steps": 8 + }, + "param": "auto-primal-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.7733401879668234e-05, + "max": 5.6733191013336184e-05, + "mean": 5.0043317023664714e-05, + "stddev": 2.4849798503079717e-06, + "rounds": 10, + "median": 4.960409132763744e-05, + "iqr": 1.3499986380338696e-06, + "q1": 4.889999981969595e-05, + "q3": 5.024999845772982e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 4.7733401879668234e-05, + "hd15iqr": 5.6733191013336184e-05, + "ops": 19982.68818845712, + "total": 0.0005004331702366472, + "data": [ + 5.6733191013336184e-05, + 4.964158870279789e-05, + 5.024999845772982e-05, + 5.0316588021814825e-05, + 4.898339975625277e-05, + 4.9850018694996837e-05, + 4.956659395247698e-05, + 4.7733401879668234e-05, + 4.845838993787766e-05, + 4.889999981969595e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-primal-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-primal-8-128]", + "params": { + "explicit_no_aux": false, + "transform": "primal", + "n_queries": 8, + "n_steps": 128 + }, + "param": "auto-primal-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0003670334117487073, + "max": 0.0003821332007646561, + "mean": 0.0003728041402064264, + "stddev": 4.646064188965006e-06, + "rounds": 10, + "median": 0.00037123338552191854, + "iqr": 1.4833873137831905e-06, + "q1": 0.0003707166062667966, + "q3": 0.00037219999358057977, + "iqr_outliers": 3, + "stddev_outliers": 3, + "outliers": "3;3", + "ld15iqr": 0.00037054161075502636, + "hd15iqr": 0.00038018319755792616, + "ops": 2682.3736438288674, + "total": 0.003728041402064264, + "data": [ + 0.0003821332007646561, + 0.00038018319755792616, + 0.00037219999358057977, + 0.0003670334117487073, + 0.0003707166062667966, + 0.00037054161075502636, + 0.0003708665957674384, + 0.0003719000145792961, + 0.0003714999882504344, + 0.00037096678279340266 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-primal-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-primal-128-8]", + "params": { + "explicit_no_aux": false, + "transform": "primal", + "n_queries": 128, + "n_steps": 8 + }, + "param": "auto-primal-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.8333406448364256e-05, + "max": 5.6950002908706664e-05, + "mean": 5.0867525860667225e-05, + "stddev": 2.680528193531249e-06, + "rounds": 10, + "median": 4.980000667273999e-05, + "iqr": 1.4666002243757248e-06, + "q1": 4.948340356349945e-05, + "q3": 5.095000378787518e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 4.8333406448364256e-05, + "hd15iqr": 5.437501240521669e-05, + "ops": 19658.907782130587, + "total": 0.0005086752586066723, + "data": [ + 5.6950002908706664e-05, + 5.437501240521669e-05, + 5.011679604649544e-05, + 5.095000378787518e-05, + 4.9641611985862256e-05, + 4.948340356349945e-05, + 4.9525010399520394e-05, + 4.9341609701514245e-05, + 4.8333406448364256e-05, + 4.995840135961771e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-primal-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-primal-128-128]", + "params": { + "explicit_no_aux": false, + "transform": "primal", + "n_queries": 128, + "n_steps": 128 + }, + "param": "auto-primal-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0003576250048354268, + "max": 0.00038224998861551284, + "mean": 0.0003658808022737503, + "stddev": 6.943437658594844e-06, + "rounds": 10, + "median": 0.0003640084061771631, + "iqr": 4.908419214189053e-06, + "q1": 0.00036195819266140463, + "q3": 0.0003668666118755937, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.0003576250048354268, + "hd15iqr": 0.00038224998861551284, + "ops": 2733.130554501749, + "total": 0.0036588080227375032, + "data": [ + 0.00038224998861551284, + 0.0003668666118755937, + 0.00036195819266140463, + 0.00036294180899858474, + 0.000372074986808002, + 0.00036640821490436793, + 0.0003650750033557415, + 0.00036144161131232975, + 0.0003621665993705392, + 0.0003576250048354268 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-jvp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-jvp-8-8]", + "params": { + "explicit_no_aux": false, + "transform": "jvp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "auto-jvp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.809159483760595e-05, + "max": 6.817500106990338e-05, + "mean": 6.0021658428013324e-05, + "stddev": 2.9652353217705375e-06, + "rounds": 10, + "median": 5.940418923273682e-05, + "iqr": 1.2001954019069645e-06, + "q1": 5.845820996910334e-05, + "q3": 5.96584053710103e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 5.809159483760595e-05, + "hd15iqr": 6.817500106990338e-05, + "ops": 16660.652607580727, + "total": 0.0006002165842801333, + "data": [ + 6.817500106990338e-05, + 5.96584053710103e-05, + 5.947500467300415e-05, + 6.0616596601903436e-05, + 5.8691599406301975e-05, + 5.944177974015474e-05, + 5.8241793885827066e-05, + 5.936659872531891e-05, + 5.845820996910334e-05, + 5.809159483760595e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-jvp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-jvp-8-128]", + "params": { + "explicit_no_aux": false, + "transform": "jvp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "auto-jvp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0005845666164532304, + "max": 0.0005983500042930246, + "mean": 0.0005872208415530622, + "stddev": 4.098994658329124e-06, + "rounds": 10, + "median": 0.0005855583003722131, + "iqr": 2.733408473432151e-06, + "q1": 0.0005849333945661783, + "q3": 0.0005876668030396104, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.0005845666164532304, + "hd15iqr": 0.0005983500042930246, + "ops": 1702.9368326833105, + "total": 0.005872208415530622, + "data": [ + 0.0005983500042930246, + 0.0005874582100659608, + 0.0005878583993762732, + 0.0005854833871126175, + 0.0005845666164532304, + 0.0005849333945661783, + 0.0005856332136318088, + 0.0005853833863511682, + 0.0005848750006407499, + 0.0005876668030396104 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-jvp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-jvp-128-8]", + "params": { + "explicit_no_aux": false, + "transform": "jvp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "auto-jvp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.9916614554822444e-05, + "max": 6.962500046938657e-05, + "mean": 6.274500396102667e-05, + "stddev": 2.8721178298612845e-06, + "rounds": 10, + "median": 6.18541962467134e-05, + "iqr": 1.2418255209922736e-06, + "q1": 6.129159592092038e-05, + "q3": 6.253342144191265e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 5.9916614554822444e-05, + "hd15iqr": 6.583340000361204e-05, + "ops": 15937.523896263334, + "total": 0.0006274500396102667, + "data": [ + 6.962500046938657e-05, + 6.253342144191265e-05, + 6.129159592092038e-05, + 6.137501914054156e-05, + 6.229998543858529e-05, + 6.583340000361204e-05, + 6.195839960128069e-05, + 6.174999289214611e-05, + 6.0866610147058965e-05, + 5.9916614554822444e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-jvp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-jvp-128-128]", + "params": { + "explicit_no_aux": false, + "transform": "jvp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "auto-jvp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.000575641798786819, + "max": 0.0006037415936589241, + "mean": 0.0005830274801701307, + "stddev": 8.306334253863879e-06, + "rounds": 10, + "median": 0.0005813000025227666, + "iqr": 7.833191193640297e-06, + "q1": 0.0005764500005170703, + "q3": 0.0005842831917107106, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.000575641798786819, + "hd15iqr": 0.0006037415936589241, + "ops": 1715.1850195949498, + "total": 0.005830274801701308, + "data": [ + 0.0006037415936589241, + 0.0005877416115254164, + 0.0005842831917107106, + 0.000584191596135497, + 0.0005799166159704327, + 0.0005826833890751004, + 0.0005762750050053, + 0.000575641798786819, + 0.0005793499993160367, + 0.0005764500005170703 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-vjp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-vjp-8-8]", + "params": { + "explicit_no_aux": false, + "transform": "vjp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "auto-vjp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.289999000728131e-05, + "max": 7.607501465827227e-05, + "mean": 6.678082048892975e-05, + "stddev": 4.109989386614587e-06, + "rounds": 10, + "median": 6.479569710791112e-05, + "iqr": 3.3668009564280483e-06, + "q1": 6.431660149246455e-05, + "q3": 6.76834024488926e-05, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 6.289999000728131e-05, + "hd15iqr": 7.607501465827227e-05, + "ops": 14974.35929475844, + "total": 0.0006678082048892975, + "data": [ + 7.142499089241028e-05, + 6.463320460170507e-05, + 7.607501465827227e-05, + 6.747501902282238e-05, + 6.76834024488926e-05, + 6.395839154720307e-05, + 6.438340060412883e-05, + 6.431660149246455e-05, + 6.495818961411714e-05, + 6.289999000728131e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-vjp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-vjp-8-128]", + "params": { + "explicit_no_aux": false, + "transform": "vjp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "auto-vjp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006496418034657836, + "max": 0.0006868249969556927, + "mean": 0.0006606008624657989, + "stddev": 1.0351025395354032e-05, + "rounds": 10, + "median": 0.0006583709036931396, + "iqr": 5.741603672504425e-06, + "q1": 0.0006549250101670623, + "q3": 0.0006606666138395667, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.0006496418034657836, + "hd15iqr": 0.0006868249969556927, + "ops": 1513.77337938576, + "total": 0.0066060086246579885, + "data": [ + 0.0006868249969556927, + 0.0006676333956420422, + 0.0006585418013855815, + 0.0006496418034657836, + 0.0006595082115381957, + 0.0006582000060006976, + 0.0006541333859786391, + 0.0006606666138395667, + 0.0006549250101670623, + 0.0006559333996847272 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-vjp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-vjp-128-8]", + "params": { + "explicit_no_aux": false, + "transform": "vjp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "auto-vjp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.644160021096468e-05, + "max": 7.63084040954709e-05, + "mean": 6.928749848157167e-05, + "stddev": 3.7376075276613357e-06, + "rounds": 10, + "median": 6.725420244038104e-05, + "iqr": 5.824980325996884e-06, + "q1": 6.685000844299793e-05, + "q3": 7.267498876899481e-05, + "iqr_outliers": 0, + "stddev_outliers": 2, + "outliers": "2;0", + "ld15iqr": 6.644160021096468e-05, + "hd15iqr": 7.63084040954709e-05, + "ops": 14432.618032327564, + "total": 0.0006928749848157167, + "data": [ + 7.458319887518883e-05, + 6.685000844299793e-05, + 6.799998227506876e-05, + 7.63084040954709e-05, + 7.267498876899481e-05, + 6.725839339196681e-05, + 6.699159275740385e-05, + 6.651680450886488e-05, + 6.644160021096468e-05, + 6.725001148879528e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-vjp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-vjp-128-128]", + "params": { + "explicit_no_aux": false, + "transform": "vjp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "auto-vjp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006539581809192896, + "max": 0.000676241610199213, + "mean": 0.0006662491569295525, + "stddev": 6.446481713347034e-06, + "rounds": 10, + "median": 0.0006675667013041676, + "iqr": 3.950018435716564e-06, + "q1": 0.0006656333804130554, + "q3": 0.000669583398848772, + "iqr_outliers": 3, + "stddev_outliers": 3, + "outliers": "3;3", + "ld15iqr": 0.0006656333804130554, + "hd15iqr": 0.000676241610199213, + "ops": 1500.9399855882107, + "total": 0.006662491569295525, + "data": [ + 0.000676241610199213, + 0.0006696917815133929, + 0.0006680666003376246, + 0.0006666915956884623, + 0.000669583398848772, + 0.0006656333804130554, + 0.000668758200481534, + 0.0006539581809192896, + 0.0006568000186234713, + 0.0006670668022707105 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-primal-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-primal-8-8]", + "params": { + "explicit_no_aux": true, + "transform": "primal", + "n_queries": 8, + "n_steps": 8 + }, + "param": "explicit-primal-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.7416798770427705e-05, + "max": 5.6599988602101804e-05, + "mean": 5.073665641248226e-05, + "stddev": 3.1304981900989003e-06, + "rounds": 10, + "median": 4.977500066161156e-05, + "iqr": 3.7084100767970085e-06, + "q1": 4.837499000132084e-05, + "q3": 5.208340007811785e-05, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 4.7416798770427705e-05, + "hd15iqr": 5.6599988602101804e-05, + "ops": 19709.615704080563, + "total": 0.0005073665641248226, + "data": [ + 5.6599988602101804e-05, + 5.208340007811785e-05, + 5.007500294595957e-05, + 4.9474998377263546e-05, + 4.9216602928936484e-05, + 4.829159006476402e-05, + 4.837499000132084e-05, + 5.570820067077875e-05, + 5.0124991685152057e-05, + 4.7416798770427705e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-primal-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-primal-8-128]", + "params": { + "explicit_no_aux": true, + "transform": "primal", + "n_queries": 8, + "n_steps": 128 + }, + "param": "explicit-primal-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0003557916032150388, + "max": 0.00037429179064929485, + "mean": 0.00036192082101479175, + "stddev": 5.264123667485006e-06, + "rounds": 10, + "median": 0.0003604250028729439, + "iqr": 4.675006493926048e-06, + "q1": 0.0003589916042983532, + "q3": 0.00036366661079227923, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.0003557916032150388, + "hd15iqr": 0.00037429179064929485, + "ops": 2763.035288205013, + "total": 0.0036192082101479174, + "data": [ + 0.00037429179064929485, + 0.0003632666077464819, + 0.00036366661079227923, + 0.0003609250066801906, + 0.0003655583830550313, + 0.0003573250025510788, + 0.0003599249990656972, + 0.00035946660209447147, + 0.0003557916032150388, + 0.0003589916042983532 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-primal-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-primal-128-8]", + "params": { + "explicit_no_aux": true, + "transform": "primal", + "n_queries": 128, + "n_steps": 8 + }, + "param": "explicit-primal-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.689160268753767e-05, + "max": 5.8066612109541896e-05, + "mean": 4.978999961167574e-05, + "stddev": 3.1368126406871435e-06, + "rounds": 10, + "median": 4.88250982016325e-05, + "iqr": 2.0500039681792286e-06, + "q1": 4.8208399675786495e-05, + "q3": 5.0258403643965724e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 4.689160268753767e-05, + "hd15iqr": 5.8066612109541896e-05, + "ops": 20084.35444465238, + "total": 0.0004978999961167574, + "data": [ + 5.8066612109541896e-05, + 5.1091588102281096e-05, + 4.689160268753767e-05, + 4.837499000132084e-05, + 4.802499897778034e-05, + 4.866679664701223e-05, + 5.0258403643965724e-05, + 4.8208399675786495e-05, + 4.898339975625277e-05, + 4.933320451527834e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-primal-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-primal-128-128]", + "params": { + "explicit_no_aux": true, + "transform": "primal", + "n_queries": 128, + "n_steps": 128 + }, + "param": "explicit-primal-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00036734999157488345, + "max": 0.0003930750070139766, + "mean": 0.00037352165672928096, + "stddev": 7.448558358902112e-06, + "rounds": 10, + "median": 0.0003714999998919666, + "iqr": 5.208374932408344e-06, + "q1": 0.0003691500052809715, + "q3": 0.00037435838021337986, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.00036734999157488345, + "hd15iqr": 0.0003930750070139766, + "ops": 2677.2209374857607, + "total": 0.0037352165672928095, + "data": [ + 0.0003930750070139766, + 0.00037225820124149324, + 0.00037595818284899, + 0.00037435838021337986, + 0.0003702581860125065, + 0.0003742584027349949, + 0.00036734999157488345, + 0.0003691500052809715, + 0.0003707417985424399, + 0.0003678084118291736 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-jvp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-jvp-8-8]", + "params": { + "explicit_no_aux": true, + "transform": "jvp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "explicit-jvp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.874179769307375e-05, + "max": 6.685839034616947e-05, + "mean": 6.0522502753883596e-05, + "stddev": 2.415408911779335e-06, + "rounds": 10, + "median": 5.961251445114612e-05, + "iqr": 1.6666017472743988e-06, + "q1": 5.909160245209932e-05, + "q3": 6.075820419937372e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 5.874179769307375e-05, + "hd15iqr": 6.685839034616947e-05, + "ops": 16522.780032189465, + "total": 0.000605225027538836, + "data": [ + 6.685839034616947e-05, + 6.174999289214611e-05, + 5.939181428402662e-05, + 5.975840613245964e-05, + 5.909160245209932e-05, + 5.890820175409317e-05, + 6.075820419937372e-05, + 5.874179769307375e-05, + 6.049999501556158e-05, + 5.9466622769832614e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-jvp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-jvp-8-128]", + "params": { + "explicit_no_aux": true, + "transform": "jvp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "explicit-jvp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0005712831858545542, + "max": 0.0005984500050544739, + "mean": 0.0005824791407212615, + "stddev": 7.522844203693686e-06, + "rounds": 10, + "median": 0.0005824042018502951, + "iqr": 6.4333900809287374e-06, + "q1": 0.0005784332053735853, + "q3": 0.000584866595454514, + "iqr_outliers": 1, + "stddev_outliers": 3, + "outliers": "3;1", + "ld15iqr": 0.0005712831858545542, + "hd15iqr": 0.0005984500050544739, + "ops": 1716.7996758849397, + "total": 0.005824791407212615, + "data": [ + 0.0005878834053874016, + 0.0005984500050544739, + 0.0005834832089021802, + 0.0005818249890580773, + 0.0005826750071719289, + 0.000584866595454514, + 0.0005784332053735853, + 0.0005821333965286612, + 0.0005737584084272385, + 0.0005712831858545542 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-jvp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-jvp-128-8]", + "params": { + "explicit_no_aux": true, + "transform": "jvp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "explicit-jvp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.956680979579687e-05, + "max": 7.08084087818861e-05, + "mean": 6.174586014822126e-05, + "stddev": 3.5594262190726264e-06, + "rounds": 10, + "median": 6.025839829817414e-05, + "iqr": 2.1081883460283225e-06, + "q1": 5.9775006957352164e-05, + "q3": 6.188319530338049e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 5.956680979579687e-05, + "hd15iqr": 7.08084087818861e-05, + "ops": 16195.417759174377, + "total": 0.0006174586014822125, + "data": [ + 7.08084087818861e-05, + 6.484179757535458e-05, + 6.042500026524067e-05, + 6.0391798615455625e-05, + 5.996660329401493e-05, + 6.012499798089266e-05, + 6.188319530338049e-05, + 5.967498291283846e-05, + 5.956680979579687e-05, + 5.9775006957352164e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-jvp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-jvp-128-128]", + "params": { + "explicit_no_aux": true, + "transform": "jvp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "explicit-jvp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.000578549993224442, + "max": 0.0005980083951726556, + "mean": 0.0005855708802118897, + "stddev": 5.742614347553658e-06, + "rounds": 10, + "median": 0.0005847959080711007, + "iqr": 6.874999962747184e-06, + "q1": 0.0005821584025397896, + "q3": 0.0005890334025025368, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.000578549993224442, + "hd15iqr": 0.0005980083951726556, + "ops": 1707.7351927714512, + "total": 0.005855708802118898, + "data": [ + 0.0005905250087380409, + 0.0005980083951726556, + 0.000578549993224442, + 0.0005852084141224623, + 0.0005821584025397896, + 0.0005843834020197392, + 0.0005798000143840909, + 0.0005855999886989593, + 0.0005824417807161808, + 0.0005890334025025368 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-vjp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-vjp-8-8]", + "params": { + "explicit_no_aux": true, + "transform": "vjp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "explicit-vjp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.297498475760221e-05, + "max": 7.65081960707903e-05, + "mean": 6.63983216509223e-05, + "stddev": 4.446699700312527e-06, + "rounds": 10, + "median": 6.431250367313623e-05, + "iqr": 4.574982449412338e-06, + "q1": 6.368341855704785e-05, + "q3": 6.825840100646018e-05, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 6.297498475760221e-05, + "hd15iqr": 7.65081960707903e-05, + "ops": 15060.621641271704, + "total": 0.000663983216509223, + "data": [ + 7.168340962380171e-05, + 6.442500744014978e-05, + 6.458319257944823e-05, + 6.404160521924495e-05, + 6.368341855704785e-05, + 6.419999990612269e-05, + 6.297498475760221e-05, + 6.362500134855509e-05, + 7.65081960707903e-05, + 6.825840100646018e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-vjp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-vjp-8-128]", + "params": { + "explicit_no_aux": true, + "transform": "vjp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "explicit-vjp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006482334109023213, + "max": 0.0006796000059694051, + "mean": 0.0006555333477444947, + "stddev": 9.282738690808436e-06, + "rounds": 10, + "median": 0.0006520416005514562, + "iqr": 6.866618059575536e-06, + "q1": 0.0006498500006273389, + "q3": 0.0006567166186869144, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.0006482334109023213, + "hd15iqr": 0.0006796000059694051, + "ops": 1525.4754063095615, + "total": 0.006555333477444946, + "data": [ + 0.0006796000059694051, + 0.00066016661003232, + 0.0006567166186869144, + 0.0006566168041899801, + 0.0006522916024550796, + 0.0006509500090032816, + 0.0006482334109023213, + 0.0006498500006273389, + 0.0006491168169304729, + 0.0006517915986478329 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-vjp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-vjp-128-8]", + "params": { + "explicit_no_aux": true, + "transform": "vjp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "explicit-vjp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.494179833680392e-05, + "max": 7.464999798685312e-05, + "mean": 6.664418149739504e-05, + "stddev": 2.8829881670443063e-06, + "rounds": 10, + "median": 6.583749782294035e-05, + "iqr": 1.0084128007292693e-06, + "q1": 6.522499024868012e-05, + "q3": 6.623340304940939e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 6.494179833680392e-05, + "hd15iqr": 7.464999798685312e-05, + "ops": 15005.060870003897, + "total": 0.0006664418149739503, + "data": [ + 7.464999798685312e-05, + 6.623340304940939e-05, + 6.611680146306753e-05, + 6.701662205159664e-05, + 6.560820620507001e-05, + 6.567500531673431e-05, + 6.522499024868012e-05, + 6.494179833680392e-05, + 6.497499998658895e-05, + 6.599999032914638e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-vjp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-vjp-128-128]", + "params": { + "explicit_no_aux": true, + "transform": "vjp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "explicit-vjp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006622749846428633, + "max": 0.0006999832112342119, + "mean": 0.0006753066624514758, + "stddev": 1.0977669007242035e-05, + "rounds": 10, + "median": 0.000673416699282825, + "iqr": 1.2308405712246938e-05, + "q1": 0.000667375000193715, + "q3": 0.000679683405905962, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.0006622749846428633, + "hd15iqr": 0.0006999832112342119, + "ops": 1480.8087282447846, + "total": 0.006753066624514759, + "data": [ + 0.0006999832112342119, + 0.0006850000005215407, + 0.0006688000168651343, + 0.000679683405905962, + 0.0006745083956047893, + 0.0006622749846428633, + 0.0006765499943867326, + 0.000667375000193715, + 0.0006665666121989488, + 0.0006723250029608607 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_batched_adaptive_dense_output", + "fullname": "benchmarks/test_aux_dense_output.py::test_batched_adaptive_dense_output", + "params": null, + "param": null, + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0009904915932565928, + "max": 0.0010222000069916247, + "mean": 0.001002167456317693, + "stddev": 9.707416250088135e-06, + "rounds": 10, + "median": 0.0009993749903514982, + "iqr": 1.0183197446167469e-05, + "q1": 0.0009967999998480082, + "q3": 0.0010069831972941757, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.0009904915932565928, + "hd15iqr": 0.0010222000069916247, + "ops": 997.837231388797, + "total": 0.01002167456317693, + "data": [ + 0.0010222000069916247, + 0.0010142500046640634, + 0.0010006750002503396, + 0.0010069831972941757, + 0.0009989249985665083, + 0.0009982331888750196, + 0.0009967999998480082, + 0.0009998249821364879, + 0.0009904915932565928, + 0.00099329159129411 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-rk4]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "rk4" + }, + "param": "primal-scalar-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.262500442564487e-06, + "max": 5.375000182539225e-06, + "mean": 4.361244500614703e-06, + "stddev": 2.424046397137075e-07, + "rounds": 20, + "median": 4.2958010453730815e-06, + "iqr": 5.8353180065751076e-08, + "q1": 4.277098923921585e-06, + "q3": 4.335452103987336e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 4.262500442564487e-06, + "hd15iqr": 4.437495954334736e-06, + "ops": 229292.349892113, + "total": 8.722489001229405e-05, + "data": [ + 5.375000182539225e-06, + 4.437495954334736e-06, + 4.3666106648743154e-06, + 4.349998198449611e-06, + 4.362501204013824e-06, + 4.312500823289156e-06, + 4.299997817724943e-06, + 4.312500823289156e-06, + 4.287494812160731e-06, + 4.274991806596518e-06, + 4.299997817724943e-06, + 4.291604273021221e-06, + 4.287506453692913e-06, + 4.270800855010748e-06, + 4.2792060412466524e-06, + 4.2707892134785656e-06, + 4.287494812160731e-06, + 4.320906009525061e-06, + 4.274991806596518e-06, + 4.262500442564487e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-tsit5]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "tsit5" + }, + "param": "primal-scalar-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.5167009122669695e-06, + "max": 7.499998901039362e-06, + "mean": 5.720834014937282e-06, + "stddev": 4.3308637837967046e-07, + "rounds": 20, + "median": 5.597894778475166e-06, + "iqr": 1.2295204214751737e-07, + "q1": 5.558296106755734e-06, + "q3": 5.681248148903251e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 5.5167009122669695e-06, + "hd15iqr": 5.975004751235247e-06, + "ops": 174799.68784078822, + "total": 0.00011441668029874564, + "data": [ + 7.499998901039362e-06, + 5.975004751235247e-06, + 5.808298010379076e-06, + 5.716690793633461e-06, + 5.712499842047691e-06, + 5.645898636430502e-06, + 5.64999645575881e-06, + 5.64999645575881e-06, + 5.612499080598354e-06, + 5.591707304120064e-06, + 5.537504330277443e-06, + 5.595793481916189e-06, + 5.562498699873686e-06, + 5.579204298555851e-06, + 5.599996075034141e-06, + 5.524989683181048e-06, + 5.5167009122669695e-06, + 5.562510341405868e-06, + 5.520798731595278e-06, + 5.5540935136377815e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-rodas5p]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "rodas5p" + }, + "param": "primal-scalar-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.0412495359778404e-05, + "max": 2.9966607689857484e-05, + "mean": 2.3062280961312352e-05, + "stddev": 2.34419438254401e-06, + "rounds": 20, + "median": 2.2214604541659355e-05, + "iqr": 1.645804150030021e-06, + "q1": 2.1768745500594375e-05, + "q3": 2.3414549650624396e-05, + "iqr_outliers": 3, + "stddev_outliers": 4, + "outliers": "4;3", + "ld15iqr": 2.0412495359778404e-05, + "hd15iqr": 2.5949999690055846e-05, + "ops": 43360.8454288424, + "total": 0.0004612456192262471, + "data": [ + 2.5949999690055846e-05, + 2.3808295372873546e-05, + 2.2104207891970874e-05, + 2.798750065267086e-05, + 2.1895801182836294e-05, + 2.165409969165921e-05, + 2.1724996622651814e-05, + 2.203750191256404e-05, + 2.0412495359778404e-05, + 2.9966607689857484e-05, + 2.3820798378437758e-05, + 2.2645900025963782e-05, + 2.263749483972788e-05, + 2.3020803928375245e-05, + 2.1670805290341376e-05, + 2.1883309818804265e-05, + 2.2491696290671827e-05, + 2.2325001191347836e-05, + 2.181249437853694e-05, + 2.1395809017121793e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-em]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "em" + }, + "param": "primal-scalar-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.208293441683054e-06, + "max": 8.158397395163775e-06, + "mean": 5.934581276960671e-06, + "stddev": 7.164302337382143e-07, + "rounds": 20, + "median": 5.777098704129458e-06, + "iqr": 2.1670130081474832e-07, + "q1": 5.62285422347486e-06, + "q3": 5.839555524289608e-06, + "iqr_outliers": 3, + "stddev_outliers": 3, + "outliers": "3;3", + "ld15iqr": 5.366606637835503e-06, + "hd15iqr": 7.729197386652232e-06, + "ops": 168503.88482877746, + "total": 0.00011869162553921342, + "data": [ + 7.729197386652232e-06, + 5.837506614625454e-06, + 8.158397395163775e-06, + 5.208293441683054e-06, + 5.366606637835503e-06, + 5.654105916619301e-06, + 5.5916025303304195e-06, + 5.899998359382152e-06, + 5.683302879333496e-06, + 5.820905789732933e-06, + 5.841604433953762e-06, + 5.7916040532290936e-06, + 5.791708827018738e-06, + 5.754199810326099e-06, + 5.775003228336573e-06, + 5.7791941799223425e-06, + 6.108300294727087e-06, + 5.570799112319947e-06, + 5.583395250141621e-06, + 5.745899397879839e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-dae]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "dae" + }, + "param": "primal-scalar-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.1595798898488283e-05, + "max": 2.4283293168991803e-05, + "mean": 2.196792047470808e-05, + "stddev": 5.722023127741329e-07, + "rounds": 20, + "median": 2.1854205988347532e-05, + "iqr": 2.7079950086772374e-07, + "q1": 2.1720852237194778e-05, + "q3": 2.19916517380625e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 2.1595798898488283e-05, + "hd15iqr": 2.4283293168991803e-05, + "ops": 45520.92225348829, + "total": 0.0004393584094941616, + "data": [ + 2.4283293168991803e-05, + 2.2262497805058955e-05, + 2.199580194428563e-05, + 2.1854205988347532e-05, + 2.186250640079379e-05, + 2.187499776482582e-05, + 2.1854205988347532e-05, + 2.175000263378024e-05, + 2.204589545726776e-05, + 2.2154091857373716e-05, + 2.174170222133398e-05, + 2.1712505258619785e-05, + 2.167089842259884e-05, + 2.1787500008940698e-05, + 2.1729199215769767e-05, + 2.1595798898488283e-05, + 2.1641701459884642e-05, + 2.1662504877895117e-05, + 2.189159858971834e-05, + 2.1987501531839372e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-rodas5p_dae]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "rodas5p_dae" + }, + "param": "primal-scalar-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.7070892974734308e-05, + "max": 3.388329641893506e-05, + "mean": 2.8700209804810582e-05, + "stddev": 2.0891528305250144e-06, + "rounds": 20, + "median": 2.7693755691871046e-05, + "iqr": 1.9063008949160576e-06, + "q1": 2.7299998328089715e-05, + "q3": 2.9206299223005773e-05, + "iqr_outliers": 2, + "stddev_outliers": 3, + "outliers": "3;2", + "ld15iqr": 2.7070892974734308e-05, + "hd15iqr": 3.352920757606626e-05, + "ops": 34842.950863459715, + "total": 0.0005740041960962117, + "data": [ + 3.025829792022705e-05, + 3.388329641893506e-05, + 3.352920757606626e-05, + 2.898339880630374e-05, + 2.7412502095103265e-05, + 2.7349998708814384e-05, + 2.750001149252057e-05, + 2.7229194529354572e-05, + 2.9429199639707803e-05, + 3.167500253766775e-05, + 2.7441594284027815e-05, + 2.8408400248736142e-05, + 2.7070892974734308e-05, + 2.7479103300720455e-05, + 2.7887499891221522e-05, + 2.7129193767905235e-05, + 2.8558296617120504e-05, + 2.8454104904085397e-05, + 2.7075002435594797e-05, + 2.7249997947365047e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-sdae]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "sdae" + }, + "param": "primal-scalar-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.423340480774641e-05, + "max": 6.13416894339025e-05, + "mean": 5.623749224469066e-05, + "stddev": 2.1725910778475487e-06, + "rounds": 20, + "median": 5.552294314838945e-05, + "iqr": 1.3978977221995565e-06, + "q1": 5.4970796918496495e-05, + "q3": 5.636869464069605e-05, + "iqr_outliers": 3, + "stddev_outliers": 3, + "outliers": "3;3", + "ld15iqr": 5.423340480774641e-05, + "hd15iqr": 6.04082946665585e-05, + "ops": 17781.73172532261, + "total": 0.001124749844893813, + "data": [ + 6.04082946665585e-05, + 6.13416894339025e-05, + 5.644579650834203e-05, + 5.522919818758965e-05, + 5.7083298452198504e-05, + 5.54458936676383e-05, + 5.516250384971499e-05, + 5.5599992629140614e-05, + 5.6287494953721764e-05, + 5.50874974578619e-05, + 5.508329486474395e-05, + 5.451659671962261e-05, + 5.4287491366267204e-05, + 5.423340480774641e-05, + 5.452500190585852e-05, + 6.110829999670387e-05, + 5.595000693574548e-05, + 5.485829897224903e-05, + 5.5804196745157245e-05, + 5.629159277305007e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-rk4]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "rk4" + }, + "param": "primal-vector16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.362501204013824e-06, + "max": 5.57090388610959e-06, + "mean": 4.490009741857648e-06, + "stddev": 2.6224704691428354e-07, + "rounds": 20, + "median": 4.425051156431437e-06, + "iqr": 1.1039664968848178e-07, + "q1": 4.3812498915940525e-06, + "q3": 4.491646541282534e-06, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 4.362501204013824e-06, + "hd15iqr": 5.57090388610959e-06, + "ops": 222716.66599686947, + "total": 8.980019483715296e-05, + "data": [ + 5.57090388610959e-06, + 4.5915949158370495e-06, + 4.533398896455765e-06, + 4.50420193374157e-06, + 4.495796747505665e-06, + 4.487496335059405e-06, + 4.429195541888475e-06, + 4.449998959898948e-06, + 4.437495954334736e-06, + 4.462501965463161e-06, + 4.420801997184754e-06, + 4.383397754281759e-06, + 4.387495573610068e-06, + 4.420906770974398e-06, + 4.362501204013824e-06, + 4.362501204013824e-06, + 4.362501204013824e-06, + 4.383304622024298e-06, + 4.375004209578037e-06, + 4.379195161163807e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-tsit5]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "tsit5" + }, + "param": "primal-vector16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.004209328442812e-06, + "max": 1.537090865895152e-05, + "mean": 7.587920990772546e-06, + "stddev": 1.8436843745089538e-06, + "rounds": 20, + "median": 7.122900569811463e-06, + "iqr": 1.208565663546334e-07, + "q1": 7.070793071761727e-06, + "q3": 7.19164963811636e-06, + "iqr_outliers": 3, + "stddev_outliers": 1, + "outliers": "1;3", + "ld15iqr": 7.004209328442812e-06, + "hd15iqr": 7.6291966252028945e-06, + "ops": 131788.4043885106, + "total": 0.0001517584198154509, + "data": [ + 1.537090865895152e-05, + 7.854204159229994e-06, + 7.2917086072266105e-06, + 7.212499622255564e-06, + 7.170799653977155e-06, + 7.170799653977155e-06, + 7.108401041477918e-06, + 7.145805284380913e-06, + 7.129099685698748e-06, + 7.1374932304024695e-06, + 7.01249809935689e-06, + 7.116701453924179e-06, + 7.0875044912099835e-06, + 7.004209328442812e-06, + 7.074989844113588e-06, + 7.066596299409866e-06, + 7.041601929813624e-06, + 7.0792040787637235e-06, + 7.054198067635298e-06, + 7.6291966252028945e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-rodas5p]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "rodas5p" + }, + "param": "primal-vector16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.938329173251987e-05, + "max": 4.367500077933073e-05, + "mean": 4.0325610316358505e-05, + "stddev": 1.1969185821677354e-06, + "rounds": 20, + "median": 3.981455229222775e-05, + "iqr": 1.1375464964658035e-06, + "q1": 3.952495171688497e-05, + "q3": 4.0662498213350774e-05, + "iqr_outliers": 2, + "stddev_outliers": 3, + "outliers": "3;2", + "ld15iqr": 3.938329173251987e-05, + "hd15iqr": 4.250420024618506e-05, + "ops": 24798.13677102215, + "total": 0.0008065122063271701, + "data": [ + 4.250420024618506e-05, + 4.367500077933073e-05, + 4.017909523099661e-05, + 4.19916003011167e-05, + 4.1458301711827514e-05, + 4.104579566046596e-05, + 4.027920076623559e-05, + 3.96750052459538e-05, + 4.0137500036507845e-05, + 3.985830117017031e-05, + 3.977080341428518e-05, + 3.9924995508044955e-05, + 3.94208007492125e-05, + 3.9475003723055126e-05, + 3.969579702243209e-05, + 3.9479101542383435e-05, + 3.9570801891386506e-05, + 3.957090666517615e-05, + 3.94167029298842e-05, + 3.938329173251987e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-em]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "em" + }, + "param": "primal-vector16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.3075006902217864e-05, + "max": 3.0191708356142043e-05, + "mean": 2.5312291691079735e-05, + "stddev": 2.2821502852084174e-06, + "rounds": 20, + "median": 2.4324998958036303e-05, + "iqr": 3.27920424751937e-06, + "q1": 2.3531250189989808e-05, + "q3": 2.6810454437509178e-05, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 2.3075006902217864e-05, + "hd15iqr": 3.0191708356142043e-05, + "ops": 39506.497957765256, + "total": 0.0005062458338215947, + "data": [ + 2.667499938979745e-05, + 2.82666995190084e-05, + 3.007079940289259e-05, + 3.0191708356142043e-05, + 2.518750261515379e-05, + 2.3604207672178746e-05, + 2.6400003116577862e-05, + 2.7591700199991464e-05, + 2.381660742685199e-05, + 2.3075006902217864e-05, + 2.324579982087016e-05, + 2.694590948522091e-05, + 2.4149997625499963e-05, + 2.377909841015935e-05, + 2.3366708774119616e-05, + 2.377079799771309e-05, + 2.3458292707800867e-05, + 2.32374994084239e-05, + 2.4912494700402023e-05, + 2.4500000290572643e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-dae]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "dae" + }, + "param": "primal-vector16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00010324999457225203, + "max": 0.00011725419899448753, + "mean": 0.00010623978916555643, + "stddev": 3.680139273452931e-06, + "rounds": 20, + "median": 0.00010471044224686922, + "iqr": 2.595793921500439e-06, + "q1": 0.00010406460496596992, + "q3": 0.00010666039888747036, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 0.00010324999457225203, + "hd15iqr": 0.000114333292003721, + "ops": 9412.669281954919, + "total": 0.0021247957833111287, + "data": [ + 0.00011725419899448753, + 0.000114333292003721, + 0.00010970409493893385, + 0.00010829999810084701, + 0.00010601660469546914, + 0.00010380420135334135, + 0.00010404170025140047, + 0.00010324999457225203, + 0.00010520420037209987, + 0.00010408750968053937, + 0.00010402500629425049, + 0.00010539580835029483, + 0.00010370829841122031, + 0.00010592499747872353, + 0.00010459169279783965, + 0.00010482919169589877, + 0.00010425410000607372, + 0.00010730419307947159, + 0.00010437089949846267, + 0.00010439580073580146 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-rodas5p_dae]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "rodas5p_dae" + }, + "param": "primal-vector16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.342499982565641e-05, + "max": 7.977080531418324e-05, + "mean": 6.617521517910063e-05, + "stddev": 3.5618927840423455e-06, + "rounds": 20, + "median": 6.526664947159588e-05, + "iqr": 2.1062500309199013e-06, + "q1": 6.442710291594267e-05, + "q3": 6.653335294686257e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 6.342499982565641e-05, + "hd15iqr": 7.977080531418324e-05, + "ops": 15111.397783800763, + "total": 0.0013235043035820127, + "data": [ + 7.977080531418324e-05, + 6.850420031696558e-05, + 6.661670049652457e-05, + 6.715420167893171e-05, + 6.441250443458557e-05, + 6.444170139729977e-05, + 6.459590513259172e-05, + 6.94874906912446e-05, + 6.429590284824371e-05, + 6.342499982565641e-05, + 6.559999892488121e-05, + 6.351659540086985e-05, + 6.444579921662807e-05, + 6.549590034410357e-05, + 6.435830146074295e-05, + 6.444579921662807e-05, + 6.51167007163167e-05, + 6.595419254153966e-05, + 6.541659822687507e-05, + 6.645000539720058e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-sdae]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "sdae" + }, + "param": "primal-vector16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00025074579752981663, + "max": 0.00026769170071929695, + "mean": 0.00025469768734183164, + "stddev": 4.24538706668473e-06, + "rounds": 20, + "median": 0.00025305835297331216, + "iqr": 2.9208080377429507e-06, + "q1": 0.0002522874972783029, + "q3": 0.00025520830531604587, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 0.00025074579752981663, + "hd15iqr": 0.00026400830829516054, + "ops": 3926.2233216035947, + "total": 0.0050939537468366325, + "data": [ + 0.00026769170071929695, + 0.0002578166080638766, + 0.000256437505595386, + 0.00025508750695735216, + 0.00026400830829516054, + 0.0002523374976590276, + 0.00025487910024821756, + 0.0002553291036747396, + 0.0002531624981202185, + 0.00025223749689757825, + 0.0002524083014577627, + 0.00025245409924536946, + 0.0002547833020798862, + 0.00025356250116601584, + 0.0002529542078264058, + 0.00025221670512109995, + 0.0002524415962398052, + 0.00025074579752981663, + 0.00025197080103680494, + 0.000251429108902812 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-rk4]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "rk4" + }, + "param": "primal-tree16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.725002847611904e-06, + "max": 7.016700692474842e-06, + "mean": 5.880834651179612e-06, + "stddev": 2.8188752216229856e-07, + "rounds": 20, + "median": 5.7937519159168e-06, + "iqr": 1.2909877113997987e-07, + "q1": 5.7646480854600665e-06, + "q3": 5.893746856600046e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 5.725002847611904e-06, + "hd15iqr": 6.0916994698345665e-06, + "ops": 170043.88990930296, + "total": 0.00011761669302359223, + "data": [ + 7.016700692474842e-06, + 6.0916994698345665e-06, + 5.933304782956838e-06, + 5.9290905483067036e-06, + 5.8791949413716795e-06, + 5.908298771828413e-06, + 5.816598422825336e-06, + 5.820801015943289e-06, + 5.820801015943289e-06, + 5.787506233900786e-06, + 5.758390761911869e-06, + 5.770905409008264e-06, + 5.7791941799223425e-06, + 5.787506233900786e-06, + 5.725002847611904e-06, + 5.749997217208147e-06, + 5.7791941799223425e-06, + 5.799997597932815e-06, + 5.725002847611904e-06, + 5.737505853176117e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-tsit5]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "tsit5" + }, + "param": "primal-tree16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 9.754195343703031e-06, + "max": 2.5954190641641615e-05, + "mean": 1.4284385251812637e-05, + "stddev": 5.8078145277600575e-06, + "rounds": 20, + "median": 1.0329147335141897e-05, + "iqr": 9.331200271844863e-06, + "q1": 1.0083353845402599e-05, + "q3": 1.9414554117247462e-05, + "iqr_outliers": 0, + "stddev_outliers": 5, + "outliers": "5;0", + "ld15iqr": 9.754195343703031e-06, + "hd15iqr": 2.5954190641641615e-05, + "ops": 70006.51287202601, + "total": 0.00028568770503625276, + "data": [ + 2.5954190641641615e-05, + 2.3708399385213853e-05, + 2.2191600874066352e-05, + 2.256670268252492e-05, + 2.2674992214888336e-05, + 1.6637507360428572e-05, + 1.070419093593955e-05, + 1.0274990927428007e-05, + 1.0095897596329451e-05, + 1.0383303742855787e-05, + 1.5137507580220699e-05, + 1.5200010966509581e-05, + 1.010829582810402e-05, + 1.0154198389500379e-05, + 1.0116701014339924e-05, + 9.987503290176392e-06, + 9.991705883294345e-06, + 9.97500028461218e-06, + 1.0070810094475747e-05, + 9.754195343703031e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-rodas5p]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "rodas5p" + }, + "param": "primal-tree16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.2095803655683996e-05, + "max": 4.6116695739328864e-05, + "mean": 4.325751098804176e-05, + "stddev": 8.584911064323971e-07, + "rounds": 20, + "median": 4.3258356163278223e-05, + "iqr": 9.083014447242022e-07, + "q1": 4.2614596895873544e-05, + "q3": 4.3522898340597746e-05, + "iqr_outliers": 1, + "stddev_outliers": 3, + "outliers": "3;1", + "ld15iqr": 4.2095803655683996e-05, + "hd15iqr": 4.6116695739328864e-05, + "ops": 23117.37261712638, + "total": 0.0008651502197608351, + "data": [ + 4.6116695739328864e-05, + 4.353330004960299e-05, + 4.360420862212777e-05, + 4.3287500739097594e-05, + 4.3275009375065565e-05, + 4.307921044528484e-05, + 4.316250560805201e-05, + 4.263750743120909e-05, + 4.43416996859014e-05, + 4.2095803655683996e-05, + 4.3408398050814866e-05, + 4.2579206638038156e-05, + 4.339999286457896e-05, + 4.3637491762638093e-05, + 4.324170295149088e-05, + 4.2449997272342445e-05, + 4.351249663159251e-05, + 4.261669237166643e-05, + 4.255829844623804e-05, + 4.261250142008066e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-em]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "em" + }, + "param": "primal-tree16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.380000125616789e-05, + "max": 5.027920706197619e-05, + "mean": 3.646479512099177e-05, + "stddev": 3.577421840667446e-06, + "rounds": 20, + "median": 3.5295798443257806e-05, + "iqr": 2.3187953047454344e-06, + "q1": 3.464164910838008e-05, + "q3": 3.6960444413125514e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 3.380000125616789e-05, + "hd15iqr": 5.027920706197619e-05, + "ops": 27423.71091574646, + "total": 0.0007292959024198353, + "data": [ + 5.027920706197619e-05, + 3.84459039196372e-05, + 3.945420030504465e-05, + 3.682919777929783e-05, + 3.705419367179274e-05, + 3.514999989420176e-05, + 3.597080940380693e-05, + 3.530409885570407e-05, + 3.544590435922146e-05, + 3.482080064713955e-05, + 3.447909839451313e-05, + 3.6866695154458284e-05, + 3.528749803081155e-05, + 3.5208300687372684e-05, + 3.723750123754144e-05, + 3.4683302510529755e-05, + 3.380000125616789e-05, + 3.4462497569620607e-05, + 3.45999957062304e-05, + 3.391669597476721e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-dae]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "dae" + }, + "param": "primal-tree16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00011378750205039977, + "max": 0.00012427079491317272, + "mean": 0.00011663978977594525, + "stddev": 2.676017613558332e-06, + "rounds": 20, + "median": 0.00011591040529310704, + "iqr": 1.952046295627946e-06, + "q1": 0.0001151896023657173, + "q3": 0.00011714164866134524, + "iqr_outliers": 2, + "stddev_outliers": 3, + "outliers": "3;2", + "ld15iqr": 0.00011378750205039977, + "hd15iqr": 0.00012275829212740063, + "ops": 8573.403655141285, + "total": 0.002332795795518905, + "data": [ + 0.00012427079491317272, + 0.00012275829212740063, + 0.00011924999998882412, + 0.0001162292086519301, + 0.00011587080080062151, + 0.0001153165940195322, + 0.00011595000978559256, + 0.00011520000407472253, + 0.00011423749383538961, + 0.00011451250175014138, + 0.00011676669819280506, + 0.00011717500165104866, + 0.00011442089453339577, + 0.00011717909947037697, + 0.00011552080977708101, + 0.00011569589842110872, + 0.00011517920065671206, + 0.00011710829567164182, + 0.00011378750205039977, + 0.00011636669514700771 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-rodas5p_dae]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "rodas5p_dae" + }, + "param": "primal-tree16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.975000724196434e-05, + "max": 9.913749527186155e-05, + "mean": 7.351354055572301e-05, + "stddev": 6.744534187056111e-06, + "rounds": 20, + "median": 7.133749895729124e-05, + "iqr": 2.5353976525366333e-06, + "q1": 7.054790039546787e-05, + "q3": 7.308329804800451e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 6.975000724196434e-05, + "hd15iqr": 8.32625082693994e-05, + "ops": 13602.93617258175, + "total": 0.0014702708111144602, + "data": [ + 9.913749527186155e-05, + 8.32625082693994e-05, + 7.585000712424516e-05, + 7.340420270338655e-05, + 7.183750858530402e-05, + 7.096669869497419e-05, + 7.297080010175705e-05, + 7.058749906718731e-05, + 7.012500427663326e-05, + 7.309579523280263e-05, + 7.118330104276538e-05, + 7.050830172374844e-05, + 7.071249419823288e-05, + 7.307080086320639e-05, + 6.986249936744571e-05, + 7.168329320847989e-05, + 6.995419971644878e-05, + 7.149169687181711e-05, + 7.081669755280018e-05, + 6.975000724196434e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-sdae]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "sdae" + }, + "param": "primal-tree16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0002725917031057179, + "max": 0.00028788750059902666, + "mean": 0.00027679812454152854, + "stddev": 3.1812174089905015e-06, + "rounds": 20, + "median": 0.0002762625052127987, + "iqr": 2.8770533390342864e-06, + "q1": 0.00027483750018291174, + "q3": 0.00027771455352194603, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.0002725917031057179, + "hd15iqr": 0.00028788750059902666, + "ops": 3612.7412411349924, + "total": 0.005535962490830571, + "data": [ + 0.00028788750059902666, + 0.0002789416932500899, + 0.000276979198679328, + 0.0002770249964669347, + 0.0002768875099718571, + 0.0002790040918625891, + 0.0002795957960188389, + 0.00027793330373242496, + 0.00027749580331146715, + 0.0002743041957728565, + 0.00027520000003278255, + 0.0002743707969784737, + 0.00027552079409360887, + 0.0002742083976045251, + 0.0002757166977971792, + 0.0002753000007942319, + 0.00027645000955089927, + 0.00027447500033304093, + 0.0002725917031057179, + 0.0002760750008746982 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-rk4]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "rk4" + }, + "param": "jvp-scalar-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.1166978664696215e-06, + "max": 6.649992428719997e-06, + "mean": 5.313334404490888e-06, + "stddev": 3.3086267592588303e-07, + "rounds": 20, + "median": 5.214597331359983e-06, + "iqr": 1.5830155462026545e-07, + "q1": 5.174998659640551e-06, + "q3": 5.333300214260816e-06, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 5.1166978664696215e-06, + "hd15iqr": 6.649992428719997e-06, + "ops": 188205.7337017578, + "total": 0.00010626668808981777, + "data": [ + 6.649992428719997e-06, + 5.53330173715949e-06, + 5.387503188103438e-06, + 5.345803219825029e-06, + 5.366699770092964e-06, + 5.320797208696604e-06, + 5.270796827971936e-06, + 5.212496034801006e-06, + 5.220901221036911e-06, + 5.2166986279189585e-06, + 5.2417046390473844e-06, + 5.191692616790533e-06, + 5.158304702490568e-06, + 5.183299072086811e-06, + 5.174998659640551e-06, + 5.212496034801006e-06, + 5.174998659640551e-06, + 5.137501284480095e-06, + 5.150004290044307e-06, + 5.1166978664696215e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-tsit5]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "tsit5" + }, + "param": "jvp-scalar-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.808301597833634e-06, + "max": 1.644589938223362e-05, + "mean": 9.169999975711107e-06, + "stddev": 2.6193048908088777e-06, + "rounds": 20, + "median": 8.106249151751398e-06, + "iqr": 3.875000402331342e-07, + "q1": 7.947901031002402e-06, + "q3": 8.335401071235536e-06, + "iqr_outliers": 4, + "stddev_outliers": 3, + "outliers": "3;4", + "ld15iqr": 7.808301597833634e-06, + "hd15iqr": 9.02500469237566e-06, + "ops": 109051.25437826982, + "total": 0.00018339999951422215, + "data": [ + 1.4829100109636784e-05, + 1.644589938223362e-05, + 8.200004231184721e-06, + 8.124997839331627e-06, + 8.000002708286047e-06, + 7.987499702721835e-06, + 8.220889139920472e-06, + 8.366699330508708e-06, + 7.895892485976219e-06, + 1.4183297753334046e-05, + 7.945799734443425e-06, + 7.950002327561378e-06, + 9.02500469237566e-06, + 8.087500464171172e-06, + 8.220796007663012e-06, + 7.887498941272498e-06, + 8.304102811962366e-06, + 8.062506094574928e-06, + 7.808301597833634e-06, + 7.854204159229994e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-rodas5p]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "rodas5p" + }, + "param": "jvp-scalar-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.79792002402246e-05, + "max": 3.4208293072879314e-05, + "mean": 2.8778325649909675e-05, + "stddev": 1.348518621711972e-06, + "rounds": 20, + "median": 2.8343754820525646e-05, + "iqr": 7.562572136521353e-07, + "q1": 2.8181244852021335e-05, + "q3": 2.893750206567347e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 2.79792002402246e-05, + "hd15iqr": 3.4208293072879314e-05, + "ops": 34748.37320854136, + "total": 0.0005755665129981935, + "data": [ + 3.4208293072879314e-05, + 2.9191700741648673e-05, + 2.885420108214021e-05, + 2.833330072462559e-05, + 2.8233299963176252e-05, + 2.8404092881828545e-05, + 2.8437492437660695e-05, + 2.8712500352412462e-05, + 2.9437500052154066e-05, + 2.8354208916425704e-05, + 2.9208301566541194e-05, + 2.9020803049206732e-05, + 2.8187490534037353e-05, + 2.8054206632077693e-05, + 2.8075010050088167e-05, + 2.8258305974304676e-05, + 2.79792002402246e-05, + 2.817499917000532e-05, + 2.830410376191139e-05, + 2.8137501794844864e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-em]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "em" + }, + "param": "jvp-scalar-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.941597580909729e-06, + "max": 8.637493010610342e-06, + "mean": 5.2360241534188385e-06, + "stddev": 8.066306749170957e-07, + "rounds": 20, + "median": 5.041650729253888e-06, + "iqr": 1.5829573385417546e-07, + "q1": 4.979153163731098e-06, + "q3": 5.1374488975852735e-06, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 4.941597580909729e-06, + "hd15iqr": 8.637493010610342e-06, + "ops": 190984.60410024168, + "total": 0.00010472048306837678, + "data": [ + 8.637493010610342e-06, + 5.312496796250343e-06, + 5.154102109372616e-06, + 5.1915994845330715e-06, + 5.058303941041231e-06, + 5.191704258322716e-06, + 5.12079568579793e-06, + 5.099992267787456e-06, + 4.999991506338119e-06, + 5.074997898191214e-06, + 5.033309571444989e-06, + 4.950002767145633e-06, + 4.975008778274059e-06, + 5.049991887062788e-06, + 4.941597580909729e-06, + 4.945800174027681e-06, + 5.012506153434515e-06, + 5.033297929912805e-06, + 4.954193718731403e-06, + 4.983297549188137e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-dae]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "dae" + }, + "param": "jvp-scalar-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.9945792630314826e-05, + "max": 3.326250007376075e-05, + "mean": 3.0395624344237147e-05, + "stddev": 7.294084955371686e-07, + "rounds": 20, + "median": 3.016039845533669e-05, + "iqr": 3.541470505297191e-07, + "q1": 3.0052103102207185e-05, + "q3": 3.0406250152736904e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 2.9945792630314826e-05, + "hd15iqr": 3.326250007376075e-05, + "ops": 32899.47226201967, + "total": 0.000607912486884743, + "data": [ + 3.326250007376075e-05, + 3.0887499451637265e-05, + 3.090410027652979e-05, + 3.055420238524675e-05, + 3.0325003899633883e-05, + 3.042500466108322e-05, + 3.0387495644390584e-05, + 3.0341697856783868e-05, + 3.0195899307727812e-05, + 3.018330316990614e-05, + 3.005419857800007e-05, + 3.0041602440178394e-05, + 2.9987492598593236e-05, + 3.013749374076724e-05, + 3.006249899044633e-05, + 2.9954197816550732e-05, + 2.9945792630314826e-05, + 3.0099996365606785e-05, + 3.00500076264143e-05, + 3.0112499371170997e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-rodas5p_dae]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "rodas5p_dae" + }, + "param": "jvp-scalar-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.429170465096831e-05, + "max": 4.155420465394855e-05, + "mean": 3.534459683578462e-05, + "stddev": 1.6458220634334035e-06, + "rounds": 20, + "median": 3.46958520822227e-05, + "iqr": 7.374444976449053e-07, + "q1": 3.456460544839501e-05, + "q3": 3.5302049946039914e-05, + "iqr_outliers": 3, + "stddev_outliers": 1, + "outliers": "1;3", + "ld15iqr": 3.429170465096831e-05, + "hd15iqr": 3.678749781101942e-05, + "ops": 28292.867638188778, + "total": 0.0007068919367156923, + "data": [ + 4.155420465394855e-05, + 3.678749781101942e-05, + 3.473340766504407e-05, + 3.6191707476973536e-05, + 3.691250458359718e-05, + 3.4945795778185126e-05, + 3.475830890238285e-05, + 3.445419715717435e-05, + 3.465829649940133e-05, + 3.429170465096831e-05, + 3.462079912424088e-05, + 3.447090275585651e-05, + 3.548749955371022e-05, + 3.4550006967037915e-05, + 3.500840393826366e-05, + 3.5116600338369607e-05, + 3.462500171735883e-05, + 3.4545897506177425e-05, + 3.45999957062304e-05, + 3.457920392975211e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-sdae]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "sdae" + }, + "param": "jvp-scalar-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.525830296799541e-05, + "max": 9.151250123977661e-05, + "mean": 7.74983299197629e-05, + "stddev": 3.659824692490564e-06, + "rounds": 20, + "median": 7.63895979616791e-05, + "iqr": 1.9125523976981586e-06, + "q1": 7.569164736196399e-05, + "q3": 7.760419975966215e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 7.525830296799541e-05, + "hd15iqr": 8.14375001937151e-05, + "ops": 12903.50386950712, + "total": 0.001549966598395258, + "data": [ + 8.14375001937151e-05, + 7.765420014038682e-05, + 7.642919663339854e-05, + 7.627910235896707e-05, + 7.724580354988575e-05, + 7.5983302667737e-05, + 7.533750031143426e-05, + 7.634999928995967e-05, + 7.541669765487313e-05, + 7.564999395981431e-05, + 9.151250123977661e-05, + 8.010839810594917e-05, + 7.775410776957869e-05, + 7.755419937893748e-05, + 7.645419100299478e-05, + 7.644160650670529e-05, + 7.525830296799541e-05, + 7.577919168397785e-05, + 7.55875022150576e-05, + 7.573330076411366e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-rk4]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "rk4" + }, + "param": "jvp-vector16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.650008097290992e-06, + "max": 7.545796688646078e-06, + "mean": 5.891249747946858e-06, + "stddev": 4.30282089092475e-07, + "rounds": 20, + "median": 5.7250435929745436e-06, + "iqr": 2.2285385057330165e-07, + "q1": 5.685450742021202e-06, + "q3": 5.908304592594504e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 5.650008097290992e-06, + "hd15iqr": 6.266601849347353e-06, + "ops": 169743.27057658808, + "total": 0.00011782499495893717, + "data": [ + 7.545796688646078e-06, + 6.020802538841963e-06, + 6.141699850559235e-06, + 6.266601849347353e-06, + 6.137497257441282e-06, + 5.795795004814863e-06, + 5.795806646347046e-06, + 5.770905409008264e-06, + 5.737494211643934e-06, + 5.720893386751413e-06, + 5.679100286215544e-06, + 5.729193799197674e-06, + 5.708297248929739e-06, + 5.683302879333496e-06, + 5.650008097290992e-06, + 5.695794243365526e-06, + 5.658401641994715e-06, + 5.687493830919265e-06, + 5.68340765312314e-06, + 5.7167024351656435e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-tsit5]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "tsit5" + }, + "param": "jvp-vector16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 8.037500083446503e-06, + "max": 1.5879201237112282e-05, + "mean": 8.91230592969805e-06, + "stddev": 2.1431688667371846e-06, + "rounds": 20, + "median": 8.189596701413394e-06, + "iqr": 3.291526809334748e-07, + "q1": 8.089601760730147e-06, + "q3": 8.418754441663622e-06, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 8.037500083446503e-06, + "hd15iqr": 1.4341692440211773e-05, + "ops": 112204.40679305542, + "total": 0.000178246118593961, + "data": [ + 1.5879201237112282e-05, + 1.4341692440211773e-05, + 8.791708387434482e-06, + 8.545804303139447e-06, + 8.341704960912466e-06, + 8.354103192687034e-06, + 8.212495595216751e-06, + 8.48340569064021e-06, + 8.187501225620509e-06, + 8.19170381873846e-06, + 8.191692177206279e-06, + 8.087500464171172e-06, + 8.074997458606958e-06, + 8.095800876617431e-06, + 8.062506094574928e-06, + 8.058396633714438e-06, + 8.104194421321154e-06, + 8.037500083446503e-06, + 8.112506475299596e-06, + 8.091703057289123e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-rodas5p]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "rodas5p" + }, + "param": "jvp-vector16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.615420570597053e-05, + "max": 8.026671130210162e-05, + "mean": 6.807706435211003e-05, + "stddev": 2.985392889243444e-06, + "rounds": 20, + "median": 6.73374452162534e-05, + "iqr": 9.291921742260402e-07, + "q1": 6.693535251542926e-05, + "q3": 6.78645446896553e-05, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 6.615420570597053e-05, + "hd15iqr": 6.94582937285304e-05, + "ops": 14689.23505320049, + "total": 0.0013615412870422005, + "data": [ + 8.026671130210162e-05, + 6.758749950677156e-05, + 6.764159770682454e-05, + 6.94582937285304e-05, + 6.917089922353625e-05, + 6.687080021947623e-05, + 6.808749167248606e-05, + 6.691659800708293e-05, + 6.695420015603303e-05, + 6.821670103818178e-05, + 6.730000022798776e-05, + 6.733329501003027e-05, + 6.615420570597053e-05, + 6.742499535903335e-05, + 6.695410702377558e-05, + 6.727910367771983e-05, + 6.734159542247653e-05, + 6.668329006060958e-05, + 6.763329729437828e-05, + 6.626660469919444e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-em]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "em" + }, + "param": "jvp-vector16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.4416699782013894e-05, + "max": 4.452080465853214e-05, + "mean": 3.65916604641825e-05, + "stddev": 2.1499003249413067e-06, + "rounds": 20, + "median": 3.6118755815550685e-05, + "iqr": 1.4229502994567142e-06, + "q1": 3.538334858603776e-05, + "q3": 3.680629888549447e-05, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 3.4416699782013894e-05, + "hd15iqr": 4.452080465853214e-05, + "ops": 27328.63136885639, + "total": 0.00073183320928365, + "data": [ + 4.452080465853214e-05, + 3.801250131800771e-05, + 3.630000865086913e-05, + 3.656669287011027e-05, + 3.520840546116233e-05, + 3.801250131800771e-05, + 3.593750298023224e-05, + 3.593330038711429e-05, + 3.580410266295076e-05, + 3.846660256385803e-05, + 3.4416699782013894e-05, + 3.556659212335944e-05, + 3.635419998317957e-05, + 3.632080042734742e-05, + 3.513330593705177e-05, + 3.704590490087867e-05, + 3.6529090721160173e-05, + 3.493749536573887e-05, + 3.545419313013554e-05, + 3.531250404193997e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-dae]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "dae" + }, + "param": "jvp-vector16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00014442920219153165, + "max": 0.00015100419986993074, + "mean": 0.00014672583958599716, + "stddev": 1.5793975389029353e-06, + "rounds": 20, + "median": 0.00014625205076299608, + "iqr": 1.6125501133501204e-06, + "q1": 0.0001457436999771744, + "q3": 0.00014735625009052453, + "iqr_outliers": 1, + "stddev_outliers": 5, + "outliers": "5;1", + "ld15iqr": 0.00014442920219153165, + "hd15iqr": 0.00015100419986993074, + "ops": 6815.432120351863, + "total": 0.0029345167917199434, + "data": [ + 0.00015100419986993074, + 0.0001490499940700829, + 0.00014745000516995787, + 0.0001475083059631288, + 0.0001456208061426878, + 0.0001471958006732166, + 0.00014726249501109123, + 0.00014714169083163142, + 0.00014442920219153165, + 0.00014886660501360892, + 0.00014638750581070782, + 0.000145866593811661, + 0.00014715840807184578, + 0.00014545000158250332, + 0.0001459792023524642, + 0.00014602089067921041, + 0.00014611659571528435, + 0.00014587920159101487, + 0.00014554589288309216, + 0.00014458339428529142 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-rodas5p_dae]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "rodas5p_dae" + }, + "param": "jvp-vector16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 8.968340698629617e-05, + "max": 0.00011423330288380384, + "mean": 9.475750557612628e-05, + "stddev": 5.336136698570225e-06, + "rounds": 20, + "median": 9.342084522359073e-05, + "iqr": 3.9646052755415385e-06, + "q1": 9.191249846480788e-05, + "q3": 9.587710374034942e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 8.968340698629617e-05, + "hd15iqr": 0.00011423330288380384, + "ops": 10553.253738793494, + "total": 0.0018951501115225255, + "data": [ + 0.00011423330288380384, + 9.63625032454729e-05, + 9.357089875265956e-05, + 9.539170423522592e-05, + 9.32707916945219e-05, + 9.428750490769744e-05, + 9.525829227641225e-05, + 9.184590307995678e-05, + 9.943330660462379e-05, + 8.968340698629617e-05, + 9.301250101998449e-05, + 9.8025007173419e-05, + 9.786250302568078e-05, + 8.989159250631929e-05, + 9.064590558409691e-05, + 9.297919459640979e-05, + 9.197909384965897e-05, + 9.033750975504518e-05, + 9.275829652324318e-05, + 9.432089282199741e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-sdae]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "sdae" + }, + "param": "jvp-vector16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00035472080344334245, + "max": 0.00037828340427950027, + "mean": 0.00035988148127216843, + "stddev": 5.411328917653042e-06, + "rounds": 20, + "median": 0.00035778754972852765, + "iqr": 6.031256634742087e-06, + "q1": 0.00035619169357232745, + "q3": 0.00036222295020706954, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.00035472080344334245, + "hd15iqr": 0.00037828340427950027, + "ops": 2778.692575302944, + "total": 0.0071976296254433695, + "data": [ + 0.00037828340427950027, + 0.00036548330681398513, + 0.0003615292022004724, + 0.0003569583990611136, + 0.00035620839335024355, + 0.0003561749937944114, + 0.00036453750217333434, + 0.00035585840232670306, + 0.000360979198012501, + 0.00036292501026764513, + 0.00035584160359576346, + 0.0003573458059690893, + 0.0003573916968889534, + 0.0003608459024690092, + 0.0003629166982136667, + 0.00035472080344334245, + 0.0003566624945960939, + 0.00035941250389441847, + 0.0003581834025681019, + 0.0003553709015250206 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-rk4]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "rk4" + }, + "param": "jvp-tree16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.683306466788054e-06, + "max": 9.216694161295891e-06, + "mean": 7.880624034442007e-06, + "stddev": 3.332643034981443e-07, + "rounds": 20, + "median": 7.785402704030276e-06, + "iqr": 1.187436282634752e-07, + "q1": 7.741700392216444e-06, + "q3": 7.860444020479919e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 7.683306466788054e-06, + "hd15iqr": 8.158397395163775e-06, + "ops": 126893.50432523276, + "total": 0.00015761248068884014, + "data": [ + 9.216694161295891e-06, + 8.158397395163775e-06, + 7.974996697157621e-06, + 7.924996316432953e-06, + 7.841689512133599e-06, + 7.879198528826237e-06, + 7.829105015844107e-06, + 7.79579859226942e-06, + 7.800001185387373e-06, + 7.83340074121952e-06, + 7.750000804662704e-06, + 7.77500681579113e-06, + 7.683306466788054e-06, + 7.724994793534279e-06, + 7.704098243266344e-06, + 7.766601629555226e-06, + 7.741700392216444e-06, + 7.754191756248474e-06, + 7.716601248830558e-06, + 7.741700392216444e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-tsit5]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "tsit5" + }, + "param": "jvp-tree16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.579579595476389e-05, + "max": 2.8529204428195953e-05, + "mean": 2.6914568152278662e-05, + "stddev": 5.943845045591786e-07, + "rounds": 20, + "median": 2.686664811335504e-05, + "iqr": 5.18799060955645e-07, + "q1": 2.6683299802243708e-05, + "q3": 2.7202098863199353e-05, + "iqr_outliers": 2, + "stddev_outliers": 5, + "outliers": "5;2", + "ld15iqr": 2.607919741421938e-05, + "hd15iqr": 2.8529204428195953e-05, + "ops": 37154.599484641454, + "total": 0.0005382913630455732, + "data": [ + 2.8529204428195953e-05, + 2.758329501375556e-05, + 2.685410436242819e-05, + 2.607919741421938e-05, + 2.7291697915643453e-05, + 2.7112499810755254e-05, + 2.6237498968839645e-05, + 2.6345800142735244e-05, + 2.704579383134842e-05, + 2.739160554483533e-05, + 2.579579595476389e-05, + 2.7487496845424174e-05, + 2.663329942151904e-05, + 2.6733300182968377e-05, + 2.6879191864281893e-05, + 2.6833300944417714e-05, + 2.6779191102832556e-05, + 2.6949995663017036e-05, + 2.6754091959446668e-05, + 2.697500167414546e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-rodas5p]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "rodas5p" + }, + "param": "jvp-tree16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.514160824939609e-05, + "max": 8.966249879449606e-05, + "mean": 7.684977957978844e-05, + "stddev": 3.075157018929808e-06, + "rounds": 20, + "median": 7.616454968228936e-05, + "iqr": 1.0313058737665523e-06, + "q1": 7.577079813927411e-05, + "q3": 7.680210401304067e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 7.514160824939609e-05, + "hd15iqr": 8.966249879449606e-05, + "ops": 13012.399065657188, + "total": 0.0015369955915957689, + "data": [ + 8.966249879449606e-05, + 7.58292037062347e-05, + 7.695409003645181e-05, + 7.663329597562551e-05, + 7.514160824939609e-05, + 7.682921132072807e-05, + 7.542079547420144e-05, + 7.633749628439545e-05, + 7.57124973461032e-05, + 7.587909931316972e-05, + 7.603339618071914e-05, + 7.677499670535325e-05, + 7.611659821122884e-05, + 7.582909893244505e-05, + 7.621250115334988e-05, + 7.711249636486173e-05, + 7.519170176237822e-05, + 7.570000598207116e-05, + 7.653749780729413e-05, + 7.708750199526548e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-em]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "em" + }, + "param": "jvp-tree16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.068749258294702e-05, + "max": 5.172500386834145e-05, + "mean": 4.483126453123987e-05, + "stddev": 1.984358912946936e-06, + "rounds": 20, + "median": 4.4702098239213226e-05, + "iqr": 1.2145959772169644e-06, + "q1": 4.3870852096006274e-05, + "q3": 4.508544807322324e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 4.368749214336276e-05, + "hd15iqr": 5.172500386834145e-05, + "ops": 22305.862001799385, + "total": 0.0008966252906247974, + "data": [ + 5.172500386834145e-05, + 4.497079644352198e-05, + 4.5112497173249724e-05, + 4.368749214336276e-05, + 4.610419273376465e-05, + 4.617921076714993e-05, + 4.37250011600554e-05, + 4.446669481694698e-05, + 4.431249108165503e-05, + 4.3925002682954076e-05, + 4.460830241441727e-05, + 4.5058398973196746e-05, + 4.497079644352198e-05, + 4.4845906086266044e-05, + 4.435000009834766e-05, + 4.381670150905847e-05, + 4.068749258294702e-05, + 4.54709050245583e-05, + 4.479589406400919e-05, + 4.38125105574727e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-dae]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "dae" + }, + "param": "jvp-tree16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00017846249975264072, + "max": 0.00019565420225262642, + "mean": 0.00018577479175291956, + "stddev": 3.966031836628928e-06, + "rounds": 20, + "median": 0.00018596245208755133, + "iqr": 3.927049692720186e-06, + "q1": 0.00018341250251978635, + "q3": 0.00018733955221250653, + "iqr_outliers": 2, + "stddev_outliers": 5, + "outliers": "5;2", + "ld15iqr": 0.00017846249975264072, + "hd15iqr": 0.00019344170577824117, + "ops": 5382.86163889232, + "total": 0.003715495835058391, + "data": [ + 0.00019565420225262642, + 0.00018737911013886333, + 0.00018485409673303367, + 0.00018769589951261878, + 0.00018615000881254672, + 0.0001874457928352058, + 0.00018601659685373305, + 0.00019344170577824117, + 0.00018639171030372382, + 0.00018590830732136964, + 0.00018436670070514082, + 0.00018548750085756183, + 0.00018241669749841094, + 0.00018729999428614973, + 0.0001853541936725378, + 0.00018710000440478325, + 0.0001802916987799108, + 0.00018245830433443188, + 0.0001813208102248609, + 0.00017846249975264072 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-rodas5p_dae]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "rodas5p_dae" + }, + "param": "jvp-tree16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00012944999616593122, + "max": 0.00014753330033272504, + "mean": 0.00013355790521018206, + "stddev": 4.199754500947353e-06, + "rounds": 20, + "median": 0.00013211455079726876, + "iqr": 3.5791541449725845e-06, + "q1": 0.00013122084783390164, + "q3": 0.00013480000197887423, + "iqr_outliers": 1, + "stddev_outliers": 3, + "outliers": "3;1", + "ld15iqr": 0.00012944999616593122, + "hd15iqr": 0.00014753330033272504, + "ops": 7487.389072374901, + "total": 0.0026711581042036412, + "data": [ + 0.00014753330033272504, + 0.00013923749793320894, + 0.00013789170188829302, + 0.00013540420914068819, + 0.00013419579481706024, + 0.0001320832991041243, + 0.00013145830016583204, + 0.000136508303694427, + 0.0001320832991041243, + 0.00013268339680507779, + 0.0001310582971200347, + 0.00013214999344199896, + 0.0001321458024904132, + 0.00013114999746903776, + 0.00013129169819876553, + 0.0001295417081564665, + 0.00013061660574749113, + 0.00012944999616593122, + 0.0001330208033323288, + 0.00013165409909561278 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-sdae]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "sdae" + }, + "param": "jvp-tree16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00038207080215215685, + "max": 0.0004098374978639185, + "mean": 0.0003872364695416763, + "stddev": 6.201834797409874e-06, + "rounds": 20, + "median": 0.0003855833492707461, + "iqr": 2.631254028528907e-06, + "q1": 0.00038428959669545293, + "q3": 0.00038692085072398184, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 0.00038207080215215685, + "hd15iqr": 0.00039667079690843823, + "ops": 2582.401397222673, + "total": 0.007744729390833527, + "data": [ + 0.0004098374978639185, + 0.00039667079690843823, + 0.0003903042059391737, + 0.00038898339262232183, + 0.00038725420599803326, + 0.00038449589628726245, + 0.0003862958052195609, + 0.0003856249968521297, + 0.00038470419822260736, + 0.0003832958987914026, + 0.00038633750518783926, + 0.0003855417016893625, + 0.0003865874954499304, + 0.0003851083922199905, + 0.0003838708042167127, + 0.00038595409132540225, + 0.0003823584062047303, + 0.00038207080215215685, + 0.0003853500005789101, + 0.0003840832971036434 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-rk4]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "rk4" + }, + "param": "vjp-scalar-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.170796066522599e-06, + "max": 6.512494292110205e-06, + "mean": 5.366234690882266e-06, + "stddev": 3.019642106524176e-07, + "rounds": 20, + "median": 5.245802458375693e-06, + "iqr": 2.7500209398567677e-07, + "q1": 5.1916460506618025e-06, + "q3": 5.466648144647479e-06, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 5.170796066522599e-06, + "hd15iqr": 6.512494292110205e-06, + "ops": 186350.4035146084, + "total": 0.00010732469381764531, + "data": [ + 6.512494292110205e-06, + 5.4790987633168696e-06, + 5.3790980018675326e-06, + 5.554105155169964e-06, + 5.283299833536148e-06, + 5.266605876386166e-06, + 5.529099144041538e-06, + 5.212507676333189e-06, + 5.204207263886929e-06, + 5.224999040365219e-06, + 5.191692616790533e-06, + 5.462497938424349e-06, + 5.449994932860136e-06, + 5.187501665204764e-06, + 5.170796066522599e-06, + 5.183392204344273e-06, + 5.191704258322716e-06, + 5.179201252758503e-06, + 5.47079835087061e-06, + 5.1915994845330715e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-tsit5]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "tsit5" + }, + "param": "vjp-scalar-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 1.9395805429667236e-05, + "max": 3.098329761996865e-05, + "mean": 2.1718142088502647e-05, + "stddev": 3.101428408746552e-06, + "rounds": 20, + "median": 2.079170080833137e-05, + "iqr": 1.4187535271048546e-06, + "q1": 2.0185450557619335e-05, + "q3": 2.160420408472419e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 1.9395805429667236e-05, + "hd15iqr": 2.9895908664911985e-05, + "ops": 46044.45425971264, + "total": 0.0004343628417700529, + "data": [ + 2.9895908664911985e-05, + 2.1154200658202173e-05, + 2.0800007041543724e-05, + 1.9395805429667236e-05, + 1.95458997040987e-05, + 2.1104200277477504e-05, + 3.098329761996865e-05, + 2.2775004617869853e-05, + 2.112920628860593e-05, + 2.162500750273466e-05, + 2.0112504716962577e-05, + 2.1816696971654892e-05, + 2.078339457511902e-05, + 1.954580657184124e-05, + 2.01208982616663e-05, + 2.025000285357237e-05, + 2.074160147458315e-05, + 2.1583400666713715e-05, + 2.0712497644126415e-05, + 2.0287500228732823e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-rodas5p]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "rodas5p" + }, + "param": "vjp-scalar-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.776249941438437e-05, + "max": 4.861250054091215e-05, + "mean": 4.050332529004663e-05, + "stddev": 2.5341751822260225e-06, + "rounds": 20, + "median": 3.971040132455528e-05, + "iqr": 2.0771520212292644e-06, + "q1": 3.9074948290362954e-05, + "q3": 4.115210031159222e-05, + "iqr_outliers": 2, + "stddev_outliers": 3, + "outliers": "3;2", + "ld15iqr": 3.776249941438437e-05, + "hd15iqr": 4.49625076726079e-05, + "ops": 24689.330884290186, + "total": 0.0008100665058009326, + "data": [ + 4.861250054091215e-05, + 4.49625076726079e-05, + 4.142089746892452e-05, + 4.239580594003201e-05, + 4.195419605821371e-05, + 4.0799996349960564e-05, + 3.974999999627471e-05, + 3.97083000279963e-05, + 3.9974995888769624e-05, + 3.94499977119267e-05, + 4.088330315425992e-05, + 3.962090704590082e-05, + 3.8970797322690484e-05, + 3.9179099258035424e-05, + 3.815829986706376e-05, + 3.971250262111425e-05, + 3.9666600059717894e-05, + 3.8304203189909455e-05, + 3.776249941438437e-05, + 3.8779096212238076e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-em]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "em" + }, + "param": "vjp-scalar-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.2416079193353654e-06, + "max": 4.191696643829346e-06, + "mean": 3.3397943479940293e-06, + "stddev": 2.1111787748170785e-07, + "rounds": 20, + "median": 3.270898014307022e-06, + "iqr": 8.124625310301798e-08, + "q1": 3.250001464039087e-06, + "q3": 3.331247717142105e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 3.2416079193353654e-06, + "hd15iqr": 3.508396912366152e-06, + "ops": 299419.6336072689, + "total": 6.67958869598806e-05, + "data": [ + 4.191696643829346e-06, + 3.508396912366152e-06, + 3.3958000130951405e-06, + 3.345799632370472e-06, + 3.362505231052637e-06, + 3.3166958019137383e-06, + 3.304099664092064e-06, + 3.245903644710779e-06, + 3.2791984267532824e-06, + 3.270898014307022e-06, + 3.2665906473994254e-06, + 3.241701051592827e-06, + 3.245903644710779e-06, + 3.2416079193353654e-06, + 3.2540992833673954e-06, + 3.245903644710779e-06, + 3.2583018764853476e-06, + 3.291596658527851e-06, + 3.258290234953165e-06, + 3.270898014307022e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-dae]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "dae" + }, + "param": "vjp-scalar-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.818330053240061e-05, + "max": 5.1833305042237045e-05, + "mean": 4.926646070089191e-05, + "stddev": 1.2318371709485365e-06, + "rounds": 20, + "median": 4.876874736510217e-05, + "iqr": 9.10402741283177e-07, + "q1": 4.8402103129774335e-05, + "q3": 4.931250587105751e-05, + "iqr_outliers": 4, + "stddev_outliers": 4, + "outliers": "4;4", + "ld15iqr": 4.818330053240061e-05, + "hd15iqr": 5.115410313010216e-05, + "ops": 20297.784451601496, + "total": 0.0009853292140178382, + "data": [ + 5.1749998237937686e-05, + 4.902499495074153e-05, + 4.872089484706521e-05, + 4.855829756706953e-05, + 4.8641697503626347e-05, + 4.8816599883139136e-05, + 4.840419860556722e-05, + 4.853330319747329e-05, + 4.8341695219278336e-05, + 4.840000765398145e-05, + 4.818330053240061e-05, + 4.9333309289067986e-05, + 4.929170245304704e-05, + 4.897500621154904e-05, + 5.154589889571071e-05, + 4.832090344280005e-05, + 5.115410313010216e-05, + 4.8370903823524716e-05, + 5.1833305042237045e-05, + 4.9129093531519176e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-rodas5p_dae]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "rodas5p_dae" + }, + "param": "vjp-scalar-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.076249897480011e-05, + "max": 5.0483399536460635e-05, + "mean": 4.237396351527423e-05, + "stddev": 2.3553743705764215e-06, + "rounds": 20, + "median": 4.160834942013025e-05, + "iqr": 8.375034667551558e-07, + "q1": 4.123124526813626e-05, + "q3": 4.206874873489141e-05, + "iqr_outliers": 3, + "stddev_outliers": 2, + "outliers": "2;3", + "ld15iqr": 4.076249897480011e-05, + "hd15iqr": 4.414580762386322e-05, + "ops": 23599.3972959253, + "total": 0.0008474792703054845, + "data": [ + 5.0483399536460635e-05, + 4.675419768318534e-05, + 4.207500023767352e-05, + 4.414580762386322e-05, + 4.3100002221763135e-05, + 4.203749122098088e-05, + 4.173339111730456e-05, + 4.120829980820417e-05, + 4.134579794481397e-05, + 4.1620805859565735e-05, + 4.093749448657036e-05, + 4.10082982853055e-05, + 4.076249897480011e-05, + 4.2062497232109306e-05, + 4.125419072806835e-05, + 4.135000053793192e-05, + 4.1441700886934996e-05, + 4.0829204954206945e-05, + 4.159589298069477e-05, + 4.17332979850471e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-sdae]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "sdae" + }, + "param": "vjp-scalar-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.938749622553587e-05, + "max": 8.86125024408102e-05, + "mean": 8.160500030498952e-05, + "stddev": 2.0656769730480807e-06, + "rounds": 20, + "median": 8.105625165626407e-05, + "iqr": 2.279150066897273e-06, + "q1": 8.031874895095826e-05, + "q3": 8.259789901785553e-05, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 7.938749622553587e-05, + "hd15iqr": 8.86125024408102e-05, + "ops": 12254.151047884472, + "total": 0.0016321000060997904, + "data": [ + 8.355830796062947e-05, + 8.100830018520355e-05, + 8.24584043584764e-05, + 8.039169479161501e-05, + 8.08208016678691e-05, + 7.938749622553587e-05, + 8.067500311881304e-05, + 8.01083049736917e-05, + 8.86125024408102e-05, + 8.261670591309666e-05, + 8.141669677570462e-05, + 8.287089876830578e-05, + 8.024580311030149e-05, + 7.963749812915921e-05, + 8.308329852297902e-05, + 7.964159594848752e-05, + 8.110420312732459e-05, + 8.257909212261438e-05, + 8.046249859035015e-05, + 8.142089936882257e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-rk4]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "rk4" + }, + "param": "vjp-vector16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.124998278915882e-06, + "max": 6.674998439848423e-06, + "mean": 5.302074132487178e-06, + "stddev": 3.4437556541778526e-07, + "rounds": 20, + "median": 5.199946463108062e-06, + "iqr": 1.3739918358623897e-07, + "q1": 5.141698056831957e-06, + "q3": 5.2790972404181956e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 5.124998278915882e-06, + "hd15iqr": 5.612499080598354e-06, + "ops": 188605.43534703553, + "total": 0.00010604148264974356, + "data": [ + 6.674998439848423e-06, + 5.370890721678734e-06, + 5.270796827971936e-06, + 5.2790972404181956e-06, + 5.2790972404181956e-06, + 5.245895590633154e-06, + 5.229096859693527e-06, + 5.162495654076338e-06, + 5.612499080598354e-06, + 5.370797589421273e-06, + 5.262496415525675e-06, + 5.150004290044307e-06, + 5.16250729560852e-06, + 5.124998278915882e-06, + 5.1417038775980474e-06, + 5.1291077397763726e-06, + 5.137501284480095e-06, + 5.170796066522599e-06, + 5.125009920448065e-06, + 5.141692236065865e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-tsit5]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "tsit5" + }, + "param": "vjp-vector16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.0358292385935783e-05, + "max": 2.767910482361913e-05, + "mean": 2.163998899050057e-05, + "stddev": 1.8319212836525006e-06, + "rounds": 20, + "median": 2.099580015055835e-05, + "iqr": 6.521004252135754e-07, + "q1": 2.0837498595938087e-05, + "q3": 2.1489599021151662e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 2.0358292385935783e-05, + "hd15iqr": 2.5958300102502108e-05, + "ops": 46210.74439728115, + "total": 0.00043279977981001137, + "data": [ + 2.5958300102502108e-05, + 2.198748989030719e-05, + 2.145000034943223e-05, + 2.0924990531057118e-05, + 2.073330106213689e-05, + 2.156250411644578e-05, + 2.767910482361913e-05, + 2.1299999207258225e-05, + 2.1016597747802736e-05, + 2.0679109729826452e-05, + 2.0829204004257917e-05, + 2.1529197692871093e-05, + 2.0358292385935783e-05, + 2.0845793187618256e-05, + 2.097500255331397e-05, + 2.0891695749014615e-05, + 2.0745804067701102e-05, + 2.1066702902317048e-05, + 2.13916995562613e-05, + 2.087499015033245e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-rodas5p]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "rodas5p" + }, + "param": "vjp-vector16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00012234169989824295, + "max": 0.00013761250302195548, + "mean": 0.00012561521609313786, + "stddev": 3.4794653818269998e-06, + "rounds": 20, + "median": 0.00012469995417632162, + "iqr": 2.8269947506487315e-06, + "q1": 0.00012333545600995421, + "q3": 0.00012616245076060295, + "iqr_outliers": 1, + "stddev_outliers": 3, + "outliers": "3;1", + "ld15iqr": 0.00012234169989824295, + "hd15iqr": 0.00013761250302195548, + "ops": 7960.819008252522, + "total": 0.0025123043218627573, + "data": [ + 0.00013761250302195548, + 0.0001283709076233208, + 0.00012519590090960265, + 0.00012922498863190412, + 0.00012948329094797373, + 0.0001244083046913147, + 0.0001239042030647397, + 0.00012597080785781145, + 0.00012499160366132855, + 0.00012635409366339444, + 0.00012234169989824295, + 0.00012327079894021155, + 0.00012327920412644744, + 0.00012524999910965562, + 0.0001234250026755035, + 0.00012425000313669442, + 0.00012339170789346098, + 0.00012327920412644744, + 0.00012322089169174432, + 0.00012507920619100332 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-em]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "em" + }, + "param": "vjp-vector16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.5583972930908205e-06, + "max": 4.970794543623925e-06, + "mean": 3.688959404826164e-06, + "stddev": 3.1086465077942124e-07, + "rounds": 20, + "median": 3.591651329770684e-06, + "iqr": 7.504131644964244e-08, + "q1": 3.5791541449725625e-06, + "q3": 3.654195461422205e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 3.5583972930908205e-06, + "hd15iqr": 3.8666999898850914e-06, + "ops": 271079.1554636593, + "total": 7.377918809652329e-05, + "data": [ + 4.970794543623925e-06, + 3.8666999898850914e-06, + 3.6874902434647082e-06, + 3.729201853275299e-06, + 3.708305303007364e-06, + 3.6209006793797015e-06, + 3.5749981179833412e-06, + 3.5792007111012934e-06, + 3.604101948440075e-06, + 3.6209006793797015e-06, + 3.5792007111012934e-06, + 3.5792007111012934e-06, + 3.5917037166655064e-06, + 3.579107578843832e-06, + 3.591598942875862e-06, + 3.570795524865389e-06, + 3.5624951124191282e-06, + 3.6207959055900575e-06, + 3.5583972930908205e-06, + 3.5832985304296016e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-dae]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "dae" + }, + "param": "vjp-vector16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0005259957979433239, + "max": 0.0005616833921521902, + "mean": 0.0005433393747080118, + "stddev": 9.21793389776007e-06, + "rounds": 20, + "median": 0.0005435479513835161, + "iqr": 1.2839655391871907e-05, + "q1": 0.0005358916474506259, + "q3": 0.0005487313028424978, + "iqr_outliers": 0, + "stddev_outliers": 6, + "outliers": "6;0", + "ld15iqr": 0.0005259957979433239, + "hd15iqr": 0.0005616833921521902, + "ops": 1840.470333182453, + "total": 0.010866787494160235, + "data": [ + 0.000558699993416667, + 0.0005461665918119252, + 0.0005418625078164041, + 0.0005616833921521902, + 0.0005380958085879683, + 0.0005451208096928894, + 0.0005425625015050173, + 0.0005480291903950274, + 0.0005487084039486944, + 0.0005356999929063023, + 0.0005510666058398783, + 0.0005540958023630083, + 0.0005445334012620151, + 0.0005340792005881668, + 0.0005306707927957178, + 0.0005346207995899022, + 0.0005360833019949496, + 0.0005402583978138864, + 0.0005259957979433239, + 0.0005487542017363012 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-rodas5p_dae]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "rodas5p_dae" + }, + "param": "vjp-vector16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00021420420380309225, + "max": 0.0002466915990225971, + "mean": 0.000223863334977068, + "stddev": 6.5510780661504565e-06, + "rounds": 20, + "median": 0.0002222145558334887, + "iqr": 5.368748679757113e-06, + "q1": 0.00022092500003054739, + "q3": 0.0002262937487103045, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.00021420420380309225, + "hd15iqr": 0.0002466915990225971, + "ops": 4467.011090058305, + "total": 0.00447726669954136, + "data": [ + 0.0002466915990225971, + 0.00022639170056208967, + 0.00022556670010089874, + 0.00022852499969303608, + 0.00022619579685851933, + 0.00022298339754343033, + 0.0002219625050202012, + 0.0002267457894049585, + 0.0002177499933168292, + 0.00022065419470891358, + 0.0002221666043624282, + 0.0002231999998912215, + 0.0002211958053521812, + 0.0002217666944488883, + 0.0002292750054039061, + 0.0002222625073045492, + 0.00022182499524205923, + 0.00021420420380309225, + 0.00021735840709879994, + 0.0002205458004027605 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-sdae]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "sdae" + }, + "param": "vjp-vector16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0004581292043440044, + "max": 0.0004830082994885743, + "mean": 0.0004644424997968599, + "stddev": 5.424929210625439e-06, + "rounds": 20, + "median": 0.00046375000383704903, + "iqr": 5.006301216781172e-06, + "q1": 0.00046070829848758875, + "q3": 0.0004657145997043699, + "iqr_outliers": 1, + "stddev_outliers": 3, + "outliers": "3;1", + "ld15iqr": 0.0004581292043440044, + "hd15iqr": 0.0004830082994885743, + "ops": 2153.119063043078, + "total": 0.009288849995937199, + "data": [ + 0.0004830082994885743, + 0.0004662916995584965, + 0.00046345830196514726, + 0.00046663329703733325, + 0.0004642541985958815, + 0.0004606707952916622, + 0.00046060830354690554, + 0.00046268750447779893, + 0.00046513749985024335, + 0.00046452920651063323, + 0.0004581292043440044, + 0.0004607458016835153, + 0.0004599415929988027, + 0.0004608792020007968, + 0.0004605374997481704, + 0.00046404170570895075, + 0.00046272090403363106, + 0.0004678790923207998, + 0.0004719249904155731, + 0.00046477089636027814 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-rk4]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "rk4" + }, + "param": "vjp-tree16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.574997678399086e-06, + "max": 7.970805745571851e-06, + "mean": 6.729576271027327e-06, + "stddev": 3.013384718814386e-07, + "rounds": 20, + "median": 6.65420084260404e-06, + "iqr": 6.465124897658893e-08, + "q1": 6.6270527895539996e-06, + "q3": 6.6917040385305885e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 6.574997678399086e-06, + "hd15iqr": 6.887491326779127e-06, + "ops": 148597.76599981112, + "total": 0.00013459152542054652, + "data": [ + 7.970805745571851e-06, + 6.887491326779127e-06, + 6.770796608179807e-06, + 6.762496195733547e-06, + 6.7000044509768484e-06, + 6.683403626084328e-06, + 6.654206663370132e-06, + 6.674998439848423e-06, + 6.658292841166258e-06, + 6.645801477134228e-06, + 6.645801477134228e-06, + 6.5792002715170385e-06, + 6.574997678399086e-06, + 6.620807107537985e-06, + 6.633298471570015e-06, + 6.641610525548458e-06, + 6.65419502183795e-06, + 6.654206663370132e-06, + 6.6000036895275114e-06, + 6.579107139259577e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-tsit5]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "tsit5" + }, + "param": "vjp-tree16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.69667012616992e-05, + "max": 3.027090569958091e-05, + "mean": 2.8706875164061784e-05, + "stddev": 5.436026376282724e-07, + "rounds": 20, + "median": 2.870619646273553e-05, + "iqr": 9.379582479596274e-08, + "q1": 2.8647901490330693e-05, + "q3": 2.8741697315126656e-05, + "iqr_outliers": 4, + "stddev_outliers": 2, + "outliers": "2;4", + "ld15iqr": 2.8612499590963125e-05, + "hd15iqr": 2.8904108330607414e-05, + "ops": 34834.86078804923, + "total": 0.0005741375032812357, + "data": [ + 3.027090569958091e-05, + 2.69667012616992e-05, + 2.8837495483458044e-05, + 2.8666609432548283e-05, + 2.8924993239343165e-05, + 2.8737494722008706e-05, + 2.864169655367732e-05, + 2.8704095166176556e-05, + 2.874589990824461e-05, + 2.870829775929451e-05, + 2.8904108330607414e-05, + 2.867920557036996e-05, + 2.8725003357976674e-05, + 2.8612499590963125e-05, + 2.872080076485872e-05, + 2.865410642698407e-05, + 2.8708390891551973e-05, + 2.8612499590963125e-05, + 2.8687505982816218e-05, + 2.8629193548113107e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-rodas5p]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "rodas5p" + }, + "param": "vjp-tree16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00012923750327900052, + "max": 0.00015195830492302774, + "mean": 0.0001330962445354089, + "stddev": 4.949094433148396e-06, + "rounds": 20, + "median": 0.00013171244645491243, + "iqr": 3.2645999453961795e-06, + "q1": 0.00013056665193289518, + "q3": 0.00013383125187829136, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.00012923750327900052, + "hd15iqr": 0.00015195830492302774, + "ops": 7513.360001182904, + "total": 0.002661924890708178, + "data": [ + 0.00015195830492302774, + 0.00013843749184161425, + 0.00013436250155791641, + 0.000133350002579391, + 0.000131679093465209, + 0.00012995839351788164, + 0.00013394580455496907, + 0.0001348291989415884, + 0.00013144999975338577, + 0.00013050000416114926, + 0.00012989579699933528, + 0.00013203329872339963, + 0.0001306332997046411, + 0.00013174579944461585, + 0.00013072079746052624, + 0.00013371669920161366, + 0.00013127500424161553, + 0.00012923750327900052, + 0.00013229999458417297, + 0.00012989590177312494 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-em]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "em" + }, + "param": "vjp-tree16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.7333072870969776e-06, + "max": 6.141699850559235e-06, + "mean": 4.913739394396543e-06, + "stddev": 2.996050129162013e-07, + "rounds": 20, + "median": 4.835397703573108e-06, + "iqr": 7.709604687988758e-08, + "q1": 4.81249880976975e-06, + "q3": 4.8895948566496376e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 4.7333072870969776e-06, + "hd15iqr": 5.087500903755427e-06, + "ops": 203510.9963585706, + "total": 9.827478788793087e-05, + "data": [ + 6.141699850559235e-06, + 5.087500903755427e-06, + 4.9790949560701845e-06, + 4.9041933380067345e-06, + 4.854099825024605e-06, + 4.908291157335043e-06, + 4.87499637529254e-06, + 4.824995994567871e-06, + 4.8291985876858234e-06, + 4.854192957282066e-06, + 4.841596819460392e-06, + 4.858395550400019e-06, + 4.825007636100054e-06, + 4.808302037417889e-06, + 4.8166955821216105e-06, + 4.762504249811172e-06, + 4.783307667821646e-06, + 4.820805042982102e-06, + 4.766602069139481e-06, + 4.7333072870969776e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-dae]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "dae" + }, + "param": "vjp-tree16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006499832961708307, + "max": 0.0006837084074504673, + "mean": 0.0006658204144332559, + "stddev": 8.2857729397575e-06, + "rounds": 20, + "median": 0.0006660374463535845, + "iqr": 9.893806418404026e-06, + "q1": 0.0006606895476579666, + "q3": 0.0006705833540763706, + "iqr_outliers": 0, + "stddev_outliers": 6, + "outliers": "6;0", + "ld15iqr": 0.0006499832961708307, + "hd15iqr": 0.0006837084074504673, + "ops": 1501.9064875792324, + "total": 0.013316408288665116, + "data": [ + 0.0006837084074504673, + 0.0006753332912921905, + 0.0006534625077620149, + 0.0006533249979838729, + 0.0006630624993704259, + 0.0006499832961708307, + 0.0006662082974798978, + 0.0006578332977369428, + 0.0006700125057250261, + 0.0006658665952272713, + 0.0006744957994669676, + 0.0006645292043685914, + 0.0006682417006231844, + 0.0006724125007167459, + 0.0006583165959455073, + 0.0006699458928778768, + 0.0006711542024277151, + 0.000665195903275162, + 0.0006694291951134801, + 0.0006638915976509452 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-rodas5p_dae]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "rodas5p_dae" + }, + "param": "vjp-tree16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00028790830401703715, + "max": 0.00032579590333625674, + "mean": 0.00030303270439617334, + "stddev": 1.1271857150308807e-05, + "rounds": 20, + "median": 0.00030267295078374447, + "iqr": 1.835204893723129e-05, + "q1": 0.00029324584756977855, + "q3": 0.00031159789650700984, + "iqr_outliers": 0, + "stddev_outliers": 7, + "outliers": "7;0", + "ld15iqr": 0.00028790830401703715, + "hd15iqr": 0.00032579590333625674, + "ops": 3299.9738493329032, + "total": 0.0060606540879234675, + "data": [ + 0.0003179666004143655, + 0.00030120830051600934, + 0.0002959209028631449, + 0.0003095082938671112, + 0.00030937499832361937, + 0.0002946082968264818, + 0.0003027333994396031, + 0.0002937000012025237, + 0.00031368749914690853, + 0.00028790830401703715, + 0.00029258750146254897, + 0.0003186332993209362, + 0.00032579590333625674, + 0.00030472909566015005, + 0.0002879292005673051, + 0.00030261250212788583, + 0.0002927916939370334, + 0.00031619999790564177, + 0.00030293329618871214, + 0.00028982500080019233 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-sdae]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "sdae" + }, + "param": "vjp-tree16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0005992916994728148, + "max": 0.0006402375060133636, + "mean": 0.0006068324949592351, + "stddev": 8.913078386100888e-06, + "rounds": 20, + "median": 0.0006043520465027541, + "iqr": 6.947945803403789e-06, + "q1": 0.0006019166496116668, + "q3": 0.0006088645954150706, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.0005992916994728148, + "hd15iqr": 0.0006402375060133636, + "ops": 1647.9012055331289, + "total": 0.012136649899184703, + "data": [ + 0.0006402375060133636, + 0.0006152375019155443, + 0.0006087834015488624, + 0.0006015332997776568, + 0.0006088875001296401, + 0.0006108458037488163, + 0.0005992916994728148, + 0.0006055500009097159, + 0.000608950003515929, + 0.0006030875025317073, + 0.0006001792033202946, + 0.0006074000033549964, + 0.0006027249968610704, + 0.0006036374950781464, + 0.0006088416907005012, + 0.0006050665979273617, + 0.0006022999994456768, + 0.0006029041018337011, + 0.0006013207952491939, + 0.0005998707958497107 + ], + "iterations": 10 + } + } + ], + "datetime": "2026-07-21T05:58:39.869615+00:00", + "version": "5.2.3" +} \ No newline at end of file diff --git a/benchmarks/results/2026-07-20_nlls-2.4.0_explicit-direct-auto-final.md b/benchmarks/results/2026-07-20_nlls-2.4.0_explicit-direct-auto-final.md new file mode 100644 index 0000000..274fdbe --- /dev/null +++ b/benchmarks/results/2026-07-20_nlls-2.4.0_explicit-direct-auto-final.md @@ -0,0 +1,48 @@ +# Benchmark result: nlls 2.4 explicit direct auto + +- Final full-suite data: `2026-07-20_nlls-2.4.0_explicit-direct-auto-final.json` +- Pre-change baseline: `2026-07-20_nlls-2.3.0_pre-proposed-changes.json` +- SVD-default comparison: `2026-07-20_nlls-2.4.0_post-proposed-changes.json` +- Git commit: `8e0a48e8a463a5f3f9521b9cdb26f1af05477fb4` (`main`, dirty) +- Local editable dependency: `nlls-gram 2.4.0` +- Python 3.13.2, JAX 0.10.2 CPU, pytest-benchmark 5.2.3 +- Host: Apple arm64, macOS 26.5.2 + +## Command + +```text +JAX_PLATFORMS=cpu uv run --group benchmark pytest benchmarks \ + --benchmark-only \ + --benchmark-json=benchmarks/results/2026-07-20_nlls-2.4.0_explicit-direct-auto-final.json + +115 passed in 42.91s +``` + +## Comparison + +Medians are compared by full benchmark name. The regression threshold is the +repository rule `max(5%, 1 us)`. + +- All 18 scalar/vector root cases are faster than the nlls 2.3 baseline, + ranging from 5.27% to 48.04% faster. +- Across all 27 root cases, the median change is 24.71% faster. +- No non-root case crosses the regression threshold. +- The full-suite `vjp-tree16-dae` median was 5.69% slower. This did not + reproduce in two isolated 20-round repeats: 2.68% and 3.40% slower. The + median of the three current medians is 3.40% slower, below the gate. The + repeat data are saved in + `2026-07-20_nlls-2.4.0_explicit-direct-auto-tree-vjp-repeat1.json` and + `2026-07-20_nlls-2.4.0_explicit-direct-auto-tree-vjp-repeat2.json`. + +Representative root medians, in microseconds: + +| case | nlls 2.3 baseline | nlls 2.4 SVD | final direct auto | +| --- | ---: | ---: | ---: | +| scalar DAE JVP | 40.06 | 58.53 | 30.16 | +| scalar DAE VJP | 55.11 | 101.48 | 48.77 | +| scalar SDAE JVP | 125.02 | 176.78 | 76.39 | +| scalar SDAE VJP | 119.73 | 180.70 | 81.06 | +| vector16 DAE VJP | 594.24 | 677.98 | 543.55 | + +The explicit square-system direct method removes the material SVD regression +and restores or improves the array-path performance baseline. diff --git a/benchmarks/results/2026-07-20_nlls-2.4.0_explicit-direct-auto-tree-vjp-repeat1.json b/benchmarks/results/2026-07-20_nlls-2.4.0_explicit-direct-auto-tree-vjp-repeat1.json new file mode 100644 index 0000000..2771ff7 --- /dev/null +++ b/benchmarks/results/2026-07-20_nlls-2.4.0_explicit-direct-auto-tree-vjp-repeat1.json @@ -0,0 +1,104 @@ +{ + "machine_info": { + "node": "dh4.econ.ubc.ca", + "processor": "arm", + "machine": "arm64", + "python_compiler": "Clang 20.1.0 ", + "python_implementation": "CPython", + "python_implementation_version": "3.13.2", + "python_version": "3.13.2", + "python_build": [ + "main", + "Mar 17 2025 21:26:38" + ], + "release": "25.5.0", + "system": "Darwin", + "cpu": { + "python_version": "3.13.2.final.0 (64 bit)", + "cpuinfo_version": [ + 9, + 0, + 0 + ], + "cpuinfo_version_string": "9.0.0", + "arch": "ARM_8", + "bits": 64, + "count": 16, + "arch_string_raw": "arm64", + "brand_raw": "Apple M4 Max" + } + }, + "commit_info": { + "id": "8e0a48e8a463a5f3f9521b9cdb26f1af05477fb4", + "time": "2026-07-18T07:08:23-07:00", + "author_time": "2026-07-18T07:08:23-07:00", + "dirty": true, + "project": "tinydiffeq", + "branch": "main" + }, + "benchmarks": [ + { + "group": null, + "name": "test_steady_state[vjp-tree16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-dae]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "dae" + }, + "param": "vjp-tree16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006325250025838614, + "max": 0.0007049917010590434, + "mean": 0.0006498923024628312, + "stddev": 1.542554413099478e-05, + "rounds": 20, + "median": 0.0006470812542829663, + "iqr": 1.1758343316614563e-05, + "q1": 0.0006417167081963271, + "q3": 0.0006534750515129416, + "iqr_outliers": 1, + "stddev_outliers": 4, + "outliers": "4;1", + "ld15iqr": 0.0006325250025838614, + "hd15iqr": 0.0007049917010590434, + "ops": 1538.716486116855, + "total": 0.012997846049256623, + "data": [ + 0.0007049917010590434, + 0.0006564499926753342, + 0.0006495916051790119, + 0.0006325250025838614, + 0.0006442959071137011, + 0.000657566695008427, + 0.0006519417045637965, + 0.0006481208023615181, + 0.0006670458009466529, + 0.0006429959088563919, + 0.0006517542060464621, + 0.0006404375075362623, + 0.0006446541054174304, + 0.000634012499358505, + 0.0006454208050854504, + 0.0006463083089329302, + 0.0006372458999976515, + 0.0006550083984620869, + 0.0006396249984391034, + 0.0006478541996330023 + ], + "iterations": 10 + } + } + ], + "datetime": "2026-07-21T05:57:38.149795+00:00", + "version": "5.2.3" +} \ No newline at end of file diff --git a/benchmarks/results/2026-07-20_nlls-2.4.0_explicit-direct-auto-tree-vjp-repeat2.json b/benchmarks/results/2026-07-20_nlls-2.4.0_explicit-direct-auto-tree-vjp-repeat2.json new file mode 100644 index 0000000..0c797d7 --- /dev/null +++ b/benchmarks/results/2026-07-20_nlls-2.4.0_explicit-direct-auto-tree-vjp-repeat2.json @@ -0,0 +1,104 @@ +{ + "machine_info": { + "node": "dh4.econ.ubc.ca", + "processor": "arm", + "machine": "arm64", + "python_compiler": "Clang 20.1.0 ", + "python_implementation": "CPython", + "python_implementation_version": "3.13.2", + "python_version": "3.13.2", + "python_build": [ + "main", + "Mar 17 2025 21:26:38" + ], + "release": "25.5.0", + "system": "Darwin", + "cpu": { + "python_version": "3.13.2.final.0 (64 bit)", + "cpuinfo_version": [ + 9, + 0, + 0 + ], + "cpuinfo_version_string": "9.0.0", + "arch": "ARM_8", + "bits": 64, + "count": 16, + "arch_string_raw": "arm64", + "brand_raw": "Apple M4 Max" + } + }, + "commit_info": { + "id": "8e0a48e8a463a5f3f9521b9cdb26f1af05477fb4", + "time": "2026-07-18T07:08:23-07:00", + "author_time": "2026-07-18T07:08:23-07:00", + "dirty": true, + "project": "tinydiffeq", + "branch": "main" + }, + "benchmarks": [ + { + "group": null, + "name": "test_steady_state[vjp-tree16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-dae]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "dae" + }, + "param": "vjp-tree16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006227832986041903, + "max": 0.0006777749978937209, + "mean": 0.000651586240855977, + "stddev": 1.2807301056547382e-05, + "rounds": 20, + "median": 0.0006516208464745432, + "iqr": 1.135419588536011e-05, + "q1": 0.0006455666036345065, + "q3": 0.0006569207995198666, + "iqr_outliers": 2, + "stddev_outliers": 6, + "outliers": "6;2", + "ld15iqr": 0.0006331540993414819, + "hd15iqr": 0.0006777749978937209, + "ops": 1534.7162620965082, + "total": 0.013031724817119538, + "data": [ + 0.0006777749978937209, + 0.000649845798034221, + 0.0006570582976564765, + 0.0006567833013832569, + 0.0006441541016101837, + 0.0006700125057250261, + 0.000663974997587502, + 0.0006475582951679826, + 0.0006667917012237012, + 0.0006331540993414819, + 0.0006527874968014658, + 0.0006497084046714008, + 0.0006436709081754088, + 0.0006563666043803096, + 0.0006347208051010967, + 0.0006469791056588292, + 0.0006506667006760836, + 0.0006543584051541985, + 0.0006227832986041903, + 0.0006525749922730029 + ], + "iterations": 10 + } + } + ], + "datetime": "2026-07-21T05:57:47.895451+00:00", + "version": "5.2.3" +} \ No newline at end of file diff --git a/benchmarks/results/2026-07-20_nlls-2.4.0_post-proposed-changes.json b/benchmarks/results/2026-07-20_nlls-2.4.0_post-proposed-changes.json new file mode 100644 index 0000000..4908e5e --- /dev/null +++ b/benchmarks/results/2026-07-20_nlls-2.4.0_post-proposed-changes.json @@ -0,0 +1,6558 @@ +{ + "machine_info": { + "node": "dh4.econ.ubc.ca", + "processor": "arm", + "machine": "arm64", + "python_compiler": "Clang 20.1.0 ", + "python_implementation": "CPython", + "python_implementation_version": "3.13.2", + "python_version": "3.13.2", + "python_build": [ + "main", + "Mar 17 2025 21:26:38" + ], + "release": "25.5.0", + "system": "Darwin", + "cpu": { + "python_version": "3.13.2.final.0 (64 bit)", + "cpuinfo_version": [ + 9, + 0, + 0 + ], + "cpuinfo_version_string": "9.0.0", + "arch": "ARM_8", + "bits": 64, + "count": 16, + "arch_string_raw": "arm64", + "brand_raw": "Apple M4 Max" + } + }, + "commit_info": { + "id": "8e0a48e8a463a5f3f9521b9cdb26f1af05477fb4", + "time": "2026-07-18T07:08:23-07:00", + "author_time": "2026-07-18T07:08:23-07:00", + "dirty": true, + "project": "tinydiffeq", + "branch": "main" + }, + "benchmarks": [ + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-8-8]", + "params": { + "transform": "primal", + "n_queries": 8, + "n_steps": 8 + }, + "param": "primal-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.4808403365314004e-05, + "max": 6.494179833680392e-05, + "mean": 5.756919970735908e-05, + "stddev": 3.0528681561197494e-06, + "rounds": 10, + "median": 5.617920542135834e-05, + "iqr": 3.4749740734696375e-06, + "q1": 5.552500952035189e-05, + "q3": 5.8999983593821526e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 5.4808403365314004e-05, + "hd15iqr": 6.494179833680392e-05, + "ops": 17370.39953800452, + "total": 0.0005756919970735907, + "data": [ + 6.494179833680392e-05, + 5.8900006115436555e-05, + 5.900838878005743e-05, + 5.8999983593821526e-05, + 5.4808403365314004e-05, + 5.552500952035189e-05, + 5.617500282824039e-05, + 5.548340268433094e-05, + 5.61834080144763e-05, + 5.566659383475781e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-8-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-8-32]", + "params": { + "transform": "primal", + "n_queries": 8, + "n_steps": 32 + }, + "param": "primal-8-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00012715840712189673, + "max": 0.00013815839774906636, + "mean": 0.00012921920279040933, + "stddev": 3.301073995779205e-06, + "rounds": 10, + "median": 0.00012839171104133128, + "iqr": 1.6083940863609314e-06, + "q1": 0.00012732499744743108, + "q3": 0.000128933391533792, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.00012715840712189673, + "hd15iqr": 0.00013815839774906636, + "ops": 7738.787876767648, + "total": 0.0012921920279040933, + "data": [ + 0.00013815839774906636, + 0.00013038339093327523, + 0.00012860000133514405, + 0.00012818342074751853, + 0.000128933391533792, + 0.00012882500886917113, + 0.00012724159751087427, + 0.00012738341465592384, + 0.00012732499744743108, + 0.00012715840712189673 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-8-128]", + "params": { + "transform": "primal", + "n_queries": 8, + "n_steps": 128 + }, + "param": "primal-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00044170001056045296, + "max": 0.0004651918075978756, + "mean": 0.00044692334253340957, + "stddev": 6.883477943764392e-06, + "rounds": 10, + "median": 0.0004446750041097403, + "iqr": 3.700004890561082e-06, + "q1": 0.00044350000098347664, + "q3": 0.0004472000058740377, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.00044170001056045296, + "hd15iqr": 0.0004651918075978756, + "ops": 2237.520184851937, + "total": 0.004469233425334096, + "data": [ + 0.0004651918075978756, + 0.0004466583952307701, + 0.0004436915973201394, + 0.00044350000098347664, + 0.00044987499713897703, + 0.0004472000058740377, + 0.00044408340472728013, + 0.0004452666034922004, + 0.000442066602408886, + 0.00044170001056045296 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-32-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-32-8]", + "params": { + "transform": "primal", + "n_queries": 32, + "n_steps": 8 + }, + "param": "primal-32-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.476679652929306e-05, + "max": 6.215001922100782e-05, + "mean": 5.700834095478058e-05, + "stddev": 2.18134534720011e-06, + "rounds": 10, + "median": 5.6241697166115046e-05, + "iqr": 1.9165920093655613e-06, + "q1": 5.584999453276396e-05, + "q3": 5.776658654212952e-05, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 5.476679652929306e-05, + "hd15iqr": 6.215001922100782e-05, + "ops": 17541.292787194194, + "total": 0.0005700834095478058, + "data": [ + 6.215001922100782e-05, + 5.917500238865614e-05, + 5.776658654212952e-05, + 5.63083915039897e-05, + 5.6033208966255185e-05, + 5.63083915039897e-05, + 5.555001553148031e-05, + 5.476679652929306e-05, + 5.617500282824039e-05, + 5.584999453276396e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-32-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-32-32]", + "params": { + "transform": "primal", + "n_queries": 32, + "n_steps": 32 + }, + "param": "primal-32-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0001249834196642041, + "max": 0.00013495839666575194, + "mean": 0.00012676248559728264, + "stddev": 2.999842264565703e-06, + "rounds": 10, + "median": 0.00012566660298034548, + "iqr": 9.917886927723776e-07, + "q1": 0.00012529161758720875, + "q3": 0.00012628340627998113, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 0.0001249834196642041, + "hd15iqr": 0.00012790001928806305, + "ops": 7888.769262358457, + "total": 0.0012676248559728264, + "data": [ + 0.00013495839666575194, + 0.00012790001928806305, + 0.00012628340627998113, + 0.0001257582101970911, + 0.0001253831898793578, + 0.00012557499576359987, + 0.0001249834196642041, + 0.00012529161758720875, + 0.00012520819436758756, + 0.00012628340627998113 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-32-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-32-128]", + "params": { + "transform": "primal", + "n_queries": 32, + "n_steps": 128 + }, + "param": "primal-32-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00044677499681711197, + "max": 0.00047211661003530023, + "mean": 0.00045406920369714496, + "stddev": 7.946165103247778e-06, + "rounds": 10, + "median": 0.0004508832935243845, + "iqr": 1.0424992069602013e-05, + "q1": 0.00044866681564599277, + "q3": 0.0004590918077155948, + "iqr_outliers": 0, + "stddev_outliers": 1, + "outliers": "1;0", + "ld15iqr": 0.00044677499681711197, + "hd15iqr": 0.00047211661003530023, + "ops": 2202.307471763665, + "total": 0.00454069203697145, + "data": [ + 0.00047211661003530023, + 0.00046130840200930834, + 0.00045072499196976425, + 0.00044866681564599277, + 0.0004590918077155948, + 0.00045104159507900474, + 0.00045376680791378023, + 0.0004496666137129068, + 0.00044677499681711197, + 0.00044753339607268573 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-128-8]", + "params": { + "transform": "primal", + "n_queries": 128, + "n_steps": 8 + }, + "param": "primal-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.62331872060895e-05, + "max": 6.287498399615288e-05, + "mean": 5.8210801798850296e-05, + "stddev": 1.9635540167706846e-06, + "rounds": 10, + "median": 5.747079849243164e-05, + "iqr": 2.116616815328602e-06, + "q1": 5.6950002908706664e-05, + "q3": 5.9066619724035266e-05, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 5.62331872060895e-05, + "hd15iqr": 6.287498399615288e-05, + "ops": 17178.94220827844, + "total": 0.000582108017988503, + "data": [ + 6.287498399615288e-05, + 5.966678727418184e-05, + 5.9066619724035266e-05, + 5.62331872060895e-05, + 5.6950002908706664e-05, + 5.7899998500943185e-05, + 5.8433203957974913e-05, + 5.701661575585604e-05, + 5.7041598483920095e-05, + 5.6925020180642606e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-128-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-128-32]", + "params": { + "transform": "primal", + "n_queries": 128, + "n_steps": 32 + }, + "param": "primal-128-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00012714159674942493, + "max": 0.00013824161142110824, + "mean": 0.00012917078332975508, + "stddev": 3.2809485760473346e-06, + "rounds": 10, + "median": 0.00012785830767825246, + "iqr": 1.2081814929842895e-06, + "q1": 0.00012775000650435686, + "q3": 0.00012895818799734115, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.00012714159674942493, + "hd15iqr": 0.00013824161142110824, + "ops": 7741.688748973046, + "total": 0.0012917078332975508, + "data": [ + 0.00013824161142110824, + 0.00012895818799734115, + 0.00012990001123398543, + 0.0001278416020795703, + 0.0001284665893763304, + 0.00012787501327693462, + 0.00012714159674942493, + 0.00012775000650435686, + 0.00012772500049322842, + 0.00012780821416527032 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-128-128]", + "params": { + "transform": "primal", + "n_queries": 128, + "n_steps": 128 + }, + "param": "primal-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00044404161162674426, + "max": 0.0004753167973831296, + "mean": 0.00045045670354738833, + "stddev": 9.079331178385441e-06, + "rounds": 10, + "median": 0.00044843330979347227, + "iqr": 4.650210030376911e-06, + "q1": 0.00044574160128831866, + "q3": 0.00045039181131869557, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.00044404161162674426, + "hd15iqr": 0.0004753167973831296, + "ops": 2219.9691826648536, + "total": 0.0045045670354738835, + "data": [ + 0.0004753167973831296, + 0.0004485000157728791, + 0.00045039181131869557, + 0.00044836660381406543, + 0.00044404161162674426, + 0.0004454749869182706, + 0.0004522667964920402, + 0.00044854180887341497, + 0.00044574160128831866, + 0.0004459250019863248 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-8-8]", + "params": { + "transform": "jvp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "jvp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00011910819448530674, + "max": 0.00012802500277757644, + "mean": 0.00012262832606211305, + "stddev": 2.96029586209325e-06, + "rounds": 10, + "median": 0.00012161249760538339, + "iqr": 3.616604954004277e-06, + "q1": 0.00012052501551806927, + "q3": 0.00012414162047207354, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.00011910819448530674, + "hd15iqr": 0.00012802500277757644, + "ops": 8154.722747283407, + "total": 0.0012262832606211305, + "data": [ + 0.00012802500277757644, + 0.00012303341645747423, + 0.00012024999596178531, + 0.00012414162047207354, + 0.0001218331977725029, + 0.0001209082081913948, + 0.00011910819448530674, + 0.00012139179743826389, + 0.00012052501551806927, + 0.00012706681154668332 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-8-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-8-32]", + "params": { + "transform": "jvp", + "n_queries": 8, + "n_steps": 32 + }, + "param": "jvp-8-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0003768750000745058, + "max": 0.000385208404622972, + "mean": 0.00037943835835903885, + "stddev": 2.20921198564031e-06, + "rounds": 10, + "median": 0.00037920000031590464, + "iqr": 9.167706593871117e-07, + "q1": 0.0003785916138440371, + "q3": 0.0003795083845034242, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 0.00037779179401695726, + "hd15iqr": 0.000385208404622972, + "ops": 2635.47418960147, + "total": 0.0037943835835903884, + "data": [ + 0.000385208404622972, + 0.00037908339872956277, + 0.00037779179401695726, + 0.0003793917829170823, + 0.0003785916138440371, + 0.0003768750000745058, + 0.00037978340405970813, + 0.00037931660190224645, + 0.0003788331989198923, + 0.0003795083845034242 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-8-128]", + "params": { + "transform": "jvp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "jvp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0014345915988087654, + "max": 0.0014695418067276478, + "mean": 0.0014513983624055982, + "stddev": 9.286060150329013e-06, + "rounds": 10, + "median": 0.0014516458963043989, + "iqr": 1.2108404189348047e-05, + "q1": 0.0014453750103712083, + "q3": 0.0014574834145605563, + "iqr_outliers": 0, + "stddev_outliers": 2, + "outliers": "2;0", + "ld15iqr": 0.0014345915988087654, + "hd15iqr": 0.0014695418067276478, + "ops": 688.9907181254946, + "total": 0.014513983624055982, + "data": [ + 0.0014517917996272444, + 0.001452099997550249, + 0.0014345915988087654, + 0.0014574834145605563, + 0.0014695418067276478, + 0.0014453750103712083, + 0.001451499992981553, + 0.0014484168030321598, + 0.0014579750131815672, + 0.0014452081872150303 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-32-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-32-8]", + "params": { + "transform": "jvp", + "n_queries": 32, + "n_steps": 8 + }, + "param": "jvp-32-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00011831680312752723, + "max": 0.00013094998430460692, + "mean": 0.00012131915660575032, + "stddev": 3.802249800758697e-06, + "rounds": 10, + "median": 0.00011997079709544778, + "iqr": 2.5999732315540287e-06, + "q1": 0.00011905001010745764, + "q3": 0.00012164998333901167, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.00011831680312752723, + "hd15iqr": 0.00013094998430460692, + "ops": 8242.721330891627, + "total": 0.0012131915660575031, + "data": [ + 0.00013094998430460692, + 0.00012423319276422262, + 0.0001208917936310172, + 0.00012164998333901167, + 0.0001204665983095765, + 0.0001187250018119812, + 0.00011943320278078318, + 0.00011905001010745764, + 0.00011947499588131905, + 0.00011831680312752723 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-32-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-32-32]", + "params": { + "transform": "jvp", + "n_queries": 32, + "n_steps": 32 + }, + "param": "jvp-32-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00038356659933924675, + "max": 0.0003932584077119827, + "mean": 0.0003880208404734731, + "stddev": 3.2405126836109027e-06, + "rounds": 10, + "median": 0.00038702080491930245, + "iqr": 4.291790537536166e-06, + "q1": 0.0003857166040688753, + "q3": 0.00039000839460641147, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.00038356659933924675, + "hd15iqr": 0.0003932584077119827, + "ops": 2577.1811606298625, + "total": 0.0038802084047347305, + "data": [ + 0.0003932584077119827, + 0.00039279998745769264, + 0.00038925840053707363, + 0.0003865750040858984, + 0.0003874000161886215, + 0.00038498339708894493, + 0.0003857166040688753, + 0.0003866415936499834, + 0.00038356659933924675, + 0.00039000839460641147 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-32-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-32-128]", + "params": { + "transform": "jvp", + "n_queries": 32, + "n_steps": 128 + }, + "param": "jvp-32-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.001429983414709568, + "max": 0.0014629081822931766, + "mean": 0.0014412158029153944, + "stddev": 1.0634588447873642e-05, + "rounds": 10, + "median": 0.0014377498999238014, + "iqr": 1.3133208267390771e-05, + "q1": 0.0014327334007248282, + "q3": 0.001445866608992219, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.001429983414709568, + "hd15iqr": 0.0014629081822931766, + "ops": 693.8586143568011, + "total": 0.014412158029153943, + "data": [ + 0.0014538499992340804, + 0.0014629081822931766, + 0.0014327334007248282, + 0.0014448332134634257, + 0.0014369582058861852, + 0.0014385415939614176, + 0.0014321499969810248, + 0.001429983414709568, + 0.001445866608992219, + 0.0014343334129080175 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-128-8]", + "params": { + "transform": "jvp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "jvp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00011694999411702157, + "max": 0.0001290831947699189, + "mean": 0.00011926918057724833, + "stddev": 3.6203237884761466e-06, + "rounds": 10, + "median": 0.00011805000249296427, + "iqr": 2.0083971321582794e-06, + "q1": 0.00011754999868571759, + "q3": 0.00011955839581787587, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.00011694999411702157, + "hd15iqr": 0.0001290831947699189, + "ops": 8384.395659969505, + "total": 0.0011926918057724833, + "data": [ + 0.0001290831947699189, + 0.00012049998622387648, + 0.00011754999868571759, + 0.00011795000173151494, + 0.00011955839581787587, + 0.00011765840463340282, + 0.00011815000325441361, + 0.0001183000160381198, + 0.0001169918105006218, + 0.00011694999411702157 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-128-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-128-32]", + "params": { + "transform": "jvp", + "n_queries": 128, + "n_steps": 32 + }, + "param": "jvp-128-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.000378024997189641, + "max": 0.0004038832150399685, + "mean": 0.00038357082055881617, + "stddev": 7.818816351980593e-06, + "rounds": 10, + "median": 0.0003799875034019351, + "iqr": 6.37499615550039e-06, + "q1": 0.00037889999803155663, + "q3": 0.000385274994187057, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.000378024997189641, + "hd15iqr": 0.0004038832150399685, + "ops": 2607.080482668419, + "total": 0.003835708205588162, + "data": [ + 0.00038741661701351403, + 0.00038000000640749934, + 0.0003787084016948938, + 0.0003799750003963709, + 0.00037889999803155663, + 0.000379366590641439, + 0.000378024997189641, + 0.0004038832150399685, + 0.000385274994187057, + 0.0003841583849862218 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-128-128]", + "params": { + "transform": "jvp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "jvp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0014585500117391347, + "max": 0.001480549992993474, + "mean": 0.0014694108022376895, + "stddev": 8.426293552890665e-06, + "rounds": 10, + "median": 0.0014678998966701328, + "iqr": 1.418339088559155e-05, + "q1": 0.0014624332077801227, + "q3": 0.0014766165986657143, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0014585500117391347, + "hd15iqr": 0.001480549992993474, + "ops": 680.544881306951, + "total": 0.014694108022376895, + "data": [ + 0.0014699832070618867, + 0.0014624332077801227, + 0.0014585500117391347, + 0.001480549992993474, + 0.0014766165986657143, + 0.001459316606633365, + 0.001464774995110929, + 0.0014803834026679396, + 0.0014756834134459496, + 0.001465816586278379 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-8-8]", + "params": { + "transform": "vjp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "vjp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00012748318258672952, + "max": 0.00014451658353209496, + "mean": 0.00013436579378321766, + "stddev": 6.2984732614726836e-06, + "rounds": 10, + "median": 0.00013265828602015972, + "iqr": 9.125215001404285e-06, + "q1": 0.00012888319324702024, + "q3": 0.00013800840824842452, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.00012748318258672952, + "hd15iqr": 0.00014451658353209496, + "ops": 7442.37035218483, + "total": 0.0013436579378321768, + "data": [ + 0.00013800840824842452, + 0.0001439000014215708, + 0.00014451658353209496, + 0.00013705820310860872, + 0.00013389158993959427, + 0.00013063340447843074, + 0.00013142498210072517, + 0.00012888319324702024, + 0.00012785838916897773, + 0.00012748318258672952 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-8-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-8-32]", + "params": { + "transform": "vjp", + "n_queries": 8, + "n_steps": 32 + }, + "param": "vjp-8-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00042215839494019747, + "max": 0.00043582499492913487, + "mean": 0.0004278166615404189, + "stddev": 4.0603123768347915e-06, + "rounds": 10, + "median": 0.0004276166087947786, + "iqr": 3.3918069675564658e-06, + "q1": 0.0004249250050634146, + "q3": 0.00042831681203097104, + "iqr_outliers": 1, + "stddev_outliers": 3, + "outliers": "3;1", + "ld15iqr": 0.00042215839494019747, + "hd15iqr": 0.00043582499492913487, + "ops": 2337.4498702302712, + "total": 0.0042781666154041885, + "data": [ + 0.0004276082152500749, + 0.0004333249991759658, + 0.00043582499492913487, + 0.0004276250023394823, + 0.00042782500386238096, + 0.0004256749991327524, + 0.0004249250050634146, + 0.00042831681203097104, + 0.0004248831886798143, + 0.00042215839494019747 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-8-128]", + "params": { + "transform": "vjp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "vjp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.001611208193935454, + "max": 0.0016763165825977922, + "mean": 0.0016297541372478008, + "stddev": 2.277592505485755e-05, + "rounds": 10, + "median": 0.0016210457892157138, + "iqr": 1.8208404071629047e-05, + "q1": 0.0016136500053107738, + "q3": 0.001631858409382403, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 0.001611208193935454, + "hd15iqr": 0.0016648333985358477, + "ops": 613.5894839259132, + "total": 0.01629754137247801, + "data": [ + 0.0016763165825977922, + 0.0016648333985358477, + 0.0016299166018143296, + 0.0016199331963434815, + 0.001622158382087946, + 0.0016136500053107738, + 0.001631858409382403, + 0.0016146166017279029, + 0.001611208193935454, + 0.0016130500007420778 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-32-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-32-8]", + "params": { + "transform": "vjp", + "n_queries": 32, + "n_steps": 8 + }, + "param": "vjp-32-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00012949160300195216, + "max": 0.00014335839077830314, + "mean": 0.00013449752004817127, + "stddev": 4.168185342651408e-06, + "rounds": 10, + "median": 0.00013448341051116585, + "iqr": 5.241809412837034e-06, + "q1": 0.0001314499881118536, + "q3": 0.00013669179752469064, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.00012949160300195216, + "hd15iqr": 0.00014335839077830314, + "ops": 7435.081328204733, + "total": 0.0013449752004817128, + "data": [ + 0.00013669179752469064, + 0.00014335839077830314, + 0.00013774160761386155, + 0.00013536678161472083, + 0.0001348084071651101, + 0.0001341584138572216, + 0.0001314499881118536, + 0.00013197499793022872, + 0.00012993321288377047, + 0.00012949160300195216 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-32-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-32-32]", + "params": { + "transform": "vjp", + "n_queries": 32, + "n_steps": 32 + }, + "param": "vjp-32-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0004111416172236204, + "max": 0.00042966660112142563, + "mean": 0.0004165850020945072, + "stddev": 5.437814015885984e-06, + "rounds": 10, + "median": 0.0004150209133513272, + "iqr": 4.716822877526305e-06, + "q1": 0.0004130581859499216, + "q3": 0.0004177750088274479, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.0004111416172236204, + "hd15iqr": 0.00042966660112142563, + "ops": 2400.470480147382, + "total": 0.0041658500209450725, + "data": [ + 0.0004213833948597312, + 0.00042966660112142563, + 0.0004177750088274479, + 0.000414858409203589, + 0.000413649994879961, + 0.0004151834174990654, + 0.0004164083860814571, + 0.0004130581859499216, + 0.0004111416172236204, + 0.0004127250052988529 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-32-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-32-128]", + "params": { + "transform": "vjp", + "n_queries": 32, + "n_steps": 128 + }, + "param": "vjp-32-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0016132584074512123, + "max": 0.0017088084015995264, + "mean": 0.0016447108634747565, + "stddev": 3.411650301098922e-05, + "rounds": 10, + "median": 0.0016339708119630814, + "iqr": 3.266658168286072e-05, + "q1": 0.0016194084193557501, + "q3": 0.0016520750010386108, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 0.0016132584074512123, + "hd15iqr": 0.001702050003223121, + "ops": 608.0096035161552, + "total": 0.016447108634747565, + "data": [ + 0.001702050003223121, + 0.0017088084015995264, + 0.0016520750010386108, + 0.0016132584074512123, + 0.0016385666094720364, + 0.0016293750144541264, + 0.0016275750007480384, + 0.0016194084193557501, + 0.0016396167920902371, + 0.0016163749853149057 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-128-8]", + "params": { + "transform": "vjp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "vjp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00013095820322632789, + "max": 0.0001417584018781781, + "mean": 0.0001359349791891873, + "stddev": 3.5702028507105926e-06, + "rounds": 10, + "median": 0.00013503748923540118, + "iqr": 4.441617056727404e-06, + "q1": 0.00013355000410228968, + "q3": 0.00013799162115901709, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.00013095820322632789, + "hd15iqr": 0.0001417584018781781, + "ops": 7356.4582564746015, + "total": 0.001359349791891873, + "data": [ + 0.00013799162115901709, + 0.0001417584018781781, + 0.00013554999604821206, + 0.0001412249868735671, + 0.0001369417877867818, + 0.0001323332078754902, + 0.00013355000410228968, + 0.00013452498242259026, + 0.00013451660051941872, + 0.00013095820322632789 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-128-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-128-32]", + "params": { + "transform": "vjp", + "n_queries": 128, + "n_steps": 32 + }, + "param": "vjp-128-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0004232083912938833, + "max": 0.00043596660252660514, + "mean": 0.0004282875126227736, + "stddev": 5.054443781421677e-06, + "rounds": 10, + "median": 0.00042577498825266955, + "iqr": 1.0366807691752878e-05, + "q1": 0.0004238415975123644, + "q3": 0.0004342084052041173, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0004232083912938833, + "hd15iqr": 0.00043596660252660514, + "ops": 2334.8801226450378, + "total": 0.004282875126227737, + "data": [ + 0.0004343918059021235, + 0.00043596660252660514, + 0.0004342084052041173, + 0.00043112498242408036, + 0.0004238415975123644, + 0.00042592498939484356, + 0.00042562498711049555, + 0.00042474998626857997, + 0.0004232083912938833, + 0.0004238333785906434 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-128-128]", + "params": { + "transform": "vjp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "vjp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0016218415927141904, + "max": 0.0016517081996425987, + "mean": 0.0016329466411843896, + "stddev": 1.0218681273240922e-05, + "rounds": 10, + "median": 0.0016296416055411101, + "iqr": 1.8749968148767948e-05, + "q1": 0.0016237500123679638, + "q3": 0.0016424999805167318, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.0016218415927141904, + "hd15iqr": 0.0016517081996425987, + "ops": 612.389881444437, + "total": 0.016329466411843897, + "data": [ + 0.0016442833933979274, + 0.0016301831929013133, + 0.0016517081996425987, + 0.0016276500187814235, + 0.0016424999805167318, + 0.0016218415927141904, + 0.0016291000181809067, + 0.0016237500123679638, + 0.0016228249995037913, + 0.001635625003837049 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-primal-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-primal-8-8]", + "params": { + "explicit_no_aux": false, + "transform": "primal", + "n_queries": 8, + "n_steps": 8 + }, + "param": "auto-primal-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.7166598960757256e-05, + "max": 5.556661635637283e-05, + "mean": 4.9222498200833795e-05, + "stddev": 2.3846858638670728e-06, + "rounds": 10, + "median": 4.8479193355888126e-05, + "iqr": 1.175212673842907e-06, + "q1": 4.7958199866116046e-05, + "q3": 4.913341253995895e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 4.7166598960757256e-05, + "hd15iqr": 5.556661635637283e-05, + "ops": 20315.913180998614, + "total": 0.000492224982008338, + "data": [ + 5.556661635637283e-05, + 5.030841566622257e-05, + 4.913341253995895e-05, + 4.814998246729374e-05, + 4.794998094439507e-05, + 4.7166598960757256e-05, + 4.7958199866116046e-05, + 4.840840119868517e-05, + 4.903338849544525e-05, + 4.854998551309109e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-primal-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-primal-8-128]", + "params": { + "explicit_no_aux": false, + "transform": "primal", + "n_queries": 8, + "n_steps": 128 + }, + "param": "auto-primal-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0003648750018328428, + "max": 0.0003922750009223819, + "mean": 0.00037080999929457904, + "stddev": 8.062419895222913e-06, + "rounds": 10, + "median": 0.0003685582894831896, + "iqr": 5.86661044508222e-06, + "q1": 0.00036562499590218065, + "q3": 0.00037149160634726287, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.0003648750018328428, + "hd15iqr": 0.0003922750009223819, + "ops": 2696.798904836381, + "total": 0.00370809999294579, + "data": [ + 0.0003922750009223819, + 0.00037149160634726287, + 0.00036521658767014743, + 0.00036562499590218065, + 0.00036899158731102945, + 0.00037355839740484955, + 0.00037064182106405497, + 0.000367300002835691, + 0.00036812499165534974, + 0.0003648750018328428 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-primal-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-primal-128-8]", + "params": { + "explicit_no_aux": false, + "transform": "primal", + "n_queries": 128, + "n_steps": 8 + }, + "param": "auto-primal-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.18332002684474e-05, + "max": 6.119178142398596e-05, + "mean": 5.601167678833008e-05, + "stddev": 2.8951100388976718e-06, + "rounds": 10, + "median": 5.504590226337313e-05, + "iqr": 3.983615897595882e-06, + "q1": 5.4508191533386706e-05, + "q3": 5.849180743098259e-05, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 5.18332002684474e-05, + "hd15iqr": 6.119178142398596e-05, + "ops": 17853.42016770953, + "total": 0.0005601167678833008, + "data": [ + 6.119178142398596e-05, + 5.5625010281801225e-05, + 5.4983398877084254e-05, + 5.5108405649662015e-05, + 5.365000106394291e-05, + 5.496658850461245e-05, + 5.4508191533386706e-05, + 5.849180743098259e-05, + 5.975838284939527e-05, + 5.18332002684474e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-primal-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-primal-128-128]", + "params": { + "explicit_no_aux": false, + "transform": "primal", + "n_queries": 128, + "n_steps": 128 + }, + "param": "auto-primal-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0003579168114811182, + "max": 0.0003805084154009819, + "mean": 0.00036370754474774003, + "stddev": 6.9965311173717e-06, + "rounds": 10, + "median": 0.00036123760510236024, + "iqr": 7.833400741219564e-06, + "q1": 0.0003591750049963593, + "q3": 0.0003670084057375789, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.0003579168114811182, + "hd15iqr": 0.0003805084154009819, + "ops": 2749.461798197173, + "total": 0.0036370754474774, + "data": [ + 0.0003805084154009819, + 0.0003630249993875623, + 0.0003670084057375789, + 0.00036925820168107746, + 0.0003591750049963593, + 0.0003579168114811182, + 0.00035793341230601073, + 0.0003619584022089839, + 0.000359774986281991, + 0.0003605168079957366 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-jvp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-jvp-8-8]", + "params": { + "explicit_no_aux": false, + "transform": "jvp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "auto-jvp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00010918339248746633, + "max": 0.0001187334069982171, + "mean": 0.00011111004278063774, + "stddev": 2.8061747203542157e-06, + "rounds": 10, + "median": 0.00011031260946765542, + "iqr": 1.0168179869651822e-06, + "q1": 0.00010983319953083992, + "q3": 0.0001108500175178051, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.00010918339248746633, + "hd15iqr": 0.0001187334069982171, + "ops": 9000.08653560038, + "total": 0.0011111004278063774, + "data": [ + 0.0001187334069982171, + 0.00011202499736100436, + 0.0001108500175178051, + 0.00011021681129932403, + 0.00010921680368483066, + 0.00011074999347329139, + 0.00010918339248746633, + 0.0001104084076359868, + 0.00010988339781761169, + 0.00010983319953083992 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-jvp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-jvp-8-128]", + "params": { + "explicit_no_aux": false, + "transform": "jvp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "auto-jvp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0013068834086880088, + "max": 0.0013637583935633302, + "mean": 0.0013359133573248982, + "stddev": 1.948183236670023e-05, + "rounds": 10, + "median": 0.0013331957976333796, + "iqr": 2.6349793188273907e-05, + "q1": 0.001325266808271408, + "q3": 0.001351616601459682, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0013068834086880088, + "hd15iqr": 0.0013637583935633302, + "ops": 748.551539302258, + "total": 0.013359133573248982, + "data": [ + 0.001351616601459682, + 0.0013637583935633302, + 0.0013571165967732669, + 0.0013487833784893155, + 0.0013068834086880088, + 0.0013326749904081225, + 0.0013078500051051378, + 0.001325266808271408, + 0.001333716604858637, + 0.0013314667856320738 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-jvp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-jvp-128-8]", + "params": { + "explicit_no_aux": false, + "transform": "jvp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "auto-jvp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0001104000024497509, + "max": 0.00011854998301714658, + "mean": 0.00011273251613602042, + "stddev": 2.5336377031011644e-06, + "rounds": 10, + "median": 0.00011215009726583958, + "iqr": 2.100015990436077e-06, + "q1": 0.00011101658456027507, + "q3": 0.00011311660055071115, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.0001104000024497509, + "hd15iqr": 0.00011854998301714658, + "ops": 8870.555135959383, + "total": 0.0011273251613602043, + "data": [ + 0.00011854998301714658, + 0.00011546679306775331, + 0.00011311660055071115, + 0.00011101658456027507, + 0.00011238339357078075, + 0.00011275839060544967, + 0.00011109160259366035, + 0.000110625009983778, + 0.0001104000024497509, + 0.0001119168009608984 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-jvp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-jvp-128-128]", + "params": { + "explicit_no_aux": false, + "transform": "jvp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "auto-jvp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.001369924983009696, + "max": 0.0013946166029199958, + "mean": 0.0013816974963992833, + "stddev": 8.322925112852301e-06, + "rounds": 10, + "median": 0.001381841697730124, + "iqr": 9.483215399086389e-06, + "q1": 0.001376441796310246, + "q3": 0.0013859250117093324, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.001369924983009696, + "hd15iqr": 0.0013946166029199958, + "ops": 723.7474212742003, + "total": 0.013816974963992834, + "data": [ + 0.0013936165953055025, + 0.0013825499918311834, + 0.0013859250117093324, + 0.0013841915875673293, + 0.0013946166029199958, + 0.001369924983009696, + 0.001376441796310246, + 0.0013717083958908916, + 0.0013768665958195925, + 0.0013811334036290645 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-vjp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-vjp-8-8]", + "params": { + "explicit_no_aux": false, + "transform": "vjp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "auto-vjp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00011652498506009579, + "max": 0.00013085000682622194, + "mean": 0.00012375579448416828, + "stddev": 5.151370434231697e-06, + "rounds": 10, + "median": 0.00012236239854246378, + "iqr": 7.266597822308538e-06, + "q1": 0.000120816589333117, + "q3": 0.00012808318715542554, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.00011652498506009579, + "hd15iqr": 0.00013085000682622194, + "ops": 8080.429721841646, + "total": 0.001237557944841683, + "data": [ + 0.00012795838993042707, + 0.00013085000682622194, + 0.00012808318715542554, + 0.00012997498270124198, + 0.00012125000357627868, + 0.00012145820073783398, + 0.00012326659634709358, + 0.00011737500317394733, + 0.00011652498506009579, + 0.000120816589333117 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-vjp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-vjp-8-128]", + "params": { + "explicit_no_aux": false, + "transform": "vjp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "auto-vjp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0014798250049352646, + "max": 0.0016491082031279802, + "mean": 0.0015069383243098856, + "stddev": 5.194993848308873e-05, + "rounds": 10, + "median": 0.0014876167057082056, + "iqr": 8.583394810557452e-06, + "q1": 0.0014849166152998805, + "q3": 0.001493500010110438, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 0.0014798250049352646, + "hd15iqr": 0.0015301084145903586, + "ops": 663.5971651049209, + "total": 0.015069383243098856, + "data": [ + 0.0016491082031279802, + 0.0015301084145903586, + 0.001493500010110438, + 0.0014849166152998805, + 0.0014890332007780672, + 0.0014850915875285863, + 0.0014825667953118683, + 0.0014882750110700727, + 0.0014869584003463388, + 0.0014798250049352646 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-vjp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-vjp-128-8]", + "params": { + "explicit_no_aux": false, + "transform": "vjp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "auto-vjp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00011725819204002618, + "max": 0.00013518319465219975, + "mean": 0.00012355750426650046, + "stddev": 6.106479694500777e-06, + "rounds": 10, + "median": 0.00012174181174486876, + "iqr": 7.958407513797278e-06, + "q1": 0.00011842499952763319, + "q3": 0.00012638340704143047, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.00011725819204002618, + "hd15iqr": 0.00013518319465219975, + "ops": 8093.3975312669445, + "total": 0.0012355750426650048, + "data": [ + 0.00012638340704143047, + 0.00011989180929958821, + 0.00013518319465219975, + 0.00013155839405953884, + 0.0001255500130355358, + 0.00012359181419014932, + 0.00011842499952763319, + 0.00011725819204002618, + 0.00011957501992583275, + 0.00011815819889307022 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-vjp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-vjp-128-128]", + "params": { + "explicit_no_aux": false, + "transform": "vjp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "auto-vjp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0014721665997058154, + "max": 0.0015530750155448914, + "mean": 0.0014969441597349942, + "stddev": 2.3204811665874523e-05, + "rounds": 10, + "median": 0.001489087496884167, + "iqr": 2.493318170309071e-05, + "q1": 0.0014830084051936864, + "q3": 0.0015079415868967771, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.0014721665997058154, + "hd15iqr": 0.0015530750155448914, + "ops": 668.0275904059315, + "total": 0.014969441597349942, + "data": [ + 0.0015530750155448914, + 0.0015133081935346127, + 0.0014830084051936864, + 0.0015079415868967771, + 0.0014884667936712504, + 0.001489708200097084, + 0.0014950500102713705, + 0.0014824418118223547, + 0.0014721665997058154, + 0.0014842749806120992 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-primal-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-primal-8-8]", + "params": { + "explicit_no_aux": true, + "transform": "primal", + "n_queries": 8, + "n_steps": 8 + }, + "param": "explicit-primal-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.616661462932825e-05, + "max": 5.79081941395998e-05, + "mean": 4.9757475499063726e-05, + "stddev": 3.2287425136560305e-06, + "rounds": 10, + "median": 4.9270887393504376e-05, + "iqr": 1.700012944638729e-06, + "q1": 4.799158778041601e-05, + "q3": 4.969160072505474e-05, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 4.616661462932825e-05, + "hd15iqr": 5.79081941395998e-05, + "ops": 20097.482638941696, + "total": 0.0004975747549906373, + "data": [ + 5.79081941395998e-05, + 5.160840228199959e-05, + 4.616661462932825e-05, + 4.8791593872010705e-05, + 4.9399980343878266e-05, + 4.9666594713926314e-05, + 4.969160072505474e-05, + 4.914179444313049e-05, + 4.799158778041601e-05, + 4.7208392061293125e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-primal-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-primal-8-128]", + "params": { + "explicit_no_aux": true, + "transform": "primal", + "n_queries": 8, + "n_steps": 128 + }, + "param": "explicit-primal-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0003590916050598025, + "max": 0.0003794749965891242, + "mean": 0.0003633858193643391, + "stddev": 6.0835656613126495e-06, + "rounds": 10, + "median": 0.0003613999928347766, + "iqr": 4.475167952477921e-06, + "q1": 0.0003600082127377391, + "q3": 0.000364483380690217, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.0003590916050598025, + "hd15iqr": 0.0003794749965891242, + "ops": 2751.8960474276973, + "total": 0.003633858193643391, + "data": [ + 0.0003794749965891242, + 0.0003662334056571126, + 0.00036139159929007294, + 0.0003618916030973196, + 0.00036069999914616345, + 0.000364483380690217, + 0.0003591750049963593, + 0.00036140838637948035, + 0.0003590916050598025, + 0.0003600082127377391 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-primal-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-primal-128-8]", + "params": { + "explicit_no_aux": true, + "transform": "primal", + "n_queries": 128, + "n_steps": 8 + }, + "param": "explicit-primal-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.8658205196261405e-05, + "max": 6.0924980789422986e-05, + "mean": 5.1189179066568614e-05, + "stddev": 3.6825884849827656e-06, + "rounds": 10, + "median": 4.980840021744371e-05, + "iqr": 2.1334039047360474e-06, + "q1": 4.929159767925739e-05, + "q3": 5.142500158399344e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 4.8658205196261405e-05, + "hd15iqr": 6.0924980789422986e-05, + "ops": 19535.378731109497, + "total": 0.0005118917906656861, + "data": [ + 6.0924980789422986e-05, + 5.142500158399344e-05, + 5.3191604092717173e-05, + 5.0533399917185304e-05, + 4.929159767925739e-05, + 4.973339382559061e-05, + 4.866679664701223e-05, + 4.98834066092968e-05, + 4.958340432494879e-05, + 4.8658205196261405e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-primal-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-primal-128-128]", + "params": { + "explicit_no_aux": true, + "transform": "primal", + "n_queries": 128, + "n_steps": 128 + }, + "param": "explicit-primal-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00035500000230967996, + "max": 0.0003756582038477063, + "mean": 0.00036090741865336896, + "stddev": 6.9825365145942e-06, + "rounds": 10, + "median": 0.00035795000148937107, + "iqr": 8.499994874000538e-06, + "q1": 0.00035578319802880286, + "q3": 0.0003642831929028034, + "iqr_outliers": 0, + "stddev_outliers": 2, + "outliers": "2;0", + "ld15iqr": 0.00035500000230967996, + "hd15iqr": 0.0003756582038477063, + "ops": 2770.793694768694, + "total": 0.0036090741865336894, + "data": [ + 0.0003756582038477063, + 0.0003642831929028034, + 0.0003581000026315451, + 0.0003702581860125065, + 0.00035780000034719707, + 0.00035920818336308, + 0.00035578319802880286, + 0.00035744160413742065, + 0.00035554161295294764, + 0.00035500000230967996 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-jvp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-jvp-8-8]", + "params": { + "explicit_no_aux": true, + "transform": "jvp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "explicit-jvp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00010979999788105488, + "max": 0.00012096660211682319, + "mean": 0.00011272082105278969, + "stddev": 3.033883694325366e-06, + "rounds": 10, + "median": 0.00011206669732928276, + "iqr": 1.3083918020129204e-06, + "q1": 0.00011131661012768746, + "q3": 0.00011262500192970038, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.00010979999788105488, + "hd15iqr": 0.00012096660211682319, + "ops": 8871.475479509481, + "total": 0.001127208210527897, + "data": [ + 0.00012096660211682319, + 0.00011283338535577059, + 0.00011177500709891319, + 0.00011131661012768746, + 0.00011225000489503145, + 0.00011262500192970038, + 0.00010979999788105488, + 0.00011261659674346446, + 0.0001111416146159172, + 0.00011188338976353407 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-jvp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-jvp-8-128]", + "params": { + "explicit_no_aux": true, + "transform": "jvp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "explicit-jvp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0013492333935573697, + "max": 0.0013718168018385768, + "mean": 0.0013595299795269966, + "stddev": 7.613012130834068e-06, + "rounds": 10, + "median": 0.0013588124886155129, + "iqr": 9.341584518552e-06, + "q1": 0.0013551250100135802, + "q3": 0.0013644665945321322, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0013492333935573697, + "hd15iqr": 0.0013718168018385768, + "ops": 735.5483255675737, + "total": 0.013595299795269966, + "data": [ + 0.0013718168018385768, + 0.0013644665945321322, + 0.0013492333935573697, + 0.001349458214826882, + 0.0013596999924629927, + 0.0013698332011699676, + 0.001361083402298391, + 0.001356658199802041, + 0.0013551250100135802, + 0.0013579249847680331 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-jvp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-jvp-128-8]", + "params": { + "explicit_no_aux": true, + "transform": "jvp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "explicit-jvp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00010991659946739674, + "max": 0.00011778338812291622, + "mean": 0.00011240249965339899, + "stddev": 2.243950170342761e-06, + "rounds": 10, + "median": 0.00011170420330017806, + "iqr": 2.1166168153285953e-06, + "q1": 0.00011113339569419622, + "q3": 0.00011325001250952482, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.00010991659946739674, + "hd15iqr": 0.00011778338812291622, + "ops": 8896.59930236045, + "total": 0.0011240249965339898, + "data": [ + 0.00011778338812291622, + 0.00011183340102434158, + 0.00011323320213705302, + 0.00011035001371055842, + 0.00011157500557601452, + 0.00011345818638801575, + 0.00011325001250952482, + 0.00011149179190397262, + 0.00010991659946739674, + 0.00011113339569419622 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-jvp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-jvp-128-128]", + "params": { + "explicit_no_aux": true, + "transform": "jvp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "explicit-jvp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0013592833885923028, + "max": 0.0013956000097095967, + "mean": 0.0013758808374404908, + "stddev": 1.026116124119508e-05, + "rounds": 10, + "median": 0.0013748207944445311, + "iqr": 1.0425201617181388e-05, + "q1": 0.0013692331966012716, + "q3": 0.001379658398218453, + "iqr_outliers": 1, + "stddev_outliers": 3, + "outliers": "3;1", + "ld15iqr": 0.0013592833885923028, + "hd15iqr": 0.0013956000097095967, + "ops": 726.8071280506164, + "total": 0.013758808374404907, + "data": [ + 0.0013692331966012716, + 0.0013956000097095967, + 0.0013879999984055757, + 0.0013772499980404973, + 0.001379658398218453, + 0.001371658407151699, + 0.0013592833885923028, + 0.0013740165857598185, + 0.001375625003129244, + 0.0013684833887964488 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-vjp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-vjp-8-8]", + "params": { + "explicit_no_aux": true, + "transform": "vjp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "explicit-vjp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00011419157963246107, + "max": 0.0001304415985941887, + "mean": 0.00012352081714197993, + "stddev": 4.801006522414173e-06, + "rounds": 10, + "median": 0.0001234999974258244, + "iqr": 5.199993029236804e-06, + "q1": 0.0001212000148370862, + "q3": 0.000126400007866323, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.00011419157963246107, + "hd15iqr": 0.0001304415985941887, + "ops": 8095.801364806052, + "total": 0.0012352081714197994, + "data": [ + 0.000126400007866323, + 0.0001304415985941887, + 0.00012222500517964364, + 0.00012867499608546496, + 0.00012229180429130794, + 0.00011419157963246107, + 0.00012612498831003903, + 0.00012470819056034088, + 0.0001212000148370862, + 0.00011894998606294393 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-vjp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-vjp-8-128]", + "params": { + "explicit_no_aux": true, + "transform": "vjp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "explicit-vjp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0014653332065790892, + "max": 0.001508525013923645, + "mean": 0.0014846733212471007, + "stddev": 1.5888195346524554e-05, + "rounds": 10, + "median": 0.0014808957930654287, + "iqr": 3.096677828580137e-05, + "q1": 0.0014714666176587343, + "q3": 0.0015024333959445357, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0014653332065790892, + "hd15iqr": 0.001508525013923645, + "ops": 673.5488445094552, + "total": 0.014846733212471009, + "data": [ + 0.0015069915913045405, + 0.0015024333959445357, + 0.0014714666176587343, + 0.001508525013923645, + 0.001470683398656547, + 0.0014653332065790892, + 0.0014828915940597654, + 0.0014742583967745303, + 0.0014852500054985285, + 0.001478899992071092 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-vjp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-vjp-128-8]", + "params": { + "explicit_no_aux": true, + "transform": "vjp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "explicit-vjp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00011819999199360609, + "max": 0.00013329179491847754, + "mean": 0.0001252875430509448, + "stddev": 4.909778878434045e-06, + "rounds": 10, + "median": 0.00012435000389814376, + "iqr": 7.216585800051676e-06, + "q1": 0.00012140842154622078, + "q3": 0.00012862500734627246, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.00011819999199360609, + "hd15iqr": 0.00013329179491847754, + "ops": 7981.63948025844, + "total": 0.001252875430509448, + "data": [ + 0.00012604999355971813, + 0.00013329179491847754, + 0.0001324834069237113, + 0.00012402499560266734, + 0.00012862500734627246, + 0.0001246750121936202, + 0.00012140842154622078, + 0.00012285839766263963, + 0.00011819999199360609, + 0.0001212584087625146 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-vjp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-vjp-128-128]", + "params": { + "explicit_no_aux": true, + "transform": "vjp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "explicit-vjp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0015042583923786878, + "max": 0.0015770499827340244, + "mean": 0.0015218891389667988, + "stddev": 2.089287061767768e-05, + "rounds": 10, + "median": 0.0015167249017395078, + "iqr": 1.3416819274425463e-05, + "q1": 0.0015126415994018317, + "q3": 0.0015260584186762571, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.0015042583923786878, + "hd15iqr": 0.0015770499827340244, + "ops": 657.0780843333266, + "total": 0.015218891389667987, + "data": [ + 0.0015770499827340244, + 0.0015260584186762571, + 0.0015192334074527025, + 0.001527983183041215, + 0.0015154165914282203, + 0.0015043915947899223, + 0.0015180332120507956, + 0.0015138250077143312, + 0.0015042583923786878, + 0.0015126415994018317 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_batched_adaptive_dense_output", + "fullname": "benchmarks/test_aux_dense_output.py::test_batched_adaptive_dense_output", + "params": null, + "param": null, + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0009856166085228323, + "max": 0.001013024989515543, + "mean": 0.0009957275190390646, + "stddev": 7.659758325816555e-06, + "rounds": 10, + "median": 0.0009942041942849755, + "iqr": 7.658172398805748e-06, + "q1": 0.0009909334126859902, + "q3": 0.000998591585084796, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.0009856166085228323, + "hd15iqr": 0.001013024989515543, + "ops": 1004.2908133794059, + "total": 0.009957275190390646, + "data": [ + 0.001013024989515543, + 0.001002599997445941, + 0.000998591585084796, + 0.0009909334126859902, + 0.000990825006738305, + 0.0009930749889463185, + 0.0009956668131053449, + 0.0009916083887219428, + 0.0009856166085228323, + 0.0009953333996236325 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-rk4]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "rk4" + }, + "param": "primal-scalar-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.287494812160731e-06, + "max": 5.52500132471323e-06, + "mean": 4.421881167218089e-06, + "stddev": 2.7038207954561287e-07, + "rounds": 20, + "median": 4.341657040640712e-06, + "iqr": 8.539063856005584e-08, + "q1": 4.320853622630239e-06, + "q3": 4.406244261190295e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 4.287494812160731e-06, + "hd15iqr": 4.608405288308859e-06, + "ops": 226148.09448376103, + "total": 8.843762334436178e-05, + "data": [ + 5.52500132471323e-06, + 4.608405288308859e-06, + 4.495901521295309e-06, + 4.41248994320631e-06, + 4.412501584738493e-06, + 4.39999857917428e-06, + 4.358298610895872e-06, + 4.345807246863842e-06, + 4.345807246863842e-06, + 4.358298610895872e-06, + 4.325003828853369e-06, + 4.3333042412996296e-06, + 4.333397373557091e-06, + 4.316703416407108e-06, + 4.320801235735417e-06, + 4.291697405278683e-06, + 4.287494812160731e-06, + 4.337506834417582e-06, + 4.320906009525061e-06, + 4.308298230171204e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-tsit5]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "tsit5" + }, + "param": "primal-scalar-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.583395250141621e-06, + "max": 7.612502668052912e-06, + "mean": 5.806660046800971e-06, + "stddev": 4.440079878895646e-07, + "rounds": 20, + "median": 5.67705137655139e-06, + "iqr": 1.6665435396134887e-07, + "q1": 5.6270451750606295e-06, + "q3": 5.793699529021978e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 5.583395250141621e-06, + "hd15iqr": 6.0666934587061405e-06, + "ops": 172216.04019180083, + "total": 0.00011613320093601942, + "data": [ + 7.612502668052912e-06, + 5.954201333224773e-06, + 5.808298010379076e-06, + 5.779101047664881e-06, + 6.0666934587061405e-06, + 5.754199810326099e-06, + 5.675002466887236e-06, + 5.68340765312314e-06, + 5.641602911055088e-06, + 5.679205060005188e-06, + 5.629099905490875e-06, + 5.87500398978591e-06, + 5.624990444630385e-06, + 5.629099905490875e-06, + 5.587504711002112e-06, + 5.637493450194597e-06, + 5.620799493044615e-06, + 5.679100286215544e-06, + 5.612499080598354e-06, + 5.583395250141621e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-rodas5p]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "rodas5p" + }, + "param": "primal-scalar-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.1075003314763307e-05, + "max": 2.9349990654736757e-05, + "mean": 2.2757091792300343e-05, + "stddev": 2.3942708648183713e-06, + "rounds": 20, + "median": 2.200624439865351e-05, + "iqr": 1.1333439033478505e-06, + "q1": 2.1470803767442702e-05, + "q3": 2.2604147670790552e-05, + "iqr_outliers": 3, + "stddev_outliers": 3, + "outliers": "3;3", + "ld15iqr": 2.1075003314763307e-05, + "hd15iqr": 2.618751022964716e-05, + "ops": 43942.345934481, + "total": 0.0004551418358460069, + "data": [ + 2.618751022964716e-05, + 2.17959051951766e-05, + 2.2050004918128253e-05, + 2.1279207430779934e-05, + 2.8570799622684716e-05, + 2.2362498566508292e-05, + 2.3025006521493195e-05, + 2.167500788345933e-05, + 2.9349990654736757e-05, + 2.2845796775072812e-05, + 2.2016593720763922e-05, + 2.1462503354996443e-05, + 2.202090108767152e-05, + 2.2050004918128253e-05, + 2.199589507654309e-05, + 2.1658407058566807e-05, + 2.1479104179888964e-05, + 2.1104200277477504e-05, + 2.1137495059520008e-05, + 2.1075003314763307e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-em]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "em" + }, + "param": "primal-scalar-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.095906089991331e-06, + "max": 9.862508159130812e-06, + "mean": 6.221247022040188e-06, + "stddev": 1.1159491864128378e-06, + "rounds": 20, + "median": 5.935452645644545e-06, + "iqr": 5.749985575675961e-07, + "q1": 5.695800064131618e-06, + "q3": 6.270798621699214e-06, + "iqr_outliers": 2, + "stddev_outliers": 3, + "outliers": "3;2", + "ld15iqr": 5.095906089991331e-06, + "hd15iqr": 8.683302439749241e-06, + "ops": 160739.47818777675, + "total": 0.00012442494044080378, + "data": [ + 9.862508159130812e-06, + 5.245802458375692e-06, + 6.3791987486183645e-06, + 5.76250022277236e-06, + 6.1208033002913e-06, + 5.966704338788986e-06, + 5.850009620189666e-06, + 5.629099905490875e-06, + 6.179104093462229e-06, + 5.095906089991331e-06, + 5.858403164893389e-06, + 5.9042009525001046e-06, + 6.083305925130844e-06, + 5.579204298555851e-06, + 6.362493149936199e-06, + 5.566596519201994e-06, + 8.683302439749241e-06, + 5.816598422825336e-06, + 6.087508518248797e-06, + 6.391690112650394e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-dae]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "dae" + }, + "param": "primal-scalar-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.1595798898488283e-05, + "max": 2.430420136079192e-05, + "mean": 2.1937295095995068e-05, + "stddev": 5.873479081274883e-07, + "rounds": 20, + "median": 2.180414739996195e-05, + "iqr": 2.791639417409897e-07, + "q1": 2.166459453292191e-05, + "q3": 2.19437584746629e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 2.1595798898488283e-05, + "hd15iqr": 2.430420136079192e-05, + "ops": 45584.47135912224, + "total": 0.0004387459019199014, + "data": [ + 2.430420136079192e-05, + 2.2312498185783624e-05, + 2.2116606123745443e-05, + 2.1970807574689387e-05, + 2.18583969399333e-05, + 2.1916709374636412e-05, + 2.1787500008940698e-05, + 2.1804100833833216e-05, + 2.1712505258619785e-05, + 2.1812506020069122e-05, + 2.2024998906999825e-05, + 2.1662493236362933e-05, + 2.169170184060931e-05, + 2.1641701459884642e-05, + 2.1666695829480886e-05, + 2.1599989850074053e-05, + 2.180419396609068e-05, + 2.1595798898488283e-05, + 2.1612504497170448e-05, + 2.1849991753697395e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-rodas5p_dae]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "rodas5p_dae" + }, + "param": "primal-scalar-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.6887503918260335e-05, + "max": 3.648749552667141e-05, + "mean": 2.8421656461432574e-05, + "stddev": 2.549279529535044e-06, + "rounds": 20, + "median": 2.7614552527666093e-05, + "iqr": 8.083472494035986e-07, + "q1": 2.7227052487432954e-05, + "q3": 2.8035399736836553e-05, + "iqr_outliers": 3, + "stddev_outliers": 2, + "outliers": "2;3", + "ld15iqr": 2.6887503918260335e-05, + "hd15iqr": 3.02292057313025e-05, + "ops": 35184.43766136478, + "total": 0.0005684331292286516, + "data": [ + 3.648749552667141e-05, + 3.4504197537899016e-05, + 3.02292057313025e-05, + 2.810000441968441e-05, + 2.7233303990215062e-05, + 2.722080098465085e-05, + 2.7966604102402924e-05, + 2.7604098431766032e-05, + 2.7062499430030585e-05, + 2.762500662356615e-05, + 2.7708301786333323e-05, + 2.7254095766693353e-05, + 2.7075002435594797e-05, + 2.844170667231083e-05, + 2.692500129342079e-05, + 2.726250095292926e-05, + 2.7970795053988694e-05, + 2.7241697534918784e-05, + 2.6887503918260335e-05, + 2.763330703601241e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-sdae]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "sdae" + }, + "param": "primal-scalar-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.424589617177844e-05, + "max": 6.319159874692559e-05, + "mean": 5.6071889703162013e-05, + "stddev": 2.3304489242188612e-06, + "rounds": 20, + "median": 5.521250423043966e-05, + "iqr": 1.8062593881040839e-06, + "q1": 5.466879229061305e-05, + "q3": 5.6475051678717136e-05, + "iqr_outliers": 3, + "stddev_outliers": 3, + "outliers": "3;3", + "ld15iqr": 5.424589617177844e-05, + "hd15iqr": 5.976249231025577e-05, + "ops": 17834.24823550414, + "total": 0.0011214377940632404, + "data": [ + 5.9862493071705106e-05, + 6.319159874692559e-05, + 5.647919606417417e-05, + 5.64709072932601e-05, + 5.976249231025577e-05, + 5.745410453528166e-05, + 5.533751100301742e-05, + 5.472500342875719e-05, + 5.470839096233249e-05, + 5.435420898720622e-05, + 5.489590112119913e-05, + 5.456249928101897e-05, + 5.50874974578619e-05, + 5.535410018637776e-05, + 5.4629193618893625e-05, + 5.543339066207409e-05, + 5.4616702254861596e-05, + 5.477090599015355e-05, + 5.424589617177844e-05, + 5.549580091610551e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-rk4]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "rk4" + }, + "param": "primal-vector16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.329090006649494e-06, + "max": 5.983398295938969e-06, + "mean": 4.485209356062114e-06, + "stddev": 3.6428258961258084e-07, + "rounds": 20, + "median": 4.379148595035077e-06, + "iqr": 9.164796210825443e-08, + "q1": 4.356249701231718e-06, + "q3": 4.447897663339973e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 4.329090006649494e-06, + "hd15iqr": 4.720792640000582e-06, + "ops": 222955.03300161925, + "total": 8.970418712124228e-05, + "data": [ + 5.983398295938969e-06, + 4.720792640000582e-06, + 4.51250234618783e-06, + 4.51250234618783e-06, + 4.454201553016901e-06, + 4.441593773663044e-06, + 4.39580762758851e-06, + 4.383304622024298e-06, + 4.358298610895872e-06, + 4.39580762758851e-06, + 4.3459003791213036e-06, + 4.362501204013824e-06, + 4.329090006649494e-06, + 4.3667037971317765e-06, + 4.358391743153334e-06, + 4.3333042412996296e-06, + 4.329194780439138e-06, + 4.39169816672802e-06, + 4.354200791567564e-06, + 4.374992568045855e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-tsit5]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "tsit5" + }, + "param": "primal-vector16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.095898035913706e-06, + "max": 2.417500363662839e-05, + "mean": 8.238331065513194e-06, + "stddev": 3.838016204531851e-06, + "rounds": 20, + "median": 7.193750934675336e-06, + "iqr": 1.6035046428442018e-07, + "q1": 7.131253369152546e-06, + "q3": 7.291603833436966e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 7.095898035913706e-06, + "hd15iqr": 1.08166947029531e-05, + "ops": 121383.80844952201, + "total": 0.00016476662131026387, + "data": [ + 2.417500363662839e-05, + 1.08166947029531e-05, + 7.512501906603575e-06, + 7.404200732707977e-06, + 7.279100827872753e-06, + 7.304106839001179e-06, + 7.212499622255564e-06, + 7.216609083116054e-06, + 7.199996616691351e-06, + 7.258402183651924e-06, + 7.162499241530895e-06, + 7.187493611127138e-06, + 7.095898035913706e-06, + 7.108307909220457e-06, + 7.129099685698748e-06, + 7.120799273252487e-06, + 7.133407052606344e-06, + 7.1875052526593205e-06, + 7.162499241530895e-06, + 7.099995855242014e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-rodas5p]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "rodas5p" + }, + "param": "primal-vector16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.5562505945563314e-05, + "max": 4.6504102647304536e-05, + "mean": 3.94647748908028e-05, + "stddev": 3.7882602558410967e-06, + "rounds": 20, + "median": 3.7485401844605806e-05, + "iqr": 6.533303530886772e-06, + "q1": 3.619579365476966e-05, + "q3": 4.272909718565643e-05, + "iqr_outliers": 0, + "stddev_outliers": 7, + "outliers": "7;0", + "ld15iqr": 3.5562505945563314e-05, + "hd15iqr": 4.6504102647304536e-05, + "ops": 25339.05242756239, + "total": 0.000789295497816056, + "data": [ + 4.43084049038589e-05, + 4.176660440862179e-05, + 3.77124990336597e-05, + 3.725830465555191e-05, + 3.6816706415265796e-05, + 3.615409368649125e-05, + 3.610829589888454e-05, + 3.6429101601243016e-05, + 3.5908306017518044e-05, + 3.6337494384497405e-05, + 3.561659250408411e-05, + 3.623749362304807e-05, + 3.5562505945563314e-05, + 4.02584089897573e-05, + 4.575419006869197e-05, + 4.6504102647304536e-05, + 4.369158996269107e-05, + 4.169580060988665e-05, + 4.3716700747609136e-05, + 4.1458301711827514e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-em]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "em" + }, + "param": "primal-vector16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.296249149367213e-05, + "max": 2.9512506444007158e-05, + "mean": 2.4351460160687567e-05, + "stddev": 1.4889108608273295e-06, + "rounds": 20, + "median": 2.3879145737737416e-05, + "iqr": 6.95802737027406e-07, + "q1": 2.3624999448657037e-05, + "q3": 2.4320802185684443e-05, + "iqr_outliers": 3, + "stddev_outliers": 3, + "outliers": "3;3", + "ld15iqr": 2.296249149367213e-05, + "hd15iqr": 2.602089662104845e-05, + "ops": 41065.299304490036, + "total": 0.0004870292032137513, + "data": [ + 2.9512506444007158e-05, + 2.602089662104845e-05, + 2.6508304290473462e-05, + 2.417500363662839e-05, + 2.3841694928705693e-05, + 2.4304096587002278e-05, + 2.4283304810523987e-05, + 2.477089874446392e-05, + 2.3620796855539084e-05, + 2.3170793429017068e-05, + 2.3929204326122998e-05, + 2.3916596546769142e-05, + 2.3687502834945918e-05, + 2.296249149367213e-05, + 2.3666699416935443e-05, + 2.339589409530163e-05, + 2.3725000210106374e-05, + 2.3629202041774987e-05, + 2.35708081163466e-05, + 2.433750778436661e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-dae]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "dae" + }, + "param": "primal-vector16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00010463340440765023, + "max": 0.00011902499245479703, + "mean": 0.00010664563917089253, + "stddev": 3.0442307930983534e-06, + "rounds": 20, + "median": 0.00010602290276437998, + "iqr": 1.5479512512683923e-06, + "q1": 0.00010532710002735256, + "q3": 0.00010687505127862095, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.00010463340440765023, + "hd15iqr": 0.00011902499245479703, + "ops": 9376.848484142578, + "total": 0.002132912783417851, + "data": [ + 0.00011902499245479703, + 0.00010800419840961695, + 0.00010615419596433639, + 0.00010704169981181621, + 0.00010718749836087227, + 0.00010535420151427388, + 0.00010529999854043126, + 0.00010604580165818334, + 0.0001061874907463789, + 0.00010560830123722554, + 0.00010463340440765023, + 0.00010573329636827111, + 0.00010688339825719595, + 0.00010686670430004597, + 0.00010634589707478881, + 0.00010501670185476541, + 0.00010600000387057662, + 0.0001047499943524599, + 0.00010502500226721168, + 0.00010575000196695327 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-rodas5p_dae]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "rodas5p_dae" + }, + "param": "primal-vector16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.332499906420707e-05, + "max": 7.497079204767942e-05, + "mean": 6.583187379874289e-05, + "stddev": 2.339706434288737e-06, + "rounds": 20, + "median": 6.552084814757109e-05, + "iqr": 1.0062532965093878e-06, + "q1": 6.510624662041664e-05, + "q3": 6.611249991692603e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 6.370829651132226e-05, + "hd15iqr": 7.497079204767942e-05, + "ops": 15190.210186894235, + "total": 0.001316637475974858, + "data": [ + 7.497079204767942e-05, + 6.507079815492034e-05, + 6.60124933347106e-05, + 6.643750239163638e-05, + 6.377079989761114e-05, + 6.514169508591295e-05, + 6.370829651132226e-05, + 6.559999892488121e-05, + 6.551250116899609e-05, + 6.693749455735087e-05, + 6.455000257119537e-05, + 6.550420075654984e-05, + 6.555840373039246e-05, + 6.62375008687377e-05, + 6.530829705297947e-05, + 6.552919512614608e-05, + 6.332499906420707e-05, + 6.574579747393727e-05, + 6.550420075654984e-05, + 6.621250649914145e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-sdae]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "sdae" + }, + "param": "primal-vector16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0002487792051397264, + "max": 0.0002656833967193961, + "mean": 0.00025342373992316426, + "stddev": 3.931232428404033e-06, + "rounds": 20, + "median": 0.0002523999952245504, + "iqr": 2.8958544135093364e-06, + "q1": 0.00025125829852186144, + "q3": 0.0002541541529353708, + "iqr_outliers": 2, + "stddev_outliers": 3, + "outliers": "3;2", + "ld15iqr": 0.0002487792051397264, + "hd15iqr": 0.00026187499752268196, + "ops": 3945.960233651318, + "total": 0.005068474798463285, + "data": [ + 0.0002656833967193961, + 0.00026187499752268196, + 0.0002542375004850328, + 0.00025453330017626284, + 0.0002558459062129259, + 0.0002533332910388708, + 0.0002516416017897427, + 0.0002523500006645918, + 0.0002525457995943725, + 0.000251295801717788, + 0.00025290000485256314, + 0.0002515124971978366, + 0.00025244998978450893, + 0.0002507374971173704, + 0.0002512207953259349, + 0.0002540708053857088, + 0.0002510958001948893, + 0.0002509333076886833, + 0.0002514332998543978, + 0.0002487792051397264 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-rk4]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "rk4" + }, + "param": "primal-tree16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.7916040532290936e-06, + "max": 7.700000423938036e-06, + "mean": 5.98520040512085e-06, + "stddev": 4.154246335264144e-07, + "rounds": 20, + "median": 5.864602280780673e-06, + "iqr": 1.3329554349184036e-07, + "q1": 5.820853402838111e-06, + "q3": 5.954148946329951e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 5.7916040532290936e-06, + "hd15iqr": 6.170803681015969e-06, + "ops": 167078.7830503411, + "total": 0.00011970400810241699, + "data": [ + 7.700000423938036e-06, + 6.170803681015969e-06, + 6.041605956852436e-06, + 6.025005131959915e-06, + 5.958299152553082e-06, + 5.933293141424656e-06, + 5.949998740106821e-06, + 5.912501364946365e-06, + 5.925004370510578e-06, + 5.866703577339649e-06, + 5.849997978657484e-06, + 5.837494973093271e-06, + 5.837494973093271e-06, + 5.8292062021791935e-06, + 5.812500603497028e-06, + 5.862500984221697e-06, + 5.795795004814863e-06, + 5.808402784168721e-06, + 5.795795004814863e-06, + 5.7916040532290936e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-tsit5]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "tsit5" + }, + "param": "primal-tree16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 9.695894550532103e-06, + "max": 2.5462498888373376e-05, + "mean": 2.1632295101881027e-05, + "stddev": 5.739102547361618e-06, + "rounds": 20, + "median": 2.430835156701505e-05, + "iqr": 1.610390609130266e-06, + "q1": 2.3200002033263445e-05, + "q3": 2.481039264239371e-05, + "iqr_outliers": 4, + "stddev_outliers": 4, + "outliers": "4;4", + "ld15iqr": 2.3095798678696155e-05, + "hd15iqr": 2.5462498888373376e-05, + "ops": 46227.180023678826, + "total": 0.00043264590203762054, + "data": [ + 2.5462498888373376e-05, + 2.3408303968608378e-05, + 2.3754104040563108e-05, + 2.530000638216734e-05, + 2.4808291345834733e-05, + 2.5112507864832877e-05, + 2.477080561220646e-05, + 2.4933402892202138e-05, + 2.4812493938952686e-05, + 2.4687498807907104e-05, + 2.436250215396285e-05, + 2.3304205387830735e-05, + 2.4729198776185514e-05, + 2.4254200980067253e-05, + 2.3541692644357682e-05, + 2.3095798678696155e-05, + 1.2737500946968794e-05, + 9.695894550532103e-06, + 9.908294305205346e-06, + 9.966699872165919e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-rodas5p]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "rodas5p" + }, + "param": "primal-tree16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.172089975327253e-05, + "max": 4.644169239327311e-05, + "mean": 4.306604037992656e-05, + "stddev": 9.807931749564283e-07, + "rounds": 20, + "median": 4.2985402978956705e-05, + "iqr": 8.291448466479765e-07, + "q1": 4.247295437380672e-05, + "q3": 4.3302099220454694e-05, + "iqr_outliers": 1, + "stddev_outliers": 3, + "outliers": "3;1", + "ld15iqr": 4.172089975327253e-05, + "hd15iqr": 4.644169239327311e-05, + "ops": 23220.151915013488, + "total": 0.0008613208075985313, + "data": [ + 4.644169239327311e-05, + 4.3279200326651335e-05, + 4.30000014603138e-05, + 4.2937498074024914e-05, + 4.2441708501428366e-05, + 4.3324998114258054e-05, + 4.348340444266796e-05, + 4.318749997764826e-05, + 4.3233297765254976e-05, + 4.187501035630703e-05, + 4.316250560805201e-05, + 4.250420024618506e-05, + 4.2583292815834285e-05, + 4.269159398972988e-05, + 4.399579484015703e-05, + 4.242910072207451e-05, + 4.3712498154491186e-05, + 4.234580555930734e-05, + 4.2970804497599604e-05, + 4.172089975327253e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-em]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "em" + }, + "param": "primal-tree16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.4016696736216546e-05, + "max": 5.5291596800088884e-05, + "mean": 3.7218134966678914e-05, + "stddev": 4.895636585219323e-06, + "rounds": 20, + "median": 3.561879857443273e-05, + "iqr": 2.0165985915809883e-06, + "q1": 3.4685450373217463e-05, + "q3": 3.670204896479845e-05, + "iqr_outliers": 4, + "stddev_outliers": 2, + "outliers": "2;4", + "ld15iqr": 3.4016696736216546e-05, + "hd15iqr": 4.002500791102648e-05, + "ops": 26868.62200094904, + "total": 0.0007443626993335784, + "data": [ + 5.5291596800088884e-05, + 4.3712498154491186e-05, + 4.002500791102648e-05, + 4.0316698141396044e-05, + 3.534170100465417e-05, + 3.580000484362245e-05, + 3.4633406903594734e-05, + 3.4516688901931045e-05, + 3.631250001490116e-05, + 3.6691594868898394e-05, + 3.526660148054361e-05, + 3.671250306069851e-05, + 3.473749384284019e-05, + 3.4016696736216546e-05, + 3.5683403257280585e-05, + 3.513749688863754e-05, + 3.5554193891584875e-05, + 3.432090161368251e-05, + 3.6029203329235315e-05, + 3.426250768825412e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-dae]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "dae" + }, + "param": "primal-tree16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00011165000032633542, + "max": 0.00012547499500215054, + "mean": 0.00011466061638202518, + "stddev": 3.1086916227385736e-06, + "rounds": 20, + "median": 0.00011392085580155253, + "iqr": 3.1124451197683893e-06, + "q1": 0.00011252710246481001, + "q3": 0.0001156395475845784, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.00011165000032633542, + "hd15iqr": 0.00012547499500215054, + "ops": 8721.390408963172, + "total": 0.0022932123276405035, + "data": [ + 0.00012547499500215054, + 0.00011767080286517739, + 0.00011734999716281891, + 0.00011490830220282078, + 0.00011368331033736467, + 0.00011415840126574039, + 0.00011165000032633542, + 0.00011683329939842224, + 0.00011637079296633601, + 0.00011458749650046229, + 0.00011457500513643027, + 0.00011295829899609089, + 0.0001120750093832612, + 0.00011232909746468067, + 0.00011430419981479645, + 0.0001124958973377943, + 0.00011325409868732095, + 0.0001135125057771802, + 0.00011246250942349434, + 0.00011255830759182572 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-rodas5p_dae]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "rodas5p_dae" + }, + "param": "primal-tree16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.934170378372073e-05, + "max": 9.43582970649004e-05, + "mean": 7.219833380077034e-05, + "stddev": 5.3574723371006155e-06, + "rounds": 20, + "median": 7.07666447851807e-05, + "iqr": 2.2916530724614886e-06, + "q1": 7.010629633441567e-05, + "q3": 7.239794940687716e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 6.934170378372073e-05, + "hd15iqr": 9.43582970649004e-05, + "ops": 13850.735153521371, + "total": 0.001443966676015407, + "data": [ + 9.43582970649004e-05, + 7.326659979298711e-05, + 7.04083009622991e-05, + 7.243750151246786e-05, + 7.331670494750142e-05, + 7.127500139176845e-05, + 7.235839730128646e-05, + 7.108749123290181e-05, + 7.094999309629202e-05, + 6.95750000886619e-05, + 6.987089291214943e-05, + 6.980419857427478e-05, + 7.245420711115003e-05, + 7.040000054985285e-05, + 7.034169975668192e-05, + 6.974579300731421e-05, + 7.058329647406936e-05, + 7.20290932804346e-05, + 6.934170378372073e-05, + 7.03625031746924e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-sdae]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "sdae" + }, + "param": "primal-tree16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.000268208293709904, + "max": 0.00028550419956445693, + "mean": 0.00027321207046043127, + "stddev": 3.386395333431632e-06, + "rounds": 20, + "median": 0.00027272080187685783, + "iqr": 2.733303699642409e-06, + "q1": 0.0002715729002375156, + "q3": 0.000274306203937158, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.000268208293709904, + "hd15iqr": 0.00028550419956445693, + "ops": 3660.1603959691374, + "total": 0.005464241409208625, + "data": [ + 0.00028550419956445693, + 0.000274937495123595, + 0.0002753166016191244, + 0.00027411660412326457, + 0.0002713833004236221, + 0.00027206250233575703, + 0.0002729707979597151, + 0.0002744958037510514, + 0.000268208293709904, + 0.0002718582982197404, + 0.0002734083915129304, + 0.0002734375069849193, + 0.0002724708057940006, + 0.00027301249792799354, + 0.000271762500051409, + 0.000274883396923542, + 0.00027090420480817555, + 0.0002720208023674786, + 0.0002713833004236221, + 0.0002701041055843234 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-rk4]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "rk4" + }, + "param": "jvp-scalar-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.195802077651024e-06, + "max": 6.558292079716921e-06, + "mean": 5.324786179699004e-06, + "stddev": 2.982327168597224e-07, + "rounds": 20, + "median": 5.235447315499187e-06, + "iqr": 9.994837455451522e-08, + "q1": 5.214603152126074e-06, + "q3": 5.314551526680589e-06, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 5.195802077651024e-06, + "hd15iqr": 6.558292079716921e-06, + "ops": 187800.96819897607, + "total": 0.00010649572359398008, + "data": [ + 6.558292079716921e-06, + 5.450006574392318e-06, + 5.308305844664574e-06, + 5.320797208696604e-06, + 5.350005812942981e-06, + 5.383405368775129e-06, + 5.254207644611597e-06, + 5.233392585068941e-06, + 5.237502045929432e-06, + 5.2166986279189585e-06, + 5.229096859693527e-06, + 5.24159986525774e-06, + 5.208305083215237e-06, + 5.237502045929432e-06, + 5.199993029236793e-06, + 5.233299452811479e-06, + 5.208305083215237e-06, + 5.212507676333189e-06, + 5.195802077651024e-06, + 5.2166986279189585e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-tsit5]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "tsit5" + }, + "param": "jvp-scalar-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.66250304877758e-06, + "max": 1.9099994096904994e-05, + "mean": 8.928129682317376e-06, + "stddev": 2.8055560693445367e-06, + "rounds": 20, + "median": 7.791700772941112e-06, + "iqr": 4.6250061132013866e-07, + "q1": 7.735402323305608e-06, + "q3": 8.197902934625746e-06, + "iqr_outliers": 4, + "stddev_outliers": 3, + "outliers": "3;4", + "ld15iqr": 7.66250304877758e-06, + "hd15iqr": 9.195797611027956e-06, + "ops": 112005.54153918171, + "total": 0.00017856259364634752, + "data": [ + 1.1866702698171138e-05, + 1.3125000987201928e-05, + 1.9099994096904994e-05, + 8.004205301404e-06, + 7.874995935708284e-06, + 7.945799734443425e-06, + 7.866695523262023e-06, + 7.791700772941112e-06, + 7.783295586705208e-06, + 7.791700772941112e-06, + 7.72089697420597e-06, + 7.720803841948509e-06, + 7.737497799098492e-06, + 7.791700772941112e-06, + 7.72089697420597e-06, + 7.737497799098492e-06, + 7.66250304877758e-06, + 7.733306847512723e-06, + 9.195797611027956e-06, + 8.39160056784749e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-rodas5p]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "rodas5p" + }, + "param": "jvp-scalar-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.792499726638198e-05, + "max": 3.316659713163972e-05, + "mean": 2.8690421022474765e-05, + "stddev": 1.1171421587094999e-06, + "rounds": 20, + "median": 2.8362503508105873e-05, + "iqr": 4.040892235934741e-07, + "q1": 2.8247956652194262e-05, + "q3": 2.8652045875787736e-05, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 2.792499726638198e-05, + "hd15iqr": 2.9320898465812207e-05, + "ops": 34854.83880549002, + "total": 0.0005738084204494953, + "data": [ + 3.316659713163972e-05, + 2.9320898465812207e-05, + 2.9141700360924004e-05, + 2.8062495402991772e-05, + 2.8370798099786042e-05, + 2.8350006323307754e-05, + 2.826250856742263e-05, + 2.8274999931454658e-05, + 2.828750293701887e-05, + 2.8375000692903995e-05, + 2.8354208916425704e-05, + 2.8370809741318225e-05, + 2.8170901350677015e-05, + 2.9195798560976982e-05, + 2.8433301486074926e-05, + 2.8208398725837468e-05, + 2.792499726638198e-05, + 2.85874935798347e-05, + 2.8233404736965895e-05, + 2.8716598171740772e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-em]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "em" + }, + "param": "jvp-scalar-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.933308809995652e-06, + "max": 8.041702676564455e-06, + "mean": 5.201456369832158e-06, + "stddev": 6.768322044697425e-07, + "rounds": 20, + "median": 5.031208274886012e-06, + "iqr": 1.2079835869371908e-07, + "q1": 4.981248639523983e-06, + "q3": 5.102046998217702e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 4.933308809995652e-06, + "hd15iqr": 5.41249755769968e-06, + "ops": 192253.84755698108, + "total": 0.00010402912739664316, + "data": [ + 8.041702676564455e-06, + 5.41249755769968e-06, + 5.183403845876455e-06, + 5.100003909319639e-06, + 5.104090087115765e-06, + 5.099992267787456e-06, + 5.112506914883852e-06, + 5.033309571444989e-06, + 5.000003147870302e-06, + 5.0041940994560715e-06, + 4.9667083658277985e-06, + 5.054101347923279e-06, + 4.974997136741877e-06, + 5.0584087148308756e-06, + 4.966603592038155e-06, + 4.991691093891859e-06, + 4.933308809995652e-06, + 5.0291069783270356e-06, + 4.979199729859829e-06, + 4.983297549188137e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-dae]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "dae" + }, + "param": "jvp-scalar-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.8262504171580074e-05, + "max": 6.295830244198441e-05, + "mean": 5.888750369194895e-05, + "stddev": 1.0941039106006883e-06, + "rounds": 20, + "median": 5.852914764545858e-05, + "iqr": 3.3123651519417627e-07, + "q1": 5.846460699103773e-05, + "q3": 5.8795843506231905e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 5.8262504171580074e-05, + "hd15iqr": 6.079169688746333e-05, + "ops": 16981.53151865935, + "total": 0.001177750073838979, + "data": [ + 6.295830244198441e-05, + 6.079169688746333e-05, + 5.879589589312673e-05, + 5.883749108761549e-05, + 5.879579111933708e-05, + 5.84915978834033e-05, + 5.8470806106925013e-05, + 5.8262504171580074e-05, + 5.858339136466384e-05, + 5.853750044479966e-05, + 5.8508303482085466e-05, + 5.85292000323534e-05, + 5.835840711370111e-05, + 5.8374996297061446e-05, + 5.8566697407513854e-05, + 5.8458407875150445e-05, + 5.896659567952156e-05, + 5.844589322805405e-05, + 5.848750006407499e-05, + 5.8529095258563754e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-rodas5p_dae]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "rodas5p_dae" + }, + "param": "jvp-scalar-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.622500225901604e-05, + "max": 4.2862503323704e-05, + "mean": 3.7247075815685094e-05, + "stddev": 1.4559466252017122e-06, + "rounds": 20, + "median": 3.696249914355576e-05, + "iqr": 1.0791583918034922e-06, + "q1": 3.6433344939723616e-05, + "q3": 3.751250333152711e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 3.622500225901604e-05, + "hd15iqr": 4.2862503323704e-05, + "ops": 26847.74517463974, + "total": 0.0007449415163137019, + "data": [ + 4.2862503323704e-05, + 3.827919717878103e-05, + 3.8000009953975675e-05, + 3.725000424310565e-05, + 3.7045800127089024e-05, + 3.685409901663661e-05, + 3.6995904520154e-05, + 3.6987499333918096e-05, + 3.6341603845357895e-05, + 3.6387494765222074e-05, + 3.693749895319343e-05, + 3.6550010554492475e-05, + 3.62665974535048e-05, + 3.643749514594674e-05, + 3.645829856395722e-05, + 3.701249370351434e-05, + 3.642919473350048e-05, + 3.622500225901604e-05, + 3.7775002419948577e-05, + 3.784580621868372e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-sdae]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "sdae" + }, + "param": "jvp-scalar-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00017387500265613197, + "max": 0.00017951669869944453, + "mean": 0.00017672229092568158, + "stddev": 1.4169601989171736e-06, + "rounds": 20, + "median": 0.00017677710275165737, + "iqr": 1.4187535271048817e-06, + "q1": 0.0001760083483532071, + "q3": 0.000177427101880312, + "iqr_outliers": 1, + "stddev_outliers": 6, + "outliers": "6;1", + "ld15iqr": 0.00017397080082446337, + "hd15iqr": 0.00017951669869944453, + "ops": 5658.595725315365, + "total": 0.0035344458185136316, + "data": [ + 0.00017951669869944453, + 0.00017523330170661212, + 0.00017397080082446337, + 0.00017387500265613197, + 0.00017728330567479134, + 0.0001772833988070488, + 0.0001769833965227008, + 0.0001768958056345582, + 0.00017788750119507313, + 0.00017827909905463458, + 0.00017608340131118893, + 0.00017657909775152801, + 0.0001759332953952253, + 0.00017639999277889727, + 0.0001788457971997559, + 0.00017632910748943686, + 0.00017719590105116367, + 0.00017665839986875654, + 0.00017564170993864537, + 0.00017757080495357515 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-rk4]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "rk4" + }, + "param": "jvp-vector16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.52500132471323e-06, + "max": 7.1499962359666824e-06, + "mean": 5.683130002580583e-06, + "stddev": 3.5759558600270463e-07, + "rounds": 20, + "median": 5.564599996432662e-06, + "iqr": 9.376090019941347e-08, + "q1": 5.5458454880863425e-06, + "q3": 5.639606388285756e-06, + "iqr_outliers": 3, + "stddev_outliers": 1, + "outliers": "1;3", + "ld15iqr": 5.52500132471323e-06, + "hd15iqr": 5.7916971854865554e-06, + "ops": 175959.37441971627, + "total": 0.00011366260005161167, + "data": [ + 7.1499962359666824e-06, + 5.887506995350123e-06, + 5.7916971854865554e-06, + 5.687505472451449e-06, + 5.633302498608827e-06, + 5.64580550417304e-06, + 5.633407272398472e-06, + 5.612499080598354e-06, + 5.612499080598354e-06, + 5.558296106755734e-06, + 5.541695281863213e-06, + 5.549995694309473e-06, + 5.566701292991638e-06, + 5.549995694309473e-06, + 5.562498699873686e-06, + 5.53330173715949e-06, + 5.5292039178311825e-06, + 5.549995694309473e-06, + 5.541695281863213e-06, + 5.52500132471323e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-tsit5]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "tsit5" + }, + "param": "jvp-vector16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 8.112494833767414e-06, + "max": 2.200410235673189e-05, + "mean": 1.0270631173625589e-05, + "stddev": 4.4105184913712814e-06, + "rounds": 20, + "median": 8.266652002930641e-06, + "iqr": 5.10393874719739e-07, + "q1": 8.147954940795898e-06, + "q3": 8.658348815515637e-06, + "iqr_outliers": 4, + "stddev_outliers": 3, + "outliers": "3;4", + "ld15iqr": 8.112494833767414e-06, + "hd15iqr": 1.3958301860839128e-05, + "ops": 97364.9995891143, + "total": 0.00020541262347251177, + "data": [ + 1.3958301860839128e-05, + 2.1412502974271774e-05, + 2.200410235673189e-05, + 1.5716697089374065e-05, + 8.366699330508708e-06, + 8.291599806398154e-06, + 8.320808410644531e-06, + 8.187501225620509e-06, + 8.187501225620509e-06, + 8.150003850460052e-06, + 8.779193740338087e-06, + 8.12920043244958e-06, + 8.241704199463129e-06, + 8.112494833767414e-06, + 8.537503890693188e-06, + 8.145906031131745e-06, + 8.387502748519183e-06, + 8.237501606345177e-06, + 8.116697426885366e-06, + 8.12920043244958e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-rodas5p]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "rodas5p" + }, + "param": "jvp-vector16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.542089395225048e-05, + "max": 7.621250115334988e-05, + "mean": 6.71397929545492e-05, + "stddev": 2.281064034473439e-06, + "rounds": 20, + "median": 6.657704361714422e-05, + "iqr": 1.4208490028977394e-06, + "q1": 6.609584670513868e-05, + "q3": 6.751669570803642e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 6.542089395225048e-05, + "hd15iqr": 7.621250115334988e-05, + "ops": 14894.29675002063, + "total": 0.0013427958590909838, + "data": [ + 7.621250115334988e-05, + 6.650419672951102e-05, + 6.689999718219042e-05, + 6.621669745072722e-05, + 6.787499878555537e-05, + 6.774159846827388e-05, + 6.822500145062805e-05, + 6.61708996631205e-05, + 6.55749929137528e-05, + 6.773750064894556e-05, + 6.610419368371367e-05, + 6.60874997265637e-05, + 6.729589076712728e-05, + 6.659579230472445e-05, + 6.6558294929564e-05, + 6.542089395225048e-05, + 6.608329713344573e-05, + 6.55916053801775e-05, + 6.707500433549285e-05, + 6.682500243186951e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-em]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "em" + }, + "param": "jvp-vector16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.404999151825905e-05, + "max": 4.245840245857835e-05, + "mean": 3.616875153966248e-05, + "stddev": 1.7693322697012143e-06, + "rounds": 20, + "median": 3.575204755179584e-05, + "iqr": 1.574994530528781e-06, + "q1": 3.515835851430893e-05, + "q3": 3.673335304483771e-05, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 3.404999151825905e-05, + "hd15iqr": 4.245840245857835e-05, + "ops": 27648.175771381124, + "total": 0.0007233750307932496, + "data": [ + 4.245840245857835e-05, + 3.771660849452019e-05, + 3.6562501918524504e-05, + 3.548329696059227e-05, + 3.689579898491502e-05, + 3.680420340970159e-05, + 3.737499937415123e-05, + 3.4558295737951994e-05, + 3.666250267997384e-05, + 3.6204198841005565e-05, + 3.632090520113707e-05, + 3.5333307459950446e-05, + 3.500829916447401e-05, + 3.477920545265078e-05, + 3.5558303352445364e-05, + 3.5020906943827866e-05, + 3.5945791751146317e-05, + 3.529581008478999e-05, + 3.404999151825905e-05, + 3.534170100465417e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-dae]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "dae" + }, + "param": "jvp-vector16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00019205829594284295, + "max": 0.000209183304104954, + "mean": 0.00019976583018433303, + "stddev": 4.026618100926177e-06, + "rounds": 20, + "median": 0.00019935205345973374, + "iqr": 4.579103551805041e-06, + "q1": 0.00019693545182235538, + "q3": 0.00020151455537416042, + "iqr_outliers": 1, + "stddev_outliers": 5, + "outliers": "5;1", + "ld15iqr": 0.00019205829594284295, + "hd15iqr": 0.000209183304104954, + "ops": 5005.861107864416, + "total": 0.00399531660368666, + "data": [ + 0.000209183304104954, + 0.00020628749625757338, + 0.0001987166004255414, + 0.00019631250761449338, + 0.00019851248944178224, + 0.0001960458932444453, + 0.00019901660270988942, + 0.00019205829594284295, + 0.00020210000220686198, + 0.00020121251000091434, + 0.00019867499358952045, + 0.0001949500059708953, + 0.0002010792028158903, + 0.0002052249968983233, + 0.00020181660074740647, + 0.0002007708069868386, + 0.0001975583960302174, + 0.000195929198525846, + 0.00019968750420957805, + 0.00020017919596284627 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-rodas5p_dae]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "rodas5p_dae" + }, + "param": "jvp-vector16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 9.396669920533896e-05, + "max": 0.00012207089457660913, + "mean": 9.912376350257546e-05, + "stddev": 5.988228976455678e-06, + "rounds": 20, + "median": 9.755005012266338e-05, + "iqr": 3.27925081364811e-06, + "q1": 9.65333019848913e-05, + "q3": 9.98125527985394e-05, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 9.396669920533896e-05, + "hd15iqr": 0.00010487500112503767, + "ops": 10088.398227272897, + "total": 0.001982475270051509, + "data": [ + 0.00012207089457660913, + 0.00010211250046268105, + 0.00010062500368803739, + 9.691249579191208e-05, + 9.789590258151293e-05, + 9.688339196145535e-05, + 9.812499629333616e-05, + 9.5849996432662e-05, + 9.720419766381382e-05, + 9.680408984422684e-05, + 9.511250536888837e-05, + 0.00010487500112503767, + 9.835419477894902e-05, + 0.00010054170852527022, + 9.675410110503435e-05, + 9.631250286474824e-05, + 9.908339707180858e-05, + 9.396669920533896e-05, + 9.817919926717878e-05, + 9.481249144300818e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-sdae]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "sdae" + }, + "param": "jvp-vector16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0005707749980501831, + "max": 0.0005990458070300519, + "mean": 0.0005785778950667008, + "stddev": 6.846930756040949e-06, + "rounds": 20, + "median": 0.0005770666000898927, + "iqr": 5.7979486882686615e-06, + "q1": 0.0005745875008869916, + "q3": 0.0005803854495752603, + "iqr_outliers": 2, + "stddev_outliers": 4, + "outliers": "4;2", + "ld15iqr": 0.0005707749980501831, + "hd15iqr": 0.0005912791006267071, + "ops": 1728.3757442629499, + "total": 0.011571557901334018, + "data": [ + 0.0005990458070300519, + 0.0005912791006267071, + 0.0005796125042252243, + 0.0005789290997199714, + 0.0005811583949252963, + 0.0005814624950289726, + 0.0005764040979556739, + 0.0005748374969698489, + 0.0005716749932616949, + 0.0005727874930016696, + 0.0005749749951064586, + 0.0005779666011221707, + 0.0005795250064693392, + 0.0005724665941670537, + 0.0005777291022241116, + 0.0005853417096659541, + 0.0005757458042353391, + 0.000575504102744162, + 0.0005707749980501831, + 0.0005743375048041343 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-rk4]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "rk4" + }, + "param": "jvp-tree16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.72089697420597e-06, + "max": 1.0504201054573058e-05, + "mean": 8.5321010556072e-06, + "stddev": 8.810787024628108e-07, + "rounds": 20, + "median": 8.212501415982843e-06, + "iqr": 1.4854012988507748e-06, + "q1": 7.764599286019801e-06, + "q3": 9.250000584870576e-06, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 7.72089697420597e-06, + "hd15iqr": 1.0504201054573058e-05, + "ops": 117204.42520342763, + "total": 0.000170642021112144, + "data": [ + 9.262491948902607e-06, + 8.108303882181645e-06, + 7.970898877829313e-06, + 7.97079410403967e-06, + 9.270897135138511e-06, + 9.845802560448647e-06, + 8.333404548466205e-06, + 9.075005073100328e-06, + 9.237509220838547e-06, + 8.31669894978404e-06, + 1.0504201054573058e-05, + 9.954208508133888e-06, + 8.57909908518195e-06, + 7.770908996462823e-06, + 7.72910425439477e-06, + 7.762503810226917e-06, + 7.729197386652232e-06, + 7.733399979770183e-06, + 7.766694761812686e-06, + 7.72089697420597e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-tsit5]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "tsit5" + }, + "param": "jvp-tree16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.6054191403090952e-05, + "max": 2.887500450015068e-05, + "mean": 2.7030000346712768e-05, + "stddev": 5.449156462337278e-07, + "rounds": 20, + "median": 2.6983354473486543e-05, + "iqr": 3.458000719547231e-07, + "q1": 2.6839599013328555e-05, + "q3": 2.7185399085283278e-05, + "iqr_outliers": 2, + "stddev_outliers": 3, + "outliers": "3;2", + "ld15iqr": 2.6337499730288982e-05, + "hd15iqr": 2.887500450015068e-05, + "ops": 36995.92997310539, + "total": 0.0005406000069342554, + "data": [ + 2.887500450015068e-05, + 2.6929203886538745e-05, + 2.7429102919995786e-05, + 2.7183291967958213e-05, + 2.6866700500249864e-05, + 2.7004210278391837e-05, + 2.6337499730288982e-05, + 2.7187506202608346e-05, + 2.6812497526407242e-05, + 2.6887503918260335e-05, + 2.7291709557175636e-05, + 2.6587501633912324e-05, + 2.6054191403090952e-05, + 2.7104094624519347e-05, + 2.6962498668581248e-05, + 2.7366692665964366e-05, + 2.6733300182968377e-05, + 2.6899995282292367e-05, + 2.7054199017584323e-05, + 2.7033302467316388e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-rodas5p]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "rodas5p" + }, + "param": "jvp-tree16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.47416983358562e-05, + "max": 8.736249292269349e-05, + "mean": 7.670542050618679e-05, + "stddev": 2.550312733726232e-06, + "rounds": 20, + "median": 7.6218752656132e-05, + "iqr": 5.479028914123719e-07, + "q1": 7.594170165248215e-05, + "q3": 7.648960454389452e-05, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 7.557920180261135e-05, + "hd15iqr": 8.736249292269349e-05, + "ops": 13036.888311163662, + "total": 0.0015341084101237357, + "data": [ + 8.736249292269349e-05, + 7.612500339746476e-05, + 7.631250191479922e-05, + 7.557920180261135e-05, + 7.609579479321838e-05, + 7.660828996449708e-05, + 7.650840561836957e-05, + 7.63875083066523e-05, + 7.642910350114107e-05, + 7.579169468954205e-05, + 7.647080346941947e-05, + 7.47416983358562e-05, + 7.675000233575702e-05, + 7.642500568181277e-05, + 7.608330342918634e-05, + 7.671250496059656e-05, + 7.579169468954205e-05, + 7.590421009808778e-05, + 7.604999700561166e-05, + 7.597919320687652e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-em]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "em" + }, + "param": "jvp-tree16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.643749514594674e-05, + "max": 5.0524994730949405e-05, + "mean": 4.150082007981837e-05, + "stddev": 3.683121347120769e-06, + "rounds": 20, + "median": 4.067085101269185e-05, + "iqr": 6.589596159756185e-06, + "q1": 3.823540173470974e-05, + "q3": 4.482499789446592e-05, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 3.643749514594674e-05, + "hd15iqr": 5.0524994730949405e-05, + "ops": 24095.909383879738, + "total": 0.0008300164015963673, + "data": [ + 5.0524994730949405e-05, + 4.59624920040369e-05, + 4.4849992264062166e-05, + 4.49958024546504e-05, + 4.480000352486968e-05, + 4.486660473048687e-05, + 4.4633308425545694e-05, + 4.1916605550795796e-05, + 4.0575000457465646e-05, + 4.103329265490174e-05, + 3.643749514594674e-05, + 3.797910176217556e-05, + 3.827920882031322e-05, + 3.908330108970404e-05, + 3.836670657619834e-05, + 3.819159464910626e-05, + 4.0612509474158286e-05, + 3.809169866144657e-05, + 3.8087496068328616e-05, + 4.072919255122542e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-dae]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "dae" + }, + "param": "jvp-tree16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0002458833041600883, + "max": 0.00026985830627381804, + "mean": 0.0002511195751139894, + "stddev": 5.011328193085124e-06, + "rounds": 20, + "median": 0.00025001249741762877, + "iqr": 3.602146171033404e-06, + "q1": 0.0002483437012415379, + "q3": 0.0002519458474125713, + "iqr_outliers": 1, + "stddev_outliers": 3, + "outliers": "3;1", + "ld15iqr": 0.0002458833041600883, + "hd15iqr": 0.00026985830627381804, + "ops": 3982.1666612253352, + "total": 0.005022391502279788, + "data": [ + 0.00026985830627381804, + 0.00025646669091656805, + 0.00025246659060940146, + 0.0002503667026758194, + 0.00025132501032203435, + 0.0002514792024157941, + 0.0002484833006747067, + 0.0002522541908547282, + 0.0002493332955054939, + 0.0002496291999705136, + 0.00024992499966174363, + 0.0002477249945513904, + 0.0002516375039704144, + 0.0002458833041600883, + 0.0002500999951735139, + 0.00024820410180836916, + 0.0002477874979376793, + 0.0002477958099916577, + 0.0002529249992221594, + 0.0002487458055838943 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-rodas5p_dae]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "rodas5p_dae" + }, + "param": "jvp-tree16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0001353709027171135, + "max": 0.00015391249908134342, + "mean": 0.0001381920842686668, + "stddev": 3.9488306015206954e-06, + "rounds": 20, + "median": 0.0001374875020701438, + "iqr": 2.495845546945946e-06, + "q1": 0.00013619789970107374, + "q3": 0.0001386937452480197, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.0001353709027171135, + "hd15iqr": 0.00015391249908134342, + "ops": 7236.304490898662, + "total": 0.002763841685373336, + "data": [ + 0.00015391249908134342, + 0.0001389999990351498, + 0.00013859589817002415, + 0.00013985829427838327, + 0.00013701670104637742, + 0.00013863749336451292, + 0.0001388082979246974, + 0.00013874999713152646, + 0.0001363874995149672, + 0.00013547500129789113, + 0.0001379125053063035, + 0.00013802920002490283, + 0.00013706249883398413, + 0.00013655830407515167, + 0.00013544579269364476, + 0.00013600829988718032, + 0.0001364624942652881, + 0.00013592500472441315, + 0.00013862500200048088, + 0.0001353709027171135 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-sdae]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "sdae" + }, + "param": "jvp-tree16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.000597920804284513, + "max": 0.0006246624980121851, + "mean": 0.0006096426950534806, + "stddev": 7.06791743906041e-06, + "rounds": 20, + "median": 0.0006090645503718406, + "iqr": 1.170000177808106e-05, + "q1": 0.0006044478970579803, + "q3": 0.0006161478988360614, + "iqr_outliers": 0, + "stddev_outliers": 7, + "outliers": "7;0", + "ld15iqr": 0.000597920804284513, + "hd15iqr": 0.0006246624980121851, + "ops": 1640.305064120018, + "total": 0.012192853901069611, + "data": [ + 0.0006246624980121851, + 0.0006166999926790595, + 0.0006119665922597051, + 0.0006048375042155385, + 0.0006145249935798347, + 0.0006155958049930632, + 0.0006167333922348917, + 0.0006180541007779538, + 0.0006041874992661178, + 0.0006078624981455504, + 0.0006068750051781535, + 0.000604037509765476, + 0.000616724998690188, + 0.0006106791086494922, + 0.0006102666025981307, + 0.0006047082948498428, + 0.0006008459022268653, + 0.0006006542011164129, + 0.0006050165975466371, + 0.000597920804284513 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-rk4]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "rk4" + }, + "param": "vjp-scalar-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.112495273351669e-06, + "max": 6.816594395786524e-06, + "mean": 5.302909412421286e-06, + "stddev": 3.725258411723624e-07, + "rounds": 20, + "median": 5.189597140997649e-06, + "iqr": 1.104490365833044e-07, + "q1": 5.15204737894237e-06, + "q3": 5.262496415525675e-06, + "iqr_outliers": 3, + "stddev_outliers": 1, + "outliers": "1;3", + "ld15iqr": 5.112495273351669e-06, + "hd15iqr": 5.475000943988562e-06, + "ops": 188575.72744079825, + "total": 0.00010605818824842572, + "data": [ + 6.816594395786524e-06, + 5.475000943988562e-06, + 5.366699770092964e-06, + 5.274999421089888e-06, + 5.508295726031065e-06, + 5.249993409961462e-06, + 5.233299452811479e-06, + 5.208305083215237e-06, + 5.174998659640551e-06, + 5.16250729560852e-06, + 5.150004290044307e-06, + 5.199993029236793e-06, + 5.204207263886929e-06, + 5.179201252758503e-06, + 5.124998278915882e-06, + 5.137501284480095e-06, + 5.112495273351669e-06, + 5.174998659640551e-06, + 5.150004290044307e-06, + 5.1540904678404335e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-tsit5]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "tsit5" + }, + "param": "vjp-scalar-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.0087510347366332e-05, + "max": 2.7737498749047516e-05, + "mean": 2.1665210369974374e-05, + "stddev": 2.0673668604549176e-06, + "rounds": 20, + "median": 2.079170080833137e-05, + "iqr": 1.1208001524209983e-06, + "q1": 2.055420191027224e-05, + "q3": 2.167500206269324e-05, + "iqr_outliers": 3, + "stddev_outliers": 3, + "outliers": "3;3", + "ld15iqr": 2.0087510347366332e-05, + "hd15iqr": 2.431250177323818e-05, + "ops": 46156.9485328373, + "total": 0.0004333042073994875, + "data": [ + 2.431250177323818e-05, + 2.1700002253055573e-05, + 2.0516698714345694e-05, + 2.060000551864505e-05, + 2.02000024728477e-05, + 2.7737498749047516e-05, + 2.610000083222985e-05, + 2.1650001872330905e-05, + 2.2795796394348144e-05, + 2.126669278368354e-05, + 2.131670480594039e-05, + 2.097910037264228e-05, + 2.0404194947332145e-05, + 2.072090283036232e-05, + 2.0087510347366332e-05, + 2.0233297254890205e-05, + 2.0595791283994913e-05, + 2.0591705106198787e-05, + 2.086249878630042e-05, + 2.0633300300687553e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-rodas5p]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "rodas5p" + }, + "param": "vjp-scalar-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.0145800448954104e-05, + "max": 4.825829528272152e-05, + "mean": 4.217332578264177e-05, + "stddev": 2.2632179251795938e-06, + "rounds": 20, + "median": 4.1177048115059736e-05, + "iqr": 2.493802458047864e-06, + "q1": 4.053540178574622e-05, + "q3": 4.302920424379408e-05, + "iqr_outliers": 1, + "stddev_outliers": 3, + "outliers": "3;1", + "ld15iqr": 4.0145800448954104e-05, + "hd15iqr": 4.825829528272152e-05, + "ops": 23711.670385065827, + "total": 0.0008434665156528354, + "data": [ + 4.627499729394913e-05, + 4.045830573886633e-05, + 4.825829528272152e-05, + 4.282090812921524e-05, + 4.529589787125587e-05, + 4.4420803897082804e-05, + 4.3237500358372925e-05, + 4.099999787285924e-05, + 4.182499833405018e-05, + 4.077079938724637e-05, + 4.237079992890358e-05, + 4.077090416103602e-05, + 4.12333058193326e-05, + 4.181660478934646e-05, + 4.02917037717998e-05, + 4.038329934701324e-05, + 4.0145800448954104e-05, + 4.112079041078687e-05, + 4.0612497832626106e-05, + 4.0358304977416994e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-em]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "em" + }, + "param": "vjp-scalar-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.3666030503809454e-06, + "max": 4.462501965463161e-06, + "mean": 3.4933356801047923e-06, + "stddev": 2.3331642273863707e-07, + "rounds": 20, + "median": 3.422948066145182e-06, + "iqr": 8.120550774037872e-08, + "q1": 3.410445060580969e-06, + "q3": 3.4916505683213476e-06, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 3.3666030503809454e-06, + "hd15iqr": 4.462501965463161e-06, + "ops": 286259.34967978863, + "total": 6.986671360209584e-05, + "data": [ + 4.462501965463161e-06, + 3.545801155269146e-06, + 3.4958007745444775e-06, + 3.483402542769909e-06, + 3.4958007745444775e-06, + 3.516708966344595e-06, + 3.487500362098217e-06, + 3.420806024223566e-06, + 3.4125056117773057e-06, + 3.483402542769909e-06, + 3.4208991564810275e-06, + 3.408303018659353e-06, + 3.4124939702451227e-06, + 3.4166965633630753e-06, + 3.3666030503809454e-06, + 3.408396150916815e-06, + 3.4000026062130927e-06, + 3.429094795137644e-06, + 3.4249969758093357e-06, + 3.374996595084667e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-dae]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "dae" + }, + "param": "vjp-scalar-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 9.851249633356929e-05, + "max": 0.00011064170394092798, + "mean": 0.00010202957433648407, + "stddev": 3.232477184211665e-06, + "rounds": 20, + "median": 0.0001014791545458138, + "iqr": 2.6749970857053914e-06, + "q1": 9.993959683924913e-05, + "q3": 0.00010261459392495452, + "iqr_outliers": 2, + "stddev_outliers": 4, + "outliers": "4;2", + "ld15iqr": 9.851249633356929e-05, + "hd15iqr": 0.0001088000019080937, + "ops": 9801.079799687224, + "total": 0.0020405914867296813, + "data": [ + 0.00010599580127745867, + 0.00011064170394092798, + 0.0001088000019080937, + 0.00010420409962534905, + 0.00010160000529140234, + 0.00010041659697890282, + 0.00010135830380022525, + 9.990829275920987e-05, + 9.933749679476022e-05, + 9.99749987386167e-05, + 0.00010266249300912022, + 9.93250054307282e-05, + 0.00010256669484078884, + 9.99709009192884e-05, + 0.00010004580253735185, + 9.851249633356929e-05, + 0.00010200419928878546, + 0.0001025332952849567, + 0.00010187079897150397, + 9.886249899864197e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-rodas5p_dae]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "rodas5p_dae" + }, + "param": "vjp-scalar-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.2241602204740045e-05, + "max": 5.015420028939843e-05, + "mean": 4.408583452459425e-05, + "stddev": 2.006215011249318e-06, + "rounds": 20, + "median": 4.3247902067378166e-05, + "iqr": 1.927098492160442e-06, + "q1": 4.2843748815357685e-05, + "q3": 4.477084730751813e-05, + "iqr_outliers": 2, + "stddev_outliers": 3, + "outliers": "3;2", + "ld15iqr": 4.2241602204740045e-05, + "hd15iqr": 4.7691597137600185e-05, + "ops": 22683.023034125126, + "total": 0.000881716690491885, + "data": [ + 4.7691597137600185e-05, + 5.015420028939843e-05, + 4.497499903663993e-05, + 4.347920184955001e-05, + 4.2841699905693534e-05, + 4.43416996859014e-05, + 4.612499615177512e-05, + 4.456669557839632e-05, + 4.2845797725021836e-05, + 4.5537506230175497e-05, + 4.2929197661578655e-05, + 4.3108302634209394e-05, + 4.301669541746378e-05, + 4.2416597716510295e-05, + 4.338750150054693e-05, + 4.3887493666261436e-05, + 4.260001005604863e-05, + 4.256250103935599e-05, + 4.300839500501752e-05, + 4.2241602204740045e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-sdae]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "sdae" + }, + "param": "vjp-scalar-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00017712080152705313, + "max": 0.00018516249256208538, + "mean": 0.00018085646617691965, + "stddev": 2.0248872994715132e-06, + "rounds": 20, + "median": 0.00018069579964503647, + "iqr": 2.574996324256068e-06, + "q1": 0.00017951045301742852, + "q3": 0.0001820854493416846, + "iqr_outliers": 0, + "stddev_outliers": 5, + "outliers": "5;0", + "ld15iqr": 0.00017712080152705313, + "hd15iqr": 0.00018516249256208538, + "ops": 5529.246596147509, + "total": 0.003617129323538393, + "data": [ + 0.00018355000065639615, + 0.00018030420178547502, + 0.00018516249256208538, + 0.00018194169970229269, + 0.00017730420222505927, + 0.00018339590169489384, + 0.00017945840954780579, + 0.00018172920681536198, + 0.0001805832958780229, + 0.00018080830341205, + 0.00018207089742645622, + 0.00017712080152705313, + 0.0001823666039854288, + 0.00018210000125691296, + 0.00017931250622496008, + 0.0001799624995328486, + 0.00018152500269934534, + 0.0001797208096832037, + 0.00017914999043568968, + 0.00017956249648705126 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-rk4]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "rk4" + }, + "param": "vjp-vector16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.98750014230609e-06, + "max": 6.158300675451756e-06, + "mean": 5.109585472382605e-06, + "stddev": 2.5578260127524684e-07, + "rounds": 20, + "median": 5.03755290992558e-06, + "iqr": 8.119968697428703e-08, + "q1": 5.006248829886317e-06, + "q3": 5.087448516860604e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 4.98750014230609e-06, + "hd15iqr": 5.258305463939905e-06, + "ops": 195710.59245510557, + "total": 0.0001021917094476521, + "data": [ + 6.158300675451756e-06, + 5.258305463939905e-06, + 5.150004290044307e-06, + 5.141599103808403e-06, + 5.0915987230837345e-06, + 5.045905709266663e-06, + 5.075009539723396e-06, + 5.083298310637474e-06, + 5.062494892627001e-06, + 5.049991887062788e-06, + 4.98750014230609e-06, + 4.991702735424042e-06, + 4.991702735424042e-06, + 5.012506153434515e-06, + 5.024997517466545e-06, + 5.0292001105844975e-06, + 5.024997517466545e-06, + 4.995905328541994e-06, + 4.999991506338119e-06, + 5.0166971050202845e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-tsit5]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "tsit5" + }, + "param": "vjp-vector16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.0679202862083912e-05, + "max": 2.8504105284810066e-05, + "mean": 2.249332785140723e-05, + "stddev": 2.251820295246969e-06, + "rounds": 20, + "median": 2.1245796233415604e-05, + "iqr": 2.097850665450099e-06, + "q1": 2.0981300622224808e-05, + "q3": 2.3079151287674907e-05, + "iqr_outliers": 2, + "stddev_outliers": 3, + "outliers": "3;2", + "ld15iqr": 2.0679202862083912e-05, + "hd15iqr": 2.72874953225255e-05, + "ops": 44457.62790664334, + "total": 0.0004498665570281446, + "data": [ + 2.72874953225255e-05, + 2.8504105284810066e-05, + 2.537919208407402e-05, + 2.3983395658433436e-05, + 2.3104099091142417e-05, + 2.0679202862083912e-05, + 2.1954195108264685e-05, + 2.0945898722857236e-05, + 2.073749201372266e-05, + 2.082498976960778e-05, + 2.3054203484207392e-05, + 2.1254096645861863e-05, + 2.1237495820969345e-05, + 2.104169689118862e-05, + 2.3020792286843062e-05, + 2.078330144286156e-05, + 2.271659905090928e-05, + 2.1179101895540953e-05, + 2.101670252159238e-05, + 2.1162501070648432e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-rodas5p]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "rodas5p" + }, + "param": "vjp-vector16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00012053330428898334, + "max": 0.00013995839981362224, + "mean": 0.00012479853990953415, + "stddev": 3.95974578664105e-06, + "rounds": 20, + "median": 0.000124074995983392, + "iqr": 2.8020993340760578e-06, + "q1": 0.00012297914945520462, + "q3": 0.00012578124878928067, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.00012053330428898334, + "hd15iqr": 0.00013995839981362224, + "ops": 8012.914259452836, + "total": 0.002495970798190683, + "data": [ + 0.00013995839981362224, + 0.0001264749909751117, + 0.00012427920009940862, + 0.0001261333003640175, + 0.00012640829663723707, + 0.00012588329846039415, + 0.0001227332977578044, + 0.00012202919460833073, + 0.00012567919911816717, + 0.00012212920701131224, + 0.00012127080699428917, + 0.0001252667047083378, + 0.00012343330308794975, + 0.00012503749458119272, + 0.0001246624975465238, + 0.00012053330428898334, + 0.00012358750682324172, + 0.00012387079186737537, + 0.0001232250011526048, + 0.00012337500229477882 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-em]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "em" + }, + "param": "vjp-vector16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.462505992501974e-06, + "max": 4.758290015161038e-06, + "mean": 3.604360390454531e-06, + "stddev": 2.8068327247036296e-07, + "rounds": 20, + "median": 3.5270524676889183e-06, + "iqr": 1.1039664968848262e-07, + "q1": 3.4937518648803232e-06, + "q3": 3.604148514568806e-06, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 3.462505992501974e-06, + "hd15iqr": 4.758290015161038e-06, + "ops": 277441.73491871444, + "total": 7.208720780909062e-05, + "data": [ + 4.758290015161038e-06, + 3.6333920434117316e-06, + 3.599992487579584e-06, + 3.6207959055900575e-06, + 3.608304541558027e-06, + 3.5415985621511934e-06, + 3.5624951124191282e-06, + 3.5375007428228857e-06, + 3.5415985621511934e-06, + 3.5125063732266427e-06, + 3.4917029552161694e-06, + 3.4833094105124475e-06, + 3.462505992501974e-06, + 3.4750089980661867e-06, + 3.4958007745444775e-06, + 3.754196222871542e-06, + 3.4708064049482346e-06, + 3.516604192554951e-06, + 3.5125063732266427e-06, + 3.5082921385765076e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-dae]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "dae" + }, + "param": "vjp-vector16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006627542083151638, + "max": 0.0007064084056764841, + "mean": 0.0006780922925099731, + "stddev": 9.30253345959899e-06, + "rounds": 20, + "median": 0.0006779811985325069, + "iqr": 8.489651372656313e-06, + "q1": 0.0006735187023878097, + "q3": 0.000682008353760466, + "iqr_outliers": 1, + "stddev_outliers": 5, + "outliers": "5;1", + "ld15iqr": 0.0006627542083151638, + "hd15iqr": 0.0007064084056764841, + "ops": 1474.7255071997336, + "total": 0.01356184585019946, + "data": [ + 0.0007064084056764841, + 0.000674066599458456, + 0.0006787250051274896, + 0.0006784708006307483, + 0.0006757000111974776, + 0.0006752207991667092, + 0.0006857375032268464, + 0.0006782790995202958, + 0.000681100005749613, + 0.0006886749994009733, + 0.0006776832975447178, + 0.0006676292046904564, + 0.0006627542083151638, + 0.0006662084022536873, + 0.0006829167017713189, + 0.0006708500091917813, + 0.0006787916994653642, + 0.0006729708053171635, + 0.0006754957954399288, + 0.0006841624970547854 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-rodas5p_dae]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "rodas5p_dae" + }, + "param": "vjp-vector16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00020718749146908522, + "max": 0.00023665829794481397, + "mean": 0.00021790042635984718, + "stddev": 7.1743152676816545e-06, + "rounds": 20, + "median": 0.00021657920442521572, + "iqr": 9.920756565406908e-06, + "q1": 0.00021268544951453806, + "q3": 0.00022260620607994497, + "iqr_outliers": 0, + "stddev_outliers": 6, + "outliers": "6;0", + "ld15iqr": 0.00020718749146908522, + "hd15iqr": 0.00023665829794481397, + "ops": 4589.252149275608, + "total": 0.004358008527196944, + "data": [ + 0.00023665829794481397, + 0.0002269208896905184, + 0.00022018749732524156, + 0.0002263875096105039, + 0.0002215708023868501, + 0.00021104590268805623, + 0.00021710420260205864, + 0.00022559580393135547, + 0.00021497500129044055, + 0.00021829170873388648, + 0.00020718749146908522, + 0.0002103624981828034, + 0.00021414579823613166, + 0.00021105000050738453, + 0.00021721250377595424, + 0.0002134709036909044, + 0.0002160542062483728, + 0.00021189999533817173, + 0.00021424590377137065, + 0.00022364160977303982 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-sdae]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "sdae" + }, + "param": "vjp-vector16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0007530874921940267, + "max": 0.0007904625032097101, + "mean": 0.0007620822888566181, + "stddev": 7.655613030694757e-06, + "rounds": 20, + "median": 0.0007598750002216548, + "iqr": 4.885398084297776e-06, + "q1": 0.0007586958527099341, + "q3": 0.0007635812507942319, + "iqr_outliers": 2, + "stddev_outliers": 3, + "outliers": "3;2", + "ld15iqr": 0.0007530874921940267, + "hd15iqr": 0.0007709249970503151, + "ops": 1312.1942533270774, + "total": 0.015241645777132362, + "data": [ + 0.0007904625032097101, + 0.0007709249970503151, + 0.0007642457960173488, + 0.0007621582946740091, + 0.0007607541978359222, + 0.0007608667016029358, + 0.0007597083924338222, + 0.0007571875001303851, + 0.0007530874921940267, + 0.0007572832982987165, + 0.0007642457960173488, + 0.0007597999996505677, + 0.0007594540948048234, + 0.0007587917032651603, + 0.0007648999919183553, + 0.0007596833049319685, + 0.000762916705571115, + 0.0007566250045783818, + 0.000758600002154708, + 0.0007599500007927418 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-rk4]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "rk4" + }, + "param": "vjp-tree16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.745802238583565e-06, + "max": 8.266605436801911e-06, + "mean": 6.942279869690538e-06, + "stddev": 3.355405539204109e-07, + "rounds": 20, + "median": 6.831245264038443e-06, + "iqr": 9.78994648903605e-08, + "q1": 6.806250894442201e-06, + "q3": 6.904150359332561e-06, + "iqr_outliers": 3, + "stddev_outliers": 1, + "outliers": "1;3", + "ld15iqr": 6.745802238583565e-06, + "hd15iqr": 7.154198829084635e-06, + "ops": 144044.89861694042, + "total": 0.00013884559739381076, + "data": [ + 8.266605436801911e-06, + 7.154198829084635e-06, + 6.945803761482239e-06, + 7.212499622255564e-06, + 6.862496957182884e-06, + 6.845803000032902e-06, + 6.812508217990398e-06, + 6.808305624872446e-06, + 6.7875022068619725e-06, + 6.812496576458216e-06, + 7.045792881399393e-06, + 6.837502587586641e-06, + 6.7875022068619725e-06, + 6.849993951618671e-06, + 6.8374909460544584e-06, + 6.824999582022429e-06, + 6.804196164011955e-06, + 6.812496576458216e-06, + 6.745802238583565e-06, + 6.791600026190281e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-tsit5]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "tsit5" + }, + "param": "vjp-tree16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.6320805773139e-05, + "max": 3.052080282941461e-05, + "mean": 2.770645543932915e-05, + "stddev": 9.29729812244644e-07, + "rounds": 20, + "median": 2.7612491976469755e-05, + "iqr": 8.999544661492096e-07, + "q1": 2.7058349223807455e-05, + "q3": 2.7958303689956665e-05, + "iqr_outliers": 1, + "stddev_outliers": 5, + "outliers": "5;1", + "ld15iqr": 2.6320805773139e-05, + "hd15iqr": 3.052080282941461e-05, + "ops": 36092.6716948609, + "total": 0.0005541291087865829, + "data": [ + 3.052080282941461e-05, + 2.7879106346517803e-05, + 2.877499209716916e-05, + 2.868330338969827e-05, + 2.850000746548176e-05, + 2.7562491595745087e-05, + 2.752499422058463e-05, + 2.7662492357194424e-05, + 2.6574998628348112e-05, + 2.745829988270998e-05, + 2.6320805773139e-05, + 2.7816696092486382e-05, + 2.784590469673276e-05, + 2.7054199017584323e-05, + 2.7062499430030585e-05, + 2.6887503918260335e-05, + 2.8037501033395527e-05, + 2.6987504679709672e-05, + 2.719999756664038e-05, + 2.7775007765740156e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-rodas5p]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "rodas5p" + }, + "param": "vjp-tree16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0001271208981052041, + "max": 0.00014781249919906258, + "mean": 0.00013105520454701036, + "stddev": 4.423106268823649e-06, + "rounds": 20, + "median": 0.00013016875018365682, + "iqr": 2.2208027075975917e-06, + "q1": 0.00012905414914712312, + "q3": 0.0001312749518547207, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 0.0001271208981052041, + "hd15iqr": 0.00013542500091716646, + "ops": 7630.372280570464, + "total": 0.002621104090940207, + "data": [ + 0.00014781249919906258, + 0.0001340333023108542, + 0.0001305416924878955, + 0.0001271208981052041, + 0.00013163340045139194, + 0.00012946249917149543, + 0.0001274583046324551, + 0.00012937500141561032, + 0.00013542500091716646, + 0.0001314333057962358, + 0.00013025000225752592, + 0.0001294707995839417, + 0.00013066669926047324, + 0.00012808750616386533, + 0.0001300874981097877, + 0.00012836249079555272, + 0.0001287332968786359, + 0.00012948329094797373, + 0.00013055000454187393, + 0.00013111659791320562 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-em]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "em" + }, + "param": "vjp-tree16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.799989983439445e-06, + "max": 6.41250517219305e-06, + "mean": 4.932279116474092e-06, + "stddev": 3.534870475076849e-07, + "rounds": 20, + "median": 4.839600296691061e-06, + "iqr": 7.710186764597842e-08, + "q1": 4.814547719433904e-06, + "q3": 4.891649587079882e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 4.799989983439445e-06, + "hd15iqr": 5.062494892627001e-06, + "ops": 202746.0280299108, + "total": 9.864558232948184e-05, + "data": [ + 6.41250517219305e-06, + 5.062494892627001e-06, + 4.9041002057492735e-06, + 4.887499380856753e-06, + 4.87499637529254e-06, + 4.895799793303013e-06, + 4.858302418142557e-06, + 4.837499000132084e-06, + 4.808290395885706e-06, + 4.862505011260509e-06, + 4.841701593250036e-06, + 4.804204218089581e-06, + 4.824995994567871e-06, + 4.812492989003658e-06, + 4.8040994442999365e-06, + 4.816707223653793e-06, + 4.8166024498641494e-06, + 4.824995994567871e-06, + 4.799989983439445e-06, + 4.895799793303013e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-dae]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "dae" + }, + "param": "vjp-tree16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0007486834074370563, + "max": 0.0008859209017828106, + "mean": 0.0007856433489359916, + "stddev": 3.0490055295763287e-05, + "rounds": 20, + "median": 0.0007829708512872458, + "iqr": 2.8972950531169772e-05, + "q1": 0.0007655228953808546, + "q3": 0.0007944958459120243, + "iqr_outliers": 1, + "stddev_outliers": 4, + "outliers": "4;1", + "ld15iqr": 0.0007486834074370563, + "hd15iqr": 0.0008859209017828106, + "ops": 1272.8421889580238, + "total": 0.01571286697871983, + "data": [ + 0.0008241707924753428, + 0.0007726082927547395, + 0.0008163916994817555, + 0.0007562124985270203, + 0.0007975625107064843, + 0.0007824542000889779, + 0.0007648082915693522, + 0.0007662374991923571, + 0.0008859209017828106, + 0.0007934124907478691, + 0.0007955792010761797, + 0.0007858833996579051, + 0.000766987493261695, + 0.0007884541992098093, + 0.0007762624998576939, + 0.0007834875024855137, + 0.0007622916949912905, + 0.0007486834074370563, + 0.0007599584059789777, + 0.0007854999974370002 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-rodas5p_dae]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "rodas5p_dae" + }, + "param": "vjp-tree16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00028908749809488656, + "max": 0.0003529417095705867, + "mean": 0.00030510915443301203, + "stddev": 1.3538712388519902e-05, + "rounds": 20, + "median": 0.0003029249957762659, + "iqr": 9.164604125544494e-06, + "q1": 0.000297124998178333, + "q3": 0.0003062896023038775, + "iqr_outliers": 2, + "stddev_outliers": 3, + "outliers": "3;2", + "ld15iqr": 0.00028908749809488656, + "hd15iqr": 0.0003234916017390788, + "ops": 3277.515556222205, + "total": 0.00610218308866024, + "data": [ + 0.0003529417095705867, + 0.0003133540973067284, + 0.0003028000006452203, + 0.00030359580414369703, + 0.0002956958021968603, + 0.0003234916017390788, + 0.00029645829927176236, + 0.00030304999090731145, + 0.0003026958089321852, + 0.00029836249304935334, + 0.000306925002951175, + 0.0003043917007744312, + 0.0003022250020876527, + 0.00030565420165658, + 0.00029397079488262533, + 0.0003055790904909372, + 0.00029779169708490374, + 0.0002951083006337285, + 0.0003090041922405362, + 0.00028908749809488656 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-sdae]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "sdae" + }, + "param": "vjp-tree16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0008014082908630371, + "max": 0.0008361959015019238, + "mean": 0.0008098314545350149, + "stddev": 7.692173730311545e-06, + "rounds": 20, + "median": 0.000808189547387883, + "iqr": 5.395757034420989e-06, + "q1": 0.000805493799271062, + "q3": 0.000810889556305483, + "iqr_outliers": 2, + "stddev_outliers": 5, + "outliers": "5;2", + "ld15iqr": 0.0008014082908630371, + "hd15iqr": 0.0008201000047847629, + "ops": 1234.824844601986, + "total": 0.0161966290907003, + "data": [ + 0.0008361959015019238, + 0.0008201000047847629, + 0.0008116250042803586, + 0.0008119917009025812, + 0.0008066457929089665, + 0.0008084291010163724, + 0.0008096667006611824, + 0.0008058791980147361, + 0.0008072459022514522, + 0.0008179125026799739, + 0.0008072791970334947, + 0.0008050582953728735, + 0.0008079833001829684, + 0.0008101541083306074, + 0.0008020416018553079, + 0.0008051084005273879, + 0.0008047165931202472, + 0.0008083957945927978, + 0.0008014082908630371, + 0.0008087916998192668 + ], + "iterations": 10 + } + } + ], + "datetime": "2026-07-21T04:00:38.912942+00:00", + "version": "5.2.3" +} \ No newline at end of file diff --git a/docs/dae.md b/docs/dae.md index e5e9ba9..33e4a8c 100644 --- a/docs/dae.md +++ b/docs/dae.md @@ -16,9 +16,10 @@ linearly implicit Rodas5P with fixed or adaptive control. The algebraic solve uses [`nlls-gram`](https://highdimensionaleconlab.github.io/nlls_gram/)'s -general Levenberg–Marquardt solver with `linear_solver="augmented_qr"`: a direct -augmented-QR damped step for the -primal root and a direct implicit Jacobian solve for derivatives. +general Levenberg–Marquardt solver. The default `linear_solver="auto"` selects +the dense normal-Cholesky form for the square algebraic system, while +`ad_solver="auto"` resolves every square system to a general nonsymmetric +direct solve of the algebraic Jacobian. No implicit ridge is added by default. Rodas5P is a JAX adaptation of Steinebach's method following SciML's [`OrdinaryDiffEqRosenbrock`](https://github.com/SciML/OrdinaryDiffEq.jl/tree/master/lib/OrdinaryDiffEqRosenbrock) @@ -94,7 +95,13 @@ from tinydiffeq import LMRootSolver root_solver = LMRootSolver( max_steps=8, atol=None, # 1e-6 float32, 1e-10 float64 + gtol=0.0, # disabled + xtol=0.0, # disabled init_damping=1e-3, + linear_solver="auto", + jacobian_mode="auto", + ad_solver="auto", # square constraint -> direct + ad_solver_penalty=None, ) ``` @@ -103,6 +110,17 @@ rejections. `root_solver.max_steps` separately bounds one algebraic root. For Rodas5P it affects only initial consistency; the method's later stages reuse one dense LU factorization per attempted time step. +Root tolerances are independent of the outer controller tolerances. The +`atol`, `gtol`, and `xtol` fields pass to the nlls solve; zero disables the +corresponding test. The nlls constructor controls are also explicit fields on +`LMRootSolver`: damping and maximum damping, forward solver and Jacobian mode, +iterative solver tolerances/preconditioners, AD solver tolerances, +preconditioner and penalty, solve dtypes, metrics/factories, and recycling. +Their names and semantics match nlls-gram 2.4. Algebraic roots fix +`cache_jacobian=False` and `geodesic_acceleration=False`, because each DAE +stage changes the root problem and the intended path is the ordinary dense LM +step. + Every nonlinear root passes `(y, t, p)` through nlls-gram's differentiated parameter pytree. Thus it differentiates the defining constraint, @@ -141,18 +159,18 @@ final value retains the endpoint state, returns zero aux, and sets `ok=False`. An adaptive stage-root or Rodas5P linear failure rejects the time-step attempt and asks the controller for a smaller step. A fixed-step failure terminates. In either case `sol.ok` is false if the endpoint is not reached with valid -algebraic states. Nonconverged roots receive a zero implicit tangent before -the linear solve, and aux at a failed initial root is a zero pytree of the -declared shape. Callers that want to retain successful-lane JVPs/VJPs from a -mixed-success `vmap` batch should pass +algebraic states. tinydiffeq delegates each root and its implicit JVP/VJP to +nlls-gram; nonconverged roots receive a zero implicit tangent, and aux at a +failed initial root is a zero pytree of the declared shape. Callers that want +to retain successful-lane JVPs/VJPs from a mixed-success `vmap` batch should pass `failure_ad_reference=(y_ref, z_ref, t_ref, p_ref)`, choosing a point where the residual, context, and saved-aux maps are finite and differentiable. -Inactive lanes are linearized at that point before their tangents are zeroed. -It never affects a successful lane or the primal solve. Without an explicit -reference, an -all-ones best-effort default is used; gradients of a batch containing failures -are not guaranteed if the model is undefined there. A failed lane itself is -never a valid solution. +The corresponding `(z_ref, args, (y_ref, t_ref, p_ref))` reference is passed +to nlls so inactive lanes are linearized safely before their tangents are +zeroed. It never affects a successful lane or the primal solve. Without an +explicit reference, an all-ones best-effort default is used; gradients of a +batch containing failures are not guaranteed if the model is undefined there. +A failed lane itself is never a valid solution. ## Saving output diff --git a/docs/llms.txt b/docs/llms.txt index 9584b8f..38006dd 100644 --- a/docs/llms.txt +++ b/docs/llms.txt @@ -1,6 +1,6 @@ # tinydiffeq -> Tiny ODE/SDE/DAE/SDAE solvers and finite-state Markov tools for JAX. Euler, RK4, adaptive Tsit5, and the SciML-derived linearly implicit Rodas5P use bounded lax.scan loops with static shapes and forward/reverse AD, including reverse-over-forward. Rodas5P supports stiff ODEs and semi-explicit index-1 DAEs with exact dense JAX Jacobians, one reused LU factorization per attempt, an embedded estimator, and its published stiff-aware fourth-order dense output. See https://github.com/SciML/OrdinaryDiffEq.jl/tree/master/lib/OrdinaryDiffEqRosenbrock and https://doi.org/10.1007/s10543-023-00967-x. RK4/Tsit5 DAEs use nlls-gram augmented-QR LM roots at every stage; Rodas5P uses LM only for initial consistency. Finite-state DTMC/CTMC sampling is primal-only and offers sequential and associative parallel-prefix methods. Deterministic distribution forecasts are differentiable in their initial mass: DTMC endpoints use binary matrix powers, dense CTMCs use matrix exponentials, and matrix-free CTMCs use fixed or residual-controlled adaptive Arnoldi time slicing over array or pytree probabilities. The adaptive method keeps the Krylov dimension static and bounds accepted plus rejected attempts with max_steps. The Krylov design follows SciML ExponentialUtilities.expv, stores basis vectors as contiguous rows, defaults to stable two-pass reorthogonalization, and offers an explicitly selected one-pass performance mode. ODE fields and stochastic drifts may return (value, saved_aux), a real-floating pytree saved with the solution and differentiated through JVP/VJP. DAE/SDAE algebraic functions may separately return (residual, algebraic_aux); that internal array pytree is passed to the differential fields but is not itself stored or interpolated. Requested-grid deterministic saved aux uses cubic Hermite interpolation and no query-time nonlinear solves. Fixed-step solve_semi_explicit_sdae applies Euler-Maruyama to the reduced Ito SDE. States may be arrays or arbitrary JAX pytrees; state leaves share one real floating dtype and saved-aux leaves may use different floating dtypes. Adaptive ODE/DAE defaults are rtol=1e-4, atol=1e-6 for float32 and rtol=1e-7, atol=1e-9 for float64; adaptive Krylov defaults are rtol=1e-5, atol=1e-7 and rtol=1e-10, atol=1e-12 respectively. Use SciML/diffrax for general mass matrices, fully implicit or higher-index DAEs, adaptive stochastic stepping, events, continuous solution objects, or specialized adjoints. +> Tiny ODE/SDE/DAE/SDAE solvers and finite-state Markov tools for JAX. Euler, RK4, adaptive Tsit5, and the SciML-derived linearly implicit Rodas5P use bounded lax.scan loops with static shapes and forward/reverse AD, including reverse-over-forward. Rodas5P supports stiff ODEs and semi-explicit index-1 DAEs with exact dense JAX Jacobians, one reused LU factorization per attempt, an embedded estimator, and its published stiff-aware fourth-order dense output. See https://github.com/SciML/OrdinaryDiffEq.jl/tree/master/lib/OrdinaryDiffEqRosenbrock and https://doi.org/10.1007/s10543-023-00967-x. RK4/Tsit5 DAEs use nlls-gram LM roots at every stage; the square primal defaults to normal Cholesky and implicit AD defaults to a direct nonsymmetric solve. Rodas5P uses LM only for initial consistency. Finite-state DTMC/CTMC sampling is primal-only and offers sequential and associative parallel-prefix methods. Deterministic distribution forecasts are differentiable in their initial mass: DTMC endpoints use binary matrix powers, dense CTMCs use matrix exponentials, and matrix-free CTMCs use fixed or residual-controlled adaptive Arnoldi time slicing over array or pytree probabilities. The adaptive method keeps the Krylov dimension static and bounds accepted plus rejected attempts with max_steps. The Krylov design follows SciML ExponentialUtilities.expv, stores basis vectors as contiguous rows, defaults to stable two-pass reorthogonalization, and offers an explicitly selected one-pass performance mode. ODE fields and stochastic drifts may return (value, saved_aux), a real-floating pytree saved with the solution and differentiated through JVP/VJP. DAE/SDAE algebraic functions may separately return (residual, algebraic_aux); that internal array pytree is passed to the differential fields but is not itself stored or interpolated. Requested-grid deterministic saved aux uses cubic Hermite interpolation and no query-time nonlinear solves. Fixed-step solve_semi_explicit_sdae applies Euler-Maruyama to the reduced Ito SDE. States may be arrays or arbitrary JAX pytrees; state leaves share one real floating dtype and saved-aux leaves may use different floating dtypes. Adaptive ODE/DAE defaults are rtol=1e-4, atol=1e-6 for float32 and rtol=1e-7, atol=1e-9 for float64; adaptive Krylov defaults are rtol=1e-5, atol=1e-7 and rtol=1e-10, atol=1e-12 respectively. Use SciML/diffrax for general mass matrices, fully implicit or higher-index DAEs, adaptive stochastic stepping, events, continuous solution objects, or specialized adjoints. ## Docs diff --git a/docs/sdae.md b/docs/sdae.md index 68a9ece..dd01684 100644 --- a/docs/sdae.md +++ b/docs/sdae.md @@ -83,6 +83,9 @@ so JVP/VJP with respect to `y_0` and `p` are pathwise derivatives under common random numbers. The key is not differentiable. `z_0` is a root guess, receives zero tangent, and selects a local root branch. +Algebraic solves use the same nlls-gram 2.4 `LMRootSolver` configuration and +implicit-AD contract as deterministic DAEs; see +[Nonlinear-solve and AD contract](dae.md#nonlinear-solve-and-ad-contract). The algebraic function may return `(residual, algebraic_aux)`; that internal context is passed to both drift and diffusion but is not stored. The drift may return `(drift_value, saved_aux)`, and only that saved aux becomes `sol.aux`. diff --git a/pyproject.toml b/pyproject.toml index d3b64b0..1f776fd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,9 +29,12 @@ classifiers = [ ] dependencies = [ "jax>=0.7.0", - "nlls-gram>=2.2.0", + "nlls-gram>=2.4.0", ] +[tool.uv.sources] +nlls-gram = { path = "../nlls_gram", editable = true } + [project.urls] Homepage = "https://github.com/HighDimensionalEconLab/tinydiffeq" Repository = "https://github.com/HighDimensionalEconLab/tinydiffeq" diff --git a/src/tinydiffeq/dae.py b/src/tinydiffeq/dae.py index 78ab743..fa17aa3 100644 --- a/src/tinydiffeq/dae.py +++ b/src/tinydiffeq/dae.py @@ -1,6 +1,7 @@ import functools import inspect from dataclasses import dataclass, field +from typing import Any import jax import jax.numpy as jnp @@ -82,19 +83,50 @@ class LMRootSolver: """Configuration for algebraic solves in a semi-explicit DAE. - The implementation is :class:`nlls_gram.LevenbergMarquardt` - with its direct ``augmented_qr`` linear solver. + The implementation is :class:`nlls_gram.LevenbergMarquardt`. Its + shape-adaptive dense default uses ``linear_solver="auto"`` (the normal + Cholesky form for a square DAE constraint) and its implicit derivative + uses ``ad_solver="auto"``, which resolves every square constraint to the + general nonsymmetric direct solve. ``max_steps`` counts nonlinear iterations for one algebraic root and is independent of the integration's time-step ``max_steps``. ``atol=None`` - selects nlls-gram's precision-aware default: ``1e-6`` in float32 and - ``1e-10`` in float64. + selects ``1e-6`` in float32 and ``1e-10`` in float64. ``gtol`` and + ``xtol`` default to zero (disabled); root tolerances are deliberately + independent of the outer integration tolerances. + + The remaining fields pass directly to ``LevenbergMarquardt``. Algebraic + residuals do not expose nlls aux, Jacobian caching is disabled because + roots change at every DAE stage, and geodesic acceleration is disabled. """ max_steps: int = field(default=8, metadata=dict(static=True)) atol: float | None = field(default=None, metadata=dict(static=True)) + gtol: float = field(default=0.0, metadata=dict(static=True)) + xtol: float = field(default=0.0, metadata=dict(static=True)) init_damping: float = field(default=1e-3, metadata=dict(static=True)) damping_decrease: float = field(default=0.5, metadata=dict(static=True)) damping_increase: float = field(default=4.0, metadata=dict(static=True)) + max_damping: float | None = field(default=None, metadata=dict(static=True)) + linear_solver: str = field(default="auto", metadata=dict(static=True)) + jacobian_mode: str = field(default="auto", metadata=dict(static=True)) + iterative_tol: float = field(default=0.0, metadata=dict(static=True)) + iterative_atol: float = field(default=0.0, metadata=dict(static=True)) + iterative_maxiter: int | None = field(default=8, metadata=dict(static=True)) + dual_preconditioner: Any = field(default=None, metadata=dict(static=True)) + preconditioner_factory: Any = field(default=None, metadata=dict(static=True)) + normal_preconditioner: Any = field(default=None, metadata=dict(static=True)) + whitened_preconditioner: Any = field(default=None, metadata=dict(static=True)) + ad_solver: str = field(default="auto", metadata=dict(static=True)) + ad_solver_tol: float | None = field(default=None, metadata=dict(static=True)) + ad_solver_atol: float = field(default=0.0, metadata=dict(static=True)) + ad_solver_maxiter: int | None = field(default=None, metadata=dict(static=True)) + ad_solver_preconditioner: Any = field(default=None, metadata=dict(static=True)) + ad_solver_penalty: float | None = field(default=None, metadata=dict(static=True)) + linear_solve_dtype: Any = field(default=None, metadata=dict(static=True)) + metric_solve_dtype: Any = field(default=None, metadata=dict(static=True)) + metric: Any = field(default=None, metadata=dict(static=True)) + metric_factory: Any = field(default=None, metadata=dict(static=True)) + recycle: Any = field(default=None, metadata=dict(static=True)) def __post_init__(self): if not isinstance(self.max_steps, int) or isinstance(self.max_steps, bool): @@ -103,6 +135,10 @@ def __post_init__(self): raise ValueError("LMRootSolver.max_steps must be a positive int") if self.atol is not None and self.atol < 0: raise ValueError("LMRootSolver.atol must be nonnegative or None") + if self.gtol < 0: + raise ValueError("LMRootSolver.gtol must be nonnegative") + if self.xtol < 0: + raise ValueError("LMRootSolver.xtol must be nonnegative") if self.init_damping <= 0: raise ValueError("LMRootSolver.init_damping must be positive") if self.damping_decrease <= 0: @@ -196,9 +232,29 @@ def residual(z, args, root_p): init_damping=config.init_damping, damping_decrease=config.damping_decrease, damping_increase=config.damping_increase, - linear_solver="augmented_qr", + max_damping=config.max_damping, + linear_solver=config.linear_solver, + jacobian_mode=config.jacobian_mode, + iterative_tol=config.iterative_tol, + iterative_atol=config.iterative_atol, + iterative_maxiter=config.iterative_maxiter, + dual_preconditioner=config.dual_preconditioner, + preconditioner_factory=config.preconditioner_factory, + normal_preconditioner=config.normal_preconditioner, + whitened_preconditioner=config.whitened_preconditioner, + ad_solver=config.ad_solver, + ad_solver_tol=config.ad_solver_tol, + ad_solver_atol=config.ad_solver_atol, + ad_solver_maxiter=config.ad_solver_maxiter, + ad_solver_preconditioner=config.ad_solver_preconditioner, + ad_solver_penalty=config.ad_solver_penalty, + linear_solve_dtype=config.linear_solve_dtype, + metric_solve_dtype=config.metric_solve_dtype, + metric=config.metric, + metric_factory=config.metric_factory, geodesic_acceleration=False, cache_jacobian=False, + recycle=config.recycle, ) @@ -217,10 +273,6 @@ def _get_algebraic_solver(g, config, has_algebraic_aux=False): return _build_algebraic_solver(g, config, has_algebraic_aux) -def _zero_discrete_tangent(value): - return jnp.zeros(value.shape, dtype=jax.dtypes.float0) - - def _prepare_failure_ad_reference(reference, y, z, t, p): """Validate a derivative-only reference point for inactive vmap lanes.""" @@ -281,7 +333,7 @@ def _make_implicit_root_solver( args, has_algebraic_aux, ): - """Wrap nlls roots in a status-safe implicit derivative.""" + """Delegate root solving and status-safe implicit AD to nlls-gram.""" root_atol = root_solver.atol if root_atol is None: @@ -299,14 +351,17 @@ def algebraic_auxiliary(inputs): y, z, t, p = inputs return split_algebraic_output(algebraic_output(y, z, t, p), True)[1] - @jax.custom_jvp def solve_root(y, t, z_guess, p, failure_ad_reference): + y_ref, z_ref, t_ref, p_ref = failure_ad_reference result = algebraic_solver.solve( z_guess, args, p=(y, t, p), max_steps=root_solver.max_steps, atol=root_atol, + gtol=root_solver.gtol, + xtol=root_solver.xtol, + failure_ad_reference=(z_ref, args, (y_ref, t_ref, p_ref)), ) ok = result.status == jnp.asarray(LMStatus.CONVERGED, result.status.dtype) value, dtype = asarray_state(result.x, "algebraic root") @@ -315,38 +370,9 @@ def solve_root(y, t, z_guess, p, failure_ad_reference): raise TypeError("the algebraic root must preserve the z dtype") # A failed root is not a solution. Returning the finite warm start # keeps the static failure prefix usable while `ok` carries validity. - return where(ok, value, z_guess), ok - - @solve_root.defjvp - def solve_root_jvp(primals, tangents): - y, t, z_guess, p, failure_ad_reference = primals - y_dot, t_dot, _, p_dot, _ = tangents - z, ok = solve_root(y, t, z_guess, p, failure_ad_reference) - y_ref, z_ref, t_ref, p_ref = failure_ad_reference - y_eval = where(ok, y, y_ref) - z_eval = where(ok, z, z_ref) - t_eval = jnp.where(ok, t, t_ref) - p_eval = where(ok, p, p_ref) - theta, unravel = ravel_pytree(z_eval) - - def residual_theta(theta_value): - return jnp.ravel(residual(y_eval, unravel(theta_value), t_eval, p_eval)) - - jacobian = jax.jacfwd(residual_theta)(theta) - - def residual_inputs(y_value, t_value, p_value): - return jnp.ravel(residual(y_value, z_eval, t_value, p_value)) - - rhs = jax.jvp( - residual_inputs, - (y_eval, t_eval, p_eval), - (y_dot, t_dot, p_dot), - )[1] - identity = jnp.eye(theta.size, dtype=theta.dtype) - jacobian_safe = jnp.where(ok, jacobian, identity) - rhs_safe = jnp.where(ok, rhs, jnp.zeros_like(rhs)) - z_dot = unravel(jnp.linalg.solve(jacobian_safe, -rhs_safe)) - return (z, ok), (z_dot, _zero_discrete_tangent(ok)) + # The guess is never a differentiable algebraic state, including on + # failure; successful tangents come entirely from nlls implicit AD. + return where(ok, value, jax.lax.stop_gradient(z_guess)), ok return solve_root, residual, algebraic_auxiliary diff --git a/tests/test_dae.py b/tests/test_dae.py index 34643d8..16b0b45 100644 --- a/tests/test_dae.py +++ b/tests/test_dae.py @@ -11,6 +11,7 @@ solve_ode, solve_semi_explicit_dae, ) +from tinydiffeq.dae import _build_algebraic_solver def linear_f(y, z, t, args, p): @@ -38,6 +39,54 @@ def solve_linear(p, y_0, z_0, solver, save_at, **kwargs): ) +def test_lm_root_solver_uses_nlls_24_defaults_and_forwards_options(): + def constraint(y, z, t, args, p): + return z - y + + defaults = _build_algebraic_solver(constraint, LMRootSolver(), False) + assert defaults.linear_solver == "auto" + assert defaults.jacobian_mode == "auto" + assert defaults.ad_solver == "auto" + assert defaults.ad_solver_penalty is None + assert not defaults.cache_jacobian + assert not defaults.geodesic_acceleration + + configured = _build_algebraic_solver( + constraint, + LMRootSolver( + init_damping=2e-3, + damping_decrease=0.4, + damping_increase=3.0, + max_damping=10.0, + linear_solver="qr", + jacobian_mode="rev", + iterative_tol=1e-4, + iterative_atol=1e-6, + iterative_maxiter=17, + ad_solver="augmented_qr", + ad_solver_tol=1e-5, + ad_solver_atol=1e-7, + ad_solver_maxiter=13, + ad_solver_penalty=1e-8, + ), + False, + ) + assert configured.init_damping == 2e-3 + assert configured.damping_decrease == 0.4 + assert configured.damping_increase == 3.0 + assert configured.max_damping == 10.0 + assert configured.linear_solver == "qr" + assert configured.jacobian_mode == "rev" + assert configured.iterative_tol == 1e-4 + assert configured.iterative_atol == 1e-6 + assert configured.iterative_maxiter == 17 + assert configured.ad_solver == "augmented_qr" + assert configured.ad_solver_tol == 1e-5 + assert configured.ad_solver_atol == 1e-7 + assert configured.ad_solver_maxiter == 13 + assert configured.ad_solver_penalty == 1e-8 + + def test_rk4_initial_consistency_and_endpoint_accuracy(): sol = solve_linear( jnp.asarray(1.0), @@ -161,6 +210,60 @@ def sampled_sum(q): assert jnp.abs(jax.grad(sampled_sum)(p) - exact_sampled) < 5e-4 +@pytest.mark.parametrize( + ("dtype", "root_atol", "comparison_atol", "transpose_atol"), + [ + (jnp.float32, 1e-6, 1e-7, 1e-7), + (jnp.float64, 1e-12, 1e-15, 1e-15), + ], +) +def test_nonsymmetric_square_constraint_jvp_and_vjp_match_closed_form( + dtype, root_atol, comparison_atol, transpose_atol +): + matrix = jnp.asarray([[2.0, -1.0], [0.5, 1.5]], dtype=dtype) + parameter_map = jnp.asarray([[1.0, 2.0], [-0.5, 1.0]], dtype=dtype) + y_0 = jnp.asarray([0.7, -0.2], dtype=dtype) + z_guess = jnp.zeros(2, dtype=dtype) + direction = jnp.asarray([0.6, -0.8], dtype=dtype) + cotangent = jnp.asarray([-0.5, 1.2], dtype=dtype) + + def endpoint(p): + return solve_semi_explicit_dae( + lambda y, z: jnp.zeros_like(y), + lambda y, z, t, args, p: matrix @ z - y - parameter_map @ p, + RK4(), + 0.0, + 0.1, + y_0, + z_guess, + p=p, + dt_0=0.1, + max_steps=1, + root_solver=LMRootSolver(max_steps=8, atol=root_atol), + ).zs + + def transformed(p): + value, tangent = jax.jvp(endpoint, (p,), (direction,)) + _, pullback = jax.vjp(endpoint, p) + return value, tangent, pullback(cotangent)[0] + + p = jnp.asarray([0.3, -0.4], dtype=dtype) + value, tangent, pulled_back = jax.jit(transformed)(p) + expected_value = jnp.linalg.solve(matrix, y_0 + parameter_map @ p) + expected_tangent = jnp.linalg.solve(matrix, parameter_map @ direction) + expected_pullback = parameter_map.T @ jnp.linalg.solve(matrix.T, cotangent) + + assert jnp.allclose(value, expected_value, rtol=0.0, atol=comparison_atol) + assert jnp.allclose(tangent, expected_tangent, rtol=0.0, atol=comparison_atol) + assert jnp.allclose(pulled_back, expected_pullback, rtol=0.0, atol=comparison_atol) + assert jnp.allclose( + cotangent @ tangent, + pulled_back @ direction, + rtol=0.0, + atol=transpose_atol, + ) + + def test_root_guess_has_zero_derivative_and_y_0_differentiates(): p = jnp.asarray(0.8) @@ -470,6 +573,10 @@ def test_validation(): ) with pytest.raises(ValueError, match="positive int"): LMRootSolver(max_steps=0) + with pytest.raises(ValueError, match="gtol must be nonnegative"): + LMRootSolver(gtol=-1.0) + with pytest.raises(ValueError, match="xtol must be nonnegative"): + LMRootSolver(xtol=-1.0) with pytest.raises(ValueError, match="2 to 5 positional"): solve_semi_explicit_dae( lambda y: y, diff --git a/uv.lock b/uv.lock index 7483de2..25b9eb8 100644 --- a/uv.lock +++ b/uv.lock @@ -547,15 +547,27 @@ wheels = [ [[package]] name = "nlls-gram" -version = "2.2.0" -source = { registry = "https://pypi.org/simple" } +version = "2.4.0" +source = { editable = "../nlls_gram" } dependencies = [ { name = "jax" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/71/1f/6b91e05776adca1475936f60545bda2a0741cf45a049f3a90a32a10f490c/nlls_gram-2.2.0.tar.gz", hash = "sha256:2656beefa641bc38a739b27d28b2a75ef7fad403da7d5a411ac160f637856901", size = 259405, upload-time = "2026-07-18T13:55:48.582Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a1/49/59435b18797fc89a889afa277fccc059fce95754b1de9af62e58e7f632b9/nlls_gram-2.2.0-py3-none-any.whl", hash = "sha256:1d05599bc9f6cdb3ed2d6792d671991295314e3c867dd430fad8aa7e03f660b0", size = 63742, upload-time = "2026-07-18T13:55:46.96Z" }, + +[package.metadata] +requires-dist = [{ name = "jax", specifier = ">=0.7.0" }] + +[package.metadata.requires-dev] +benchmark = [{ name = "pytest-benchmark", specifier = ">=5.2.3" }] +dev = [ + { name = "flax", specifier = ">=0.12.7" }, + { name = "pytest", specifier = ">=8" }, + { name = "ruff", specifier = ">=0.15.17" }, ] +docs = [ + { name = "mkdocs-material", specifier = ">=9.5" }, + { name = "mkdocstrings", extras = ["python"], specifier = ">=0.26" }, +] +gpu = [{ name = "jax", extras = ["cuda13"], marker = "sys_platform == 'linux'", specifier = ">=0.7.0" }] [[package]] name = "numpy" @@ -1255,7 +1267,7 @@ gpu = [ [package.metadata] requires-dist = [ { name = "jax", specifier = ">=0.7.0" }, - { name = "nlls-gram", specifier = ">=2.2.0" }, + { name = "nlls-gram", editable = "../nlls_gram" }, ] [package.metadata.requires-dev] From 47570afda96d3c2ea9d3993e1e289b25de564de1 Mon Sep 17 00:00:00 2001 From: Jesse Perla Date: Tue, 21 Jul 2026 13:52:05 -0700 Subject: [PATCH 2/3] feat: migrate DAE failure handling to nlls 2.4 --- README.md | 5 +- ...-07-21_failed-ad-integration-baseline.json | 6558 +++++++++++++++++ ...-07-21_failed-ad-integration-comparison.md | 105 + ...failed-ad-integration-compile-baseline.csv | 64 + ...-21_failed-ad-integration-compile-post.csv | 64 + ...ad-integration-jvp-strategies-baseline.csv | 6 + ...led-ad-integration-jvp-strategies-post.csv | 6 + ...2026-07-21_failed-ad-integration-post.json | 6558 +++++++++++++++++ ..._failed-ad-integration-stable-baseline.csv | 40 + ...7-21_failed-ad-integration-stable-post.csv | 40 + ...ed-ad-integration-stable-raw-crossings.csv | 10 + docs/aux.md | 5 +- docs/dae.md | 36 +- docs/llms.txt | 2 +- docs/sdae.md | 17 +- src/tinydiffeq/dae.py | 63 +- src/tinydiffeq/sdae.py | 12 +- tests/test_aux.py | 1 + tests/test_dae.py | 51 +- tests/test_sdae.py | 3 + 20 files changed, 13604 insertions(+), 42 deletions(-) create mode 100644 benchmarks/results/2026-07-21_failed-ad-integration-baseline.json create mode 100644 benchmarks/results/2026-07-21_failed-ad-integration-comparison.md create mode 100644 benchmarks/results/2026-07-21_failed-ad-integration-compile-baseline.csv create mode 100644 benchmarks/results/2026-07-21_failed-ad-integration-compile-post.csv create mode 100644 benchmarks/results/2026-07-21_failed-ad-integration-jvp-strategies-baseline.csv create mode 100644 benchmarks/results/2026-07-21_failed-ad-integration-jvp-strategies-post.csv create mode 100644 benchmarks/results/2026-07-21_failed-ad-integration-post.json create mode 100644 benchmarks/results/2026-07-21_failed-ad-integration-stable-baseline.csv create mode 100644 benchmarks/results/2026-07-21_failed-ad-integration-stable-post.csv create mode 100644 benchmarks/results/2026-07-21_failed-ad-integration-stable-raw-crossings.csv diff --git a/README.md b/README.md index 51e6457..07bc62f 100644 --- a/README.md +++ b/README.md @@ -34,8 +34,9 @@ implementation. Use [diffrax](https://docs.kidger.site/diffrax/) or [SciML](https://docs.sciml.ai/DiffEqDocs/stable/) if you need general mass matrices, fully implicit or higher-index DAEs, events, continuous solution objects, sparse/Krylov linear solvers for ODE/DAE stages, or specialized -adjoints. Initial DAE -consistency and explicit DAE stages use `nlls-gram`. +adjoints. Initial DAE consistency and explicit DAE stages use `nlls-gram`; +`LMRootSolver` accepts a `MAX_STEPS` iterate by default and offers strict +`CONVERGED`-only status via `max_steps_is_success=False`. The linear exponential-action API follows SciML [`ExponentialUtilities.expv`](https://docs.sciml.ai/ExponentialUtilities/stable/expv/). diff --git a/benchmarks/results/2026-07-21_failed-ad-integration-baseline.json b/benchmarks/results/2026-07-21_failed-ad-integration-baseline.json new file mode 100644 index 0000000..b2c45df --- /dev/null +++ b/benchmarks/results/2026-07-21_failed-ad-integration-baseline.json @@ -0,0 +1,6558 @@ +{ + "machine_info": { + "node": "dh4.econ.ubc.ca", + "processor": "arm", + "machine": "arm64", + "python_compiler": "Clang 20.1.0 ", + "python_implementation": "CPython", + "python_implementation_version": "3.13.2", + "python_version": "3.13.2", + "python_build": [ + "main", + "Mar 17 2025 21:26:38" + ], + "release": "25.5.0", + "system": "Darwin", + "cpu": { + "python_version": "3.13.2.final.0 (64 bit)", + "cpuinfo_version": [ + 9, + 0, + 0 + ], + "cpuinfo_version_string": "9.0.0", + "arch": "ARM_8", + "bits": 64, + "count": 16, + "arch_string_raw": "arm64", + "brand_raw": "Apple M4 Max" + } + }, + "commit_info": { + "id": "7de3396c736d6809755fb3fa789a5e674eebe92d", + "time": "2026-07-21T06:37:00-07:00", + "author_time": "2026-07-21T06:37:00-07:00", + "dirty": false, + "project": "tinydiffeq", + "branch": "agent/nlls-2.4-direct-ad" + }, + "benchmarks": [ + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-8-8]", + "params": { + "transform": "primal", + "n_queries": 8, + "n_steps": 8 + }, + "param": "primal-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.519159603863955e-05, + "max": 7.125840056687593e-05, + "mean": 5.882414057850838e-05, + "stddev": 4.6091939685937786e-06, + "rounds": 10, + "median": 5.715410225093365e-05, + "iqr": 3.283191472291949e-06, + "q1": 5.667500663548708e-05, + "q3": 5.9958198107779026e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 5.519159603863955e-05, + "hd15iqr": 7.125840056687593e-05, + "ops": 16999.82337464619, + "total": 0.0005882414057850838, + "data": [ + 7.125840056687593e-05, + 5.9958384372293946e-05, + 5.730821285396814e-05, + 5.667500663548708e-05, + 5.9958198107779026e-05, + 5.694180727005005e-05, + 5.664159543812275e-05, + 5.7258200831711294e-05, + 5.7050003670156e-05, + 5.519159603863955e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-8-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-8-32]", + "params": { + "transform": "primal", + "n_queries": 8, + "n_steps": 32 + }, + "param": "primal-8-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00013438339810818435, + "max": 0.0001669915858656168, + "mean": 0.0001457366975955665, + "stddev": 9.983125498400345e-06, + "rounds": 10, + "median": 0.0001427916926331818, + "iqr": 1.2749992311000835e-05, + "q1": 0.00013916660100221634, + "q3": 0.00015191659331321717, + "iqr_outliers": 0, + "stddev_outliers": 2, + "outliers": "2;0", + "ld15iqr": 0.00013438339810818435, + "hd15iqr": 0.0001669915858656168, + "ops": 6861.689721933299, + "total": 0.0014573669759556651, + "data": [ + 0.00015191659331321717, + 0.00014539998956024646, + 0.000149058410897851, + 0.00013438339810818435, + 0.00013946678955107928, + 0.00013916660100221634, + 0.00013664180878549814, + 0.0001669915858656168, + 0.00015415840316563846, + 0.00014018339570611715 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-8-128]", + "params": { + "transform": "primal", + "n_queries": 8, + "n_steps": 128 + }, + "param": "primal-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0004477249924093485, + "max": 0.0004932916024699807, + "mean": 0.0004707899829372764, + "stddev": 1.4224176553753886e-05, + "rounds": 10, + "median": 0.00047043749364092944, + "iqr": 2.1125003695487965e-05, + "q1": 0.0004589081974700093, + "q3": 0.0004800332011654973, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0004477249924093485, + "hd15iqr": 0.0004932916024699807, + "ops": 2124.089373696871, + "total": 0.004707899829372764, + "data": [ + 0.00048670000396668913, + 0.00047051659785211084, + 0.0004932916024699807, + 0.0004477249924093485, + 0.0004788750084117055, + 0.00047035838942974804, + 0.00045653341803699734, + 0.0004589081974700093, + 0.00046495841816067695, + 0.0004800332011654973 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-32-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-32-8]", + "params": { + "transform": "primal", + "n_queries": 32, + "n_steps": 8 + }, + "param": "primal-32-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.6816590949892996e-05, + "max": 8.71581956744194e-05, + "mean": 6.560164270922541e-05, + "stddev": 9.040396221630158e-06, + "rounds": 10, + "median": 6.576670566573739e-05, + "iqr": 1.0083615779876713e-05, + "q1": 5.8483192697167395e-05, + "q3": 6.856680847704411e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 5.6816590949892996e-05, + "hd15iqr": 8.71581956744194e-05, + "ops": 15243.520721461631, + "total": 0.0006560164270922542, + "data": [ + 6.856680847704411e-05, + 6.900001317262649e-05, + 8.71581956744194e-05, + 6.820820271968842e-05, + 6.711659952998161e-05, + 5.8483192697167395e-05, + 5.856661591678858e-05, + 6.441681180149316e-05, + 5.6816590949892996e-05, + 5.7683396153151986e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-32-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-32-32]", + "params": { + "transform": "primal", + "n_queries": 32, + "n_steps": 32 + }, + "param": "primal-32-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00012615839950740336, + "max": 0.00013863339554518462, + "mean": 0.00013048584340140222, + "stddev": 4.817715640378225e-06, + "rounds": 10, + "median": 0.0001285333069972694, + "iqr": 7.841829210519769e-06, + "q1": 0.00012659998610615731, + "q3": 0.00013444181531667708, + "iqr_outliers": 0, + "stddev_outliers": 2, + "outliers": "2;0", + "ld15iqr": 0.00012615839950740336, + "hd15iqr": 0.00013863339554518462, + "ops": 7663.666601163677, + "total": 0.0013048584340140223, + "data": [ + 0.00013863339554518462, + 0.00012811659835278987, + 0.000126466597430408, + 0.00012659998610615731, + 0.00012672501616179944, + 0.00012615839950740336, + 0.00013787499628961086, + 0.0001289500156417489, + 0.00013444181531667708, + 0.00013089161366224288 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-32-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-32-128]", + "params": { + "transform": "primal", + "n_queries": 32, + "n_steps": 128 + }, + "param": "primal-32-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0004464915953576565, + "max": 0.0004898000042885542, + "mean": 0.00046707663685083387, + "stddev": 1.5134037192726735e-05, + "rounds": 10, + "median": 0.0004662332939915359, + "iqr": 2.444980200380089e-05, + "q1": 0.00045486679300665855, + "q3": 0.00047931659501045944, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0004464915953576565, + "hd15iqr": 0.0004898000042885542, + "ops": 2140.9762790583786, + "total": 0.004670766368508339, + "data": [ + 0.00047931659501045944, + 0.0004898000042885542, + 0.0004580416018143296, + 0.00044987499713897703, + 0.0004464915953576565, + 0.0004724999889731407, + 0.0004874082049354911, + 0.00046679158695042135, + 0.00045486679300665855, + 0.00046567500103265045 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-128-8]", + "params": { + "transform": "primal", + "n_queries": 128, + "n_steps": 8 + }, + "param": "primal-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.739179905503988e-05, + "max": 8.248339872807264e-05, + "mean": 6.652167765423655e-05, + "stddev": 8.751923991143302e-06, + "rounds": 10, + "median": 6.354579236358404e-05, + "iqr": 1.5458581037819387e-05, + "q1": 5.895821377635002e-05, + "q3": 7.441679481416941e-05, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 5.739179905503988e-05, + "hd15iqr": 8.248339872807264e-05, + "ops": 15032.693631055969, + "total": 0.0006652167765423655, + "data": [ + 7.441679481416941e-05, + 7.581659592688083e-05, + 7.068340200930834e-05, + 8.248339872807264e-05, + 6.279998924583197e-05, + 5.895821377635002e-05, + 5.739179905503988e-05, + 5.830000154674053e-05, + 6.429159548133611e-05, + 6.007498595863581e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-128-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-128-32]", + "params": { + "transform": "primal", + "n_queries": 128, + "n_steps": 32 + }, + "param": "primal-128-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00013011679984629155, + "max": 0.00017390819266438484, + "mean": 0.00013912583701312543, + "stddev": 1.2880569631336179e-05, + "rounds": 10, + "median": 0.00013524170499294995, + "iqr": 9.399978443980212e-06, + "q1": 0.00013115000911056995, + "q3": 0.00014054998755455017, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.00013011679984629155, + "hd15iqr": 0.00017390819266438484, + "ops": 7187.737529339413, + "total": 0.0013912583701312542, + "data": [ + 0.00014054998755455017, + 0.0001348749967291951, + 0.00014299158938229083, + 0.00017390819266438484, + 0.00013555840123444796, + 0.00013115000911056995, + 0.00013492500875145197, + 0.00013603339903056622, + 0.0001311499858275056, + 0.00013011679984629155 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-128-128]", + "params": { + "transform": "primal", + "n_queries": 128, + "n_steps": 128 + }, + "param": "primal-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00045544158201664685, + "max": 0.0005052249878644943, + "mean": 0.00047218915773555636, + "stddev": 1.7224870494584404e-05, + "rounds": 10, + "median": 0.0004655750002712011, + "iqr": 1.9891606643795978e-05, + "q1": 0.00045923339203000066, + "q3": 0.00047912499867379664, + "iqr_outliers": 0, + "stddev_outliers": 2, + "outliers": "2;0", + "ld15iqr": 0.00045544158201664685, + "hd15iqr": 0.0005052249878644943, + "ops": 2117.795344551383, + "total": 0.004721891577355563, + "data": [ + 0.00047912499867379664, + 0.00045923339203000066, + 0.00046334159560501575, + 0.0005052249878644943, + 0.00045544158201664685, + 0.0004970666021108627, + 0.00047649161424487827, + 0.0004604665795341134, + 0.0004576918203383684, + 0.0004678084049373865 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-8-8]", + "params": { + "transform": "jvp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "jvp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.86917919665575e-05, + "max": 9.393319487571716e-05, + "mean": 7.852999726310373e-05, + "stddev": 8.732569234297716e-06, + "rounds": 10, + "median": 7.567498832941055e-05, + "iqr": 8.475012145936495e-06, + "q1": 7.192499469965696e-05, + "q3": 8.040000684559346e-05, + "iqr_outliers": 2, + "stddev_outliers": 3, + "outliers": "3;2", + "ld15iqr": 6.86917919665575e-05, + "hd15iqr": 9.343340061604977e-05, + "ops": 12733.987455133105, + "total": 0.0007852999726310373, + "data": [ + 8.040000684559346e-05, + 7.617499213665723e-05, + 7.454999722540378e-05, + 9.343340061604977e-05, + 9.393319487571716e-05, + 7.951660081744194e-05, + 7.150000892579556e-05, + 6.86917919665575e-05, + 7.517498452216386e-05, + 7.192499469965696e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-8-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-8-32]", + "params": { + "transform": "jvp", + "n_queries": 8, + "n_steps": 32 + }, + "param": "jvp-8-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00018423320725560188, + "max": 0.0002266000024974346, + "mean": 0.00020526750478893518, + "stddev": 1.2255768731685557e-05, + "rounds": 10, + "median": 0.0002061749924905598, + "iqr": 1.631658524274825e-05, + "q1": 0.000196916819550097, + "q3": 0.00021323340479284525, + "iqr_outliers": 0, + "stddev_outliers": 2, + "outliers": "2;0", + "ld15iqr": 0.00018423320725560188, + "hd15iqr": 0.0002266000024974346, + "ops": 4871.69170311805, + "total": 0.0020526750478893517, + "data": [ + 0.00020875819027423858, + 0.00019880000036209822, + 0.000193808414041996, + 0.00021241661161184311, + 0.0002266000024974346, + 0.000196916819550097, + 0.00020359179470688104, + 0.00021431660279631616, + 0.00021323340479284525, + 0.00018423320725560188 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-8-128]", + "params": { + "transform": "jvp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "jvp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0007152084028348327, + "max": 0.0009150665951892734, + "mean": 0.000798947480507195, + "stddev": 7.691494129723151e-05, + "rounds": 10, + "median": 0.0008092291071079671, + "iqr": 0.0001242584083229304, + "q1": 0.0007190831936895847, + "q3": 0.0008433416020125151, + "iqr_outliers": 0, + "stddev_outliers": 6, + "outliers": "6;0", + "ld15iqr": 0.0007152084028348327, + "hd15iqr": 0.0009150665951892734, + "ops": 1251.6467282244523, + "total": 0.00798947480507195, + "data": [ + 0.0008987667970359325, + 0.0009150665951892734, + 0.0008399165933951735, + 0.0008433416020125151, + 0.000812208210118115, + 0.0008062500040978193, + 0.0007210918003693223, + 0.0007185416063293815, + 0.0007152084028348327, + 0.0007190831936895847 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-32-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-32-8]", + "params": { + "transform": "jvp", + "n_queries": 32, + "n_steps": 8 + }, + "param": "jvp-32-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.618320476263762e-05, + "max": 7.704999297857285e-05, + "mean": 7.007416104897856e-05, + "stddev": 3.256458298322802e-06, + "rounds": 10, + "median": 6.938340375199914e-05, + "iqr": 3.724987618625153e-06, + "q1": 6.766661535948515e-05, + "q3": 7.139160297811031e-05, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 6.618320476263762e-05, + "hd15iqr": 7.704999297857285e-05, + "ops": 14270.595395370437, + "total": 0.0007007416104897856, + "data": [ + 7.704999297857285e-05, + 7.124179974198342e-05, + 6.840841379016638e-05, + 7.139160297811031e-05, + 6.618320476263762e-05, + 6.766661535948515e-05, + 6.807500030845404e-05, + 6.736658979207277e-05, + 7.03583937138319e-05, + 7.299999706447124e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-32-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-32-32]", + "params": { + "transform": "jvp", + "n_queries": 32, + "n_steps": 32 + }, + "param": "jvp-32-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00018498320132493974, + "max": 0.00023037500213831663, + "mean": 0.0001958908187225461, + "stddev": 1.3481103565260112e-05, + "rounds": 10, + "median": 0.0001913290936499834, + "iqr": 1.1708401143550862e-05, + "q1": 0.00018736659549176694, + "q3": 0.0001990749966353178, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.00018498320132493974, + "hd15iqr": 0.00023037500213831663, + "ops": 5104.884478615459, + "total": 0.001958908187225461, + "data": [ + 0.0002036584075540304, + 0.0001990749966353178, + 0.00019571660086512566, + 0.00018498320132493974, + 0.00018736659549176694, + 0.00019257499370723964, + 0.00023037500213831663, + 0.00018774180207401515, + 0.0001873333938419819, + 0.00019008319359272718 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-32-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-32-128]", + "params": { + "transform": "jvp", + "n_queries": 32, + "n_steps": 128 + }, + "param": "jvp-32-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006977749988436698, + "max": 0.0008312916150316596, + "mean": 0.0007552658626809717, + "stddev": 4.5909729229600116e-05, + "rounds": 10, + "median": 0.0007491583935916423, + "iqr": 6.244997493922713e-05, + "q1": 0.000719425012357533, + "q3": 0.0007818749872967601, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.0006977749988436698, + "hd15iqr": 0.0008312916150316596, + "ops": 1324.0370701388438, + "total": 0.007552658626809716, + "data": [ + 0.0008312916150316596, + 0.0008086750051006675, + 0.0007818749872967601, + 0.0007779333973303437, + 0.0007788418093696237, + 0.0007160834036767482, + 0.0006977749988436698, + 0.000719425012357533, + 0.0007203750079497695, + 0.0007203833898529411 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-128-8]", + "params": { + "transform": "jvp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "jvp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.011659909039736e-05, + "max": 9.58999851718545e-05, + "mean": 7.903747726231814e-05, + "stddev": 8.104800228224594e-06, + "rounds": 10, + "median": 7.771260570734739e-05, + "iqr": 1.0266783647239208e-05, + "q1": 7.208320312201977e-05, + "q3": 8.234998676925898e-05, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 7.011659909039736e-05, + "hd15iqr": 9.58999851718545e-05, + "ops": 12652.225686317035, + "total": 0.0007903747726231813, + "data": [ + 9.58999851718545e-05, + 7.511659059673547e-05, + 7.085839752107859e-05, + 7.011659909039736e-05, + 7.208320312201977e-05, + 8.234998676925898e-05, + 7.553340401500463e-05, + 8.125819731503725e-05, + 8.726660162210465e-05, + 7.989180739969015e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-128-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-128-32]", + "params": { + "transform": "jvp", + "n_queries": 128, + "n_steps": 32 + }, + "param": "jvp-128-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00018883338198065757, + "max": 0.0002391166053712368, + "mean": 0.00020720501895993949, + "stddev": 1.8091090360190274e-05, + "rounds": 10, + "median": 0.00020349998958408834, + "iqr": 2.9108417220413674e-05, + "q1": 0.00018919999711215497, + "q3": 0.00021830841433256865, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.00018883338198065757, + "hd15iqr": 0.0002391166053712368, + "ops": 4826.137923779431, + "total": 0.002072050189599395, + "data": [ + 0.00021830841433256865, + 0.00023398338817059994, + 0.00020030001178383827, + 0.0002391166053712368, + 0.00020084998104721307, + 0.00018889179918915033, + 0.00018883338198065757, + 0.00018919999711215497, + 0.00020614999812096357, + 0.00020641661249101161 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-128-128]", + "params": { + "transform": "jvp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "jvp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0007313166046515107, + "max": 0.0008283665869385004, + "mean": 0.0007702832971699535, + "stddev": 2.720214901267335e-05, + "rounds": 10, + "median": 0.0007665707962587476, + "iqr": 3.111681435257201e-05, + "q1": 0.0007528415881097317, + "q3": 0.0007839584024623037, + "iqr_outliers": 0, + "stddev_outliers": 2, + "outliers": "2;0", + "ld15iqr": 0.0007313166046515107, + "hd15iqr": 0.0008283665869385004, + "ops": 1298.2236583267913, + "total": 0.007702832971699536, + "data": [ + 0.0008283665869385004, + 0.0007765250047668815, + 0.0007915499852970242, + 0.0007313166046515107, + 0.0007690666010603308, + 0.0007640749914571643, + 0.0007449082098901272, + 0.0007528415881097317, + 0.0007602249970659614, + 0.0007839584024623037 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-8-8]", + "params": { + "transform": "vjp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "vjp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 8.199159055948258e-05, + "max": 9.765001013875007e-05, + "mean": 9.15800011716783e-05, + "stddev": 5.246293139667938e-06, + "rounds": 10, + "median": 9.256249759346247e-05, + "iqr": 6.941799074411403e-06, + "q1": 8.886659052222967e-05, + "q3": 9.580838959664107e-05, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 8.199159055948258e-05, + "hd15iqr": 9.765001013875007e-05, + "ops": 10919.4145796676, + "total": 0.0009158000117167831, + "data": [ + 9.430819191038608e-05, + 8.459181990474462e-05, + 9.025000035762787e-05, + 9.602501522749662e-05, + 8.199159055948258e-05, + 9.765001013875007e-05, + 9.580838959664107e-05, + 9.081680327653885e-05, + 9.54916002228856e-05, + 8.886659052222967e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-8-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-8-32]", + "params": { + "transform": "vjp", + "n_queries": 8, + "n_steps": 32 + }, + "param": "vjp-8-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0002188500016927719, + "max": 0.00024594999849796294, + "mean": 0.0002359350398182869, + "stddev": 7.714528116244042e-06, + "rounds": 10, + "median": 0.00023692920804023742, + "iqr": 8.083391003310686e-06, + "q1": 0.00023395840544253587, + "q3": 0.00024204179644584655, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.00022952500730752945, + "hd15iqr": 0.00024594999849796294, + "ops": 4238.45479149762, + "total": 0.002359350398182869, + "data": [ + 0.0002385416068136692, + 0.00022952500730752945, + 0.00023395840544253587, + 0.00024594999849796294, + 0.0002188500016927719, + 0.00023405838292092084, + 0.00023531680926680565, + 0.00024252498988062144, + 0.00024204179644584655, + 0.00023858339991420508 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-8-128]", + "params": { + "transform": "vjp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "vjp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0008487083949148655, + "max": 0.0009226582013070583, + "mean": 0.000882522442843765, + "stddev": 2.0378236409209483e-05, + "rounds": 10, + "median": 0.0008793583139777184, + "iqr": 1.5158415772020795e-05, + "q1": 0.0008728665998205543, + "q3": 0.000888025015592575, + "iqr_outliers": 2, + "stddev_outliers": 3, + "outliers": "3;2", + "ld15iqr": 0.0008676081895828247, + "hd15iqr": 0.0009226582013070583, + "ops": 1133.1156596739743, + "total": 0.00882522442843765, + "data": [ + 0.0009226582013070583, + 0.0008760000113397836, + 0.0008866081945598126, + 0.0008747582091018557, + 0.0009052749956026673, + 0.0008676081895828247, + 0.000888025015592575, + 0.0008728665998205543, + 0.000882716616615653, + 0.0008487083949148655 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-32-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-32-8]", + "params": { + "transform": "vjp", + "n_queries": 32, + "n_steps": 8 + }, + "param": "vjp-32-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.696661632508039e-05, + "max": 0.00010290821082890034, + "mean": 8.606666699051857e-05, + "stddev": 7.642049655298757e-06, + "rounds": 10, + "median": 8.444590494036675e-05, + "iqr": 8.750008419156075e-06, + "q1": 8.165000472217798e-05, + "q3": 9.040001314133405e-05, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 7.696661632508039e-05, + "hd15iqr": 0.00010290821082890034, + "ops": 11618.900033739703, + "total": 0.0008606666699051857, + "data": [ + 9.040001314133405e-05, + 7.776659913361073e-05, + 8.165000472217798e-05, + 8.80418112501502e-05, + 7.696661632508039e-05, + 8.604181930422783e-05, + 8.278321474790573e-05, + 9.125838987529278e-05, + 0.00010290821082890034, + 8.284999057650566e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-32-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-32-32]", + "params": { + "transform": "vjp", + "n_queries": 32, + "n_steps": 32 + }, + "param": "vjp-32-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00022459998726844787, + "max": 0.0002529417863115668, + "mean": 0.00023523085983470082, + "stddev": 8.995604494234992e-06, + "rounds": 10, + "median": 0.00023229999933391807, + "iqr": 1.1725001968443394e-05, + "q1": 0.00023010000586509705, + "q3": 0.00024182500783354044, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.00022459998726844787, + "hd15iqr": 0.0002529417863115668, + "ops": 4251.142901499873, + "total": 0.0023523085983470082, + "data": [ + 0.00022682501003146172, + 0.00023334999568760395, + 0.00023420839570462704, + 0.00023092501796782017, + 0.00022459998726844787, + 0.00024628338869661095, + 0.00024182500783354044, + 0.00023125000298023223, + 0.00023010000586509705, + 0.0002529417863115668 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-32-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-32-128]", + "params": { + "transform": "vjp", + "n_queries": 32, + "n_steps": 128 + }, + "param": "vjp-32-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0008477584226056934, + "max": 0.0009581250138580799, + "mean": 0.0008963191835209727, + "stddev": 3.617908748527505e-05, + "rounds": 10, + "median": 0.0008869582903571427, + "iqr": 5.5249803699553035e-05, + "q1": 0.0008716583950445056, + "q3": 0.0009269081987440586, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.0008477584226056934, + "hd15iqr": 0.0009581250138580799, + "ops": 1115.6739902316297, + "total": 0.008963191835209727, + "data": [ + 0.0009581250138580799, + 0.0008716583950445056, + 0.0008961999788880348, + 0.0008777166018262506, + 0.0009429668076336384, + 0.0009269081987440586, + 0.0009019084041938186, + 0.0008776250062510372, + 0.0008477584226056934, + 0.0008623250061646104 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-128-8]", + "params": { + "transform": "vjp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "vjp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.816681172698737e-05, + "max": 0.000111558404751122, + "mean": 8.738917764276266e-05, + "stddev": 1.0316274638878282e-05, + "rounds": 10, + "median": 8.495829533785581e-05, + "iqr": 8.358387276530266e-06, + "q1": 7.997499778866768e-05, + "q3": 8.833338506519794e-05, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 7.816681172698737e-05, + "hd15iqr": 0.000111558404751122, + "ops": 11443.064541560168, + "total": 0.0008738917764276266, + "data": [ + 8.579159621149301e-05, + 8.833338506519794e-05, + 8.477498777210712e-05, + 0.000111558404751122, + 9.865839965641498e-05, + 8.198318537324666e-05, + 7.997499778866768e-05, + 7.950840517878532e-05, + 8.514160290360451e-05, + 7.816681172698737e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-128-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-128-32]", + "params": { + "transform": "vjp", + "n_queries": 128, + "n_steps": 32 + }, + "param": "vjp-128-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0002247834112495184, + "max": 0.0002601583953946829, + "mean": 0.0002355558192357421, + "stddev": 9.668949614285372e-06, + "rounds": 10, + "median": 0.0002333582961000502, + "iqr": 6.866827607154857e-06, + "q1": 0.00023073318880051374, + "q3": 0.0002376000164076686, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.0002247834112495184, + "hd15iqr": 0.0002601583953946829, + "ops": 4245.278266716091, + "total": 0.002355558192357421, + "data": [ + 0.00023297499865293503, + 0.00023585818707942962, + 0.0002376000164076686, + 0.0002601583953946829, + 0.00023209999781101943, + 0.00023073318880051374, + 0.00022812499664723874, + 0.0002394834067672491, + 0.0002247834112495184, + 0.0002337415935471654 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-128-128]", + "params": { + "transform": "vjp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "vjp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0008253084030002356, + "max": 0.0009070415981113911, + "mean": 0.0008613100228831172, + "stddev": 2.7767823815524584e-05, + "rounds": 10, + "median": 0.0008552749990485609, + "iqr": 3.007499035447838e-05, + "q1": 0.0008450250141322612, + "q3": 0.0008751000044867396, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0008253084030002356, + "hd15iqr": 0.0009070415981113911, + "ops": 1161.0221330672982, + "total": 0.008613100228831171, + "data": [ + 0.0009070415981113911, + 0.0008456083945930004, + 0.0009017500095069408, + 0.0008751000044867396, + 0.0008253084030002356, + 0.0008539666188880802, + 0.0008730418048799038, + 0.0008565833792090416, + 0.0008296750020235777, + 0.0008450250141322612 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-primal-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-primal-8-8]", + "params": { + "explicit_no_aux": false, + "transform": "primal", + "n_queries": 8, + "n_steps": 8 + }, + "param": "auto-primal-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.723339807242155e-05, + "max": 5.494158249348402e-05, + "mean": 4.945918219164014e-05, + "stddev": 2.2370173816590024e-06, + "rounds": 10, + "median": 4.855830920860171e-05, + "iqr": 1.6667880117893192e-06, + "q1": 4.826660733669996e-05, + "q3": 4.993339534848928e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 4.723339807242155e-05, + "hd15iqr": 5.494158249348402e-05, + "ops": 20218.692580182316, + "total": 0.0004945918219164014, + "data": [ + 5.494158249348402e-05, + 5.1391799934208394e-05, + 4.993339534848928e-05, + 4.826660733669996e-05, + 4.8391614109277724e-05, + 4.87250043079257e-05, + 4.8333406448364256e-05, + 4.818341694772244e-05, + 4.723339807242155e-05, + 4.919159691780805e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-primal-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-primal-8-128]", + "params": { + "explicit_no_aux": false, + "transform": "primal", + "n_queries": 8, + "n_steps": 128 + }, + "param": "auto-primal-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0003783500054851174, + "max": 0.00042737501207739114, + "mean": 0.00039971334394067526, + "stddev": 1.7268579257468277e-05, + "rounds": 10, + "median": 0.0003966916003264487, + "iqr": 2.2633210755884626e-05, + "q1": 0.00038601679261773825, + "q3": 0.00040865000337362287, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.0003783500054851174, + "hd15iqr": 0.00042737501207739114, + "ops": 2501.792885224313, + "total": 0.003997133439406752, + "data": [ + 0.0003893834073096514, + 0.00040865000337362287, + 0.00042737501207739114, + 0.0004258000059053302, + 0.0003783500054851174, + 0.0004053083946928382, + 0.00040278318338096144, + 0.00038601679261773825, + 0.0003828666172921658, + 0.00039060001727193595 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-primal-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-primal-128-8]", + "params": { + "explicit_no_aux": false, + "transform": "primal", + "n_queries": 128, + "n_steps": 8 + }, + "param": "auto-primal-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.9224984832108023e-05, + "max": 7.539179641753435e-05, + "mean": 5.912417778745294e-05, + "stddev": 8.235080780588786e-06, + "rounds": 10, + "median": 5.7291705161333084e-05, + "iqr": 1.2525171041488643e-05, + "q1": 5.216661375015974e-05, + "q3": 6.469178479164838e-05, + "iqr_outliers": 0, + "stddev_outliers": 2, + "outliers": "2;0", + "ld15iqr": 4.9224984832108023e-05, + "hd15iqr": 7.539179641753435e-05, + "ops": 16913.554444595007, + "total": 0.0005912417778745294, + "data": [ + 7.539179641753435e-05, + 6.61082100123167e-05, + 5.890841130167246e-05, + 6.380837876349688e-05, + 6.469178479164838e-05, + 5.3466600365936753e-05, + 5.216661375015974e-05, + 5.1799998618662355e-05, + 5.567499902099371e-05, + 4.9224984832108023e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-primal-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-primal-128-128]", + "params": { + "explicit_no_aux": false, + "transform": "primal", + "n_queries": 128, + "n_steps": 128 + }, + "param": "auto-primal-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0003618165850639343, + "max": 0.0004267999902367592, + "mean": 0.0003903658362105489, + "stddev": 2.572135354814941e-05, + "rounds": 10, + "median": 0.0003894750843755901, + "iqr": 4.7491607256233725e-05, + "q1": 0.0003664750140160322, + "q3": 0.00041396662127226593, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0003618165850639343, + "hd15iqr": 0.0004267999902367592, + "ops": 2561.699583414971, + "total": 0.0039036583621054888, + "data": [ + 0.0004267999902367592, + 0.0003618165850639343, + 0.00039804999250918626, + 0.0003682833863422275, + 0.0003957417793571949, + 0.00036287500988692046, + 0.0003664750140160322, + 0.00041396662127226593, + 0.0004264415940269828, + 0.00038320838939398527 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-jvp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-jvp-8-8]", + "params": { + "explicit_no_aux": false, + "transform": "jvp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "auto-jvp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.413341034203768e-05, + "max": 8.463319391012192e-05, + "mean": 6.950752111151815e-05, + "stddev": 6.517460052830757e-06, + "rounds": 10, + "median": 6.640419596806168e-05, + "iqr": 4.808395169675356e-06, + "q1": 6.59500015899539e-05, + "q3": 7.075839675962925e-05, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 6.413341034203768e-05, + "hd15iqr": 8.463319391012192e-05, + "ops": 14386.932291767334, + "total": 0.0006950752111151814, + "data": [ + 8.463319391012192e-05, + 6.413341034203768e-05, + 6.649158895015717e-05, + 6.728339940309525e-05, + 6.620001513510943e-05, + 6.63168029859662e-05, + 6.59500015899539e-05, + 6.590839475393296e-05, + 7.740000728517771e-05, + 7.075839675962925e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-jvp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-jvp-8-128]", + "params": { + "explicit_no_aux": false, + "transform": "jvp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "auto-jvp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0005877668038010598, + "max": 0.0006499916082248092, + "mean": 0.000623158342204988, + "stddev": 1.7632098631693304e-05, + "rounds": 10, + "median": 0.0006240249960683287, + "iqr": 2.1249987185001373e-05, + "q1": 0.0006157250143587589, + "q3": 0.0006369750015437603, + "iqr_outliers": 0, + "stddev_outliers": 2, + "outliers": "2;0", + "ld15iqr": 0.0005877668038010598, + "hd15iqr": 0.0006499916082248092, + "ops": 1604.7285774296029, + "total": 0.00623158342204988, + "data": [ + 0.0006064332090318203, + 0.0006369750015437603, + 0.0006269918056204915, + 0.000619483389891684, + 0.0005877668038010598, + 0.0006157250143587589, + 0.0006210581865161658, + 0.0006285917945206166, + 0.0006385666085407138, + 0.0006499916082248092 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-jvp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-jvp-128-8]", + "params": { + "explicit_no_aux": false, + "transform": "jvp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "auto-jvp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.2766601331532e-05, + "max": 8.134159725159407e-05, + "mean": 7.266417844220996e-05, + "stddev": 5.492737672077758e-06, + "rounds": 10, + "median": 7.378750015050173e-05, + "iqr": 6.874767132103435e-06, + "q1": 6.966681685298682e-05, + "q3": 7.654158398509025e-05, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 6.2766601331532e-05, + "hd15iqr": 8.134159725159407e-05, + "ops": 13761.939121011366, + "total": 0.0007266417844220996, + "data": [ + 7.734159007668495e-05, + 6.966681685298682e-05, + 7.481679785996676e-05, + 7.654158398509025e-05, + 7.005000952631235e-05, + 8.134159725159407e-05, + 7.311659865081311e-05, + 7.445840165019036e-05, + 6.654178723692894e-05, + 6.2766601331532e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-jvp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-jvp-128-128]", + "params": { + "explicit_no_aux": false, + "transform": "jvp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "auto-jvp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0005962667986750603, + "max": 0.000650066789239645, + "mean": 0.0006188200181350111, + "stddev": 1.7948269550538555e-05, + "rounds": 10, + "median": 0.0006174082984216512, + "iqr": 2.3116613738238833e-05, + "q1": 0.000603408389724791, + "q3": 0.0006265250034630298, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0005962667986750603, + "hd15iqr": 0.000650066789239645, + "ops": 1615.9787510006258, + "total": 0.006188200181350112, + "data": [ + 0.000650066789239645, + 0.0006265250034630298, + 0.0005962667986750603, + 0.0006101750070229173, + 0.0006229416001588106, + 0.0006442915881052613, + 0.0006154581904411315, + 0.0005997084081172943, + 0.000603408389724791, + 0.0006193584064021707 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-vjp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-vjp-8-8]", + "params": { + "explicit_no_aux": false, + "transform": "vjp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "auto-vjp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.239161059260368e-05, + "max": 0.00010372500400990248, + "mean": 8.350412128493189e-05, + "stddev": 1.0837126557517233e-05, + "rounds": 10, + "median": 7.902910001575947e-05, + "iqr": 1.646659802645445e-05, + "q1": 7.619999814778566e-05, + "q3": 9.266659617424011e-05, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 7.239161059260368e-05, + "hd15iqr": 0.00010372500400990248, + "ops": 11975.45683509213, + "total": 0.000835041212849319, + "data": [ + 7.239999249577522e-05, + 7.639999967068434e-05, + 8.16582003608346e-05, + 9.525001514703036e-05, + 0.00010372500400990248, + 9.266659617424011e-05, + 7.619999814778566e-05, + 7.631659973412752e-05, + 8.803319651633501e-05, + 7.239161059260368e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-vjp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-vjp-8-128]", + "params": { + "explicit_no_aux": false, + "transform": "vjp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "auto-vjp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006728081963956356, + "max": 0.0007408499950543046, + "mean": 0.0007095241360366344, + "stddev": 2.3077080387395965e-05, + "rounds": 10, + "median": 0.000710683292709291, + "iqr": 2.7483375743031545e-05, + "q1": 0.0006978416116908192, + "q3": 0.0007253249874338508, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0006728081963956356, + "hd15iqr": 0.0007408499950543046, + "ops": 1409.395324570562, + "total": 0.007095241360366345, + "data": [ + 0.0007407415891066193, + 0.000713208387605846, + 0.0007099915994331241, + 0.0007408499950543046, + 0.0006728081963956356, + 0.0006978416116908192, + 0.0006767250131815671, + 0.0007063749944791198, + 0.0007253249874338508, + 0.0007113749859854579 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-vjp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-vjp-128-8]", + "params": { + "explicit_no_aux": false, + "transform": "vjp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "auto-vjp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.400820031762123e-05, + "max": 8.749158587306738e-05, + "mean": 7.784332614392042e-05, + "stddev": 4.415654545154973e-06, + "rounds": 10, + "median": 7.628750754520297e-05, + "iqr": 4.458404146134856e-06, + "q1": 7.470001000910997e-05, + "q3": 7.915841415524482e-05, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 7.400820031762123e-05, + "hd15iqr": 8.749158587306738e-05, + "ops": 12846.316435029417, + "total": 0.0007784332614392042, + "data": [ + 8.341660723090171e-05, + 7.511661387979985e-05, + 8.749158587306738e-05, + 7.730820216238499e-05, + 7.400820031762123e-05, + 7.915841415524482e-05, + 7.470001000910997e-05, + 7.461679633706808e-05, + 7.735001854598522e-05, + 7.526681292802095e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-vjp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-vjp-128-128]", + "params": { + "explicit_no_aux": false, + "transform": "vjp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "auto-vjp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006883915979415178, + "max": 0.0007320999866351485, + "mean": 0.0007116633164696395, + "stddev": 1.2938956028406289e-05, + "rounds": 10, + "median": 0.0007119416957721114, + "iqr": 1.9399984739720778e-05, + "q1": 0.0007015000097453594, + "q3": 0.0007208999944850802, + "iqr_outliers": 0, + "stddev_outliers": 2, + "outliers": "2;0", + "ld15iqr": 0.0006883915979415178, + "hd15iqr": 0.0007320999866351485, + "ops": 1405.1588396613124, + "total": 0.007116633164696395, + "data": [ + 0.0007141500012949109, + 0.0007320999866351485, + 0.0007015000097453594, + 0.0007219000020995736, + 0.0007208999944850802, + 0.000709733390249312, + 0.0006883915979415178, + 0.0006994999945163727, + 0.0007206749869510531, + 0.0007077832007780672 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-primal-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-primal-8-8]", + "params": { + "explicit_no_aux": true, + "transform": "primal", + "n_queries": 8, + "n_steps": 8 + }, + "param": "explicit-primal-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.954999312758446e-05, + "max": 8.063339628279209e-05, + "mean": 5.968166049569845e-05, + "stddev": 1.0683072869051363e-05, + "rounds": 10, + "median": 5.581248551607132e-05, + "iqr": 1.8466613255441196e-05, + "q1": 5.150840152055025e-05, + "q3": 6.997501477599145e-05, + "iqr_outliers": 0, + "stddev_outliers": 2, + "outliers": "2;0", + "ld15iqr": 4.954999312758446e-05, + "hd15iqr": 8.063339628279209e-05, + "ops": 16755.565976118825, + "total": 0.0005968166049569845, + "data": [ + 7.245840970426798e-05, + 5.618319846689701e-05, + 5.5899983271956445e-05, + 8.063339628279209e-05, + 6.997501477599145e-05, + 5.5724987760186195e-05, + 5.355821922421455e-05, + 5.150840152055025e-05, + 4.954999312758446e-05, + 5.13250008225441e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-primal-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-primal-8-128]", + "params": { + "explicit_no_aux": true, + "transform": "primal", + "n_queries": 8, + "n_steps": 128 + }, + "param": "explicit-primal-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00036628341767936946, + "max": 0.00040948339737951757, + "mean": 0.0003834366635419428, + "stddev": 1.4836185266324051e-05, + "rounds": 10, + "median": 0.000380200007930398, + "iqr": 2.8849998489022266e-05, + "q1": 0.0003700749948620796, + "q3": 0.0003989249933511019, + "iqr_outliers": 0, + "stddev_outliers": 5, + "outliers": "5;0", + "ld15iqr": 0.00036628341767936946, + "hd15iqr": 0.00040948339737951757, + "ops": 2607.992649327373, + "total": 0.0038343666354194285, + "data": [ + 0.0003860581899061799, + 0.00037558320909738543, + 0.00040948339737951757, + 0.0003833166090771556, + 0.00039928341284394263, + 0.00037708340678364036, + 0.0003989249933511019, + 0.0003700749948620796, + 0.00036827500443905594, + 0.00036628341767936946 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-primal-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-primal-128-8]", + "params": { + "explicit_no_aux": true, + "transform": "primal", + "n_queries": 128, + "n_steps": 8 + }, + "param": "explicit-primal-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.9441587179899216e-05, + "max": 7.468340918421745e-05, + "mean": 5.900666117668152e-05, + "stddev": 9.7118625523305e-06, + "rounds": 10, + "median": 5.59624982997775e-05, + "iqr": 1.714180689305067e-05, + "q1": 5.034159403294325e-05, + "q3": 6.748340092599392e-05, + "iqr_outliers": 0, + "stddev_outliers": 2, + "outliers": "2;0", + "ld15iqr": 4.9441587179899216e-05, + "hd15iqr": 7.468340918421745e-05, + "ops": 16947.23917704369, + "total": 0.0005900666117668151, + "data": [ + 6.748340092599392e-05, + 7.468340918421745e-05, + 7.107499986886978e-05, + 6.425841711461544e-05, + 5.034159403294325e-05, + 5.247499793767929e-05, + 5.128320772200823e-05, + 5.944999866187572e-05, + 4.957499913871288e-05, + 4.9441587179899216e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-primal-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-primal-128-128]", + "params": { + "explicit_no_aux": true, + "transform": "primal", + "n_queries": 128, + "n_steps": 128 + }, + "param": "explicit-primal-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0003673749975860119, + "max": 0.00043238319922238587, + "mean": 0.00039436416001990436, + "stddev": 2.0553037262246312e-05, + "rounds": 10, + "median": 0.0003935959073714912, + "iqr": 3.172499127686025e-05, + "q1": 0.0003782500047236681, + "q3": 0.0004099749960005283, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.0003673749975860119, + "hd15iqr": 0.00043238319922238587, + "ops": 2535.7273844294773, + "total": 0.003943641600199044, + "data": [ + 0.0004113415954634547, + 0.0004099749960005283, + 0.0003782500047236681, + 0.00040440838783979417, + 0.0003700416069477797, + 0.00039534179959446194, + 0.00043238319922238587, + 0.0003673749975860119, + 0.00039185001514852047, + 0.00038267499767243864 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-jvp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-jvp-8-8]", + "params": { + "explicit_no_aux": true, + "transform": "jvp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "explicit-jvp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.8774999342858794e-05, + "max": 8.054999634623527e-05, + "mean": 6.484831916168332e-05, + "stddev": 6.9647600944072036e-06, + "rounds": 10, + "median": 6.158329779282212e-05, + "iqr": 9.208195842802523e-06, + "q1": 5.962499417364597e-05, + "q3": 6.88331900164485e-05, + "iqr_outliers": 0, + "stddev_outliers": 1, + "outliers": "1;0", + "ld15iqr": 5.8774999342858794e-05, + "hd15iqr": 8.054999634623527e-05, + "ops": 15420.600147040761, + "total": 0.0006484831916168332, + "data": [ + 6.88331900164485e-05, + 6.198340561240912e-05, + 5.962499417364597e-05, + 6.644180975854397e-05, + 5.941661074757576e-05, + 5.8774999342858794e-05, + 7.104999385774136e-05, + 8.054999634623527e-05, + 6.118318997323513e-05, + 6.062500178813934e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-jvp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-jvp-8-128]", + "params": { + "explicit_no_aux": true, + "transform": "jvp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "explicit-jvp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0005878832191228867, + "max": 0.0006151915993541479, + "mean": 0.0006015625013969839, + "stddev": 9.864023216244693e-06, + "rounds": 10, + "median": 0.0006016999948769807, + "iqr": 1.809182576835151e-05, + "q1": 0.0005927749909460545, + "q3": 0.000610866816714406, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0005878832191228867, + "hd15iqr": 0.0006151915993541479, + "ops": 1662.337658477284, + "total": 0.0060156250139698384, + "data": [ + 0.0005927749909460545, + 0.0006037999875843525, + 0.000599600002169609, + 0.0005878832191228867, + 0.0006127249915152788, + 0.0005899084033444523, + 0.000595533405430615, + 0.000610866816714406, + 0.0006151915993541479, + 0.0006073415977880358 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-jvp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-jvp-128-8]", + "params": { + "explicit_no_aux": true, + "transform": "jvp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "explicit-jvp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.550820544362068e-05, + "max": 7.688319310545921e-05, + "mean": 6.927078124135732e-05, + "stddev": 3.160175111070436e-06, + "rounds": 10, + "median": 6.860829889774323e-05, + "iqr": 2.4918001145124463e-06, + "q1": 6.741660181432962e-05, + "q3": 6.990840192884207e-05, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 6.550820544362068e-05, + "hd15iqr": 7.688319310545921e-05, + "ops": 14436.101081576391, + "total": 0.0006927078124135732, + "data": [ + 7.688319310545921e-05, + 6.990840192884207e-05, + 6.550820544362068e-05, + 6.923340260982514e-05, + 7.120000664144755e-05, + 6.798319518566131e-05, + 6.741660181432962e-05, + 6.794161163270473e-05, + 6.989159155637025e-05, + 6.674160249531269e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-jvp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-jvp-128-128]", + "params": { + "explicit_no_aux": true, + "transform": "jvp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "explicit-jvp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0005939000053331256, + "max": 0.0006401166087016463, + "mean": 0.0006135516637004912, + "stddev": 1.5499152059920077e-05, + "rounds": 10, + "median": 0.0006148833082988859, + "iqr": 2.2866576910018964e-05, + "q1": 0.0005994584178552031, + "q3": 0.0006223249947652221, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0005939000053331256, + "hd15iqr": 0.0006401166087016463, + "ops": 1629.8545976857718, + "total": 0.006135516637004912, + "data": [ + 0.0006401166087016463, + 0.0006030999822542072, + 0.0005994584178552031, + 0.0006223249947652221, + 0.0006313584046438337, + 0.0005939000053331256, + 0.0006194750079885125, + 0.0005960165988653898, + 0.0006182081997394562, + 0.0006115584168583154 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-vjp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-vjp-8-8]", + "params": { + "explicit_no_aux": true, + "transform": "vjp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "explicit-vjp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.518338341265917e-05, + "max": 7.974179461598397e-05, + "mean": 7.306749699637294e-05, + "stddev": 5.0743415970149475e-06, + "rounds": 10, + "median": 7.456240709871053e-05, + "iqr": 7.974985055625436e-06, + "q1": 6.967501249164343e-05, + "q3": 7.764999754726887e-05, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 6.518338341265917e-05, + "hd15iqr": 7.974179461598397e-05, + "ops": 13685.975859411741, + "total": 0.0007306749699637294, + "data": [ + 7.416659500449895e-05, + 7.060838397592306e-05, + 7.495821919292211e-05, + 7.799998857080937e-05, + 6.967501249164343e-05, + 7.495838217437267e-05, + 7.974179461598397e-05, + 6.518338341265917e-05, + 6.573321297764778e-05, + 7.764999754726887e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-vjp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-vjp-8-128]", + "params": { + "explicit_no_aux": true, + "transform": "vjp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "explicit-vjp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006855749990791083, + "max": 0.0007373249856755138, + "mean": 0.0007105949800461531, + "stddev": 1.8325454180673358e-05, + "rounds": 10, + "median": 0.000707800011150539, + "iqr": 3.12916003167629e-05, + "q1": 0.0006989666027948261, + "q3": 0.000730258203111589, + "iqr_outliers": 0, + "stddev_outliers": 5, + "outliers": "5;0", + "ld15iqr": 0.0006855749990791083, + "hd15iqr": 0.0007373249856755138, + "ops": 1407.2714106917138, + "total": 0.007105949800461531, + "data": [ + 0.0007050332147628069, + 0.0007025750121101737, + 0.0007318750023841858, + 0.0007170583819970488, + 0.0006855749990791083, + 0.0006989666027948261, + 0.000710566807538271, + 0.0006867165910080075, + 0.000730258203111589, + 0.0007373249856755138 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-vjp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-vjp-128-8]", + "params": { + "explicit_no_aux": true, + "transform": "vjp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "explicit-vjp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.597500760108232e-05, + "max": 8.55583930388093e-05, + "mean": 7.400499423965812e-05, + "stddev": 7.5463305957938835e-06, + "rounds": 10, + "median": 7.066249381750822e-05, + "iqr": 1.5108427032828334e-05, + "q1": 6.859158165752887e-05, + "q3": 8.37000086903572e-05, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 6.597500760108232e-05, + "hd15iqr": 8.55583930388093e-05, + "ops": 13512.60155174927, + "total": 0.0007400499423965811, + "data": [ + 8.37000086903572e-05, + 8.415838237851858e-05, + 7.08749983459711e-05, + 8.55583930388093e-05, + 7.383320480585099e-05, + 6.702498067170381e-05, + 7.044998928904534e-05, + 6.597500760108232e-05, + 6.988339591771365e-05, + 6.859158165752887e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-vjp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-vjp-128-128]", + "params": { + "explicit_no_aux": true, + "transform": "vjp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "explicit-vjp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006975999800488353, + "max": 0.0007829918060451746, + "mean": 0.0007232808182016015, + "stddev": 2.4665289974377445e-05, + "rounds": 10, + "median": 0.0007233332842588424, + "iqr": 2.91666015982627e-05, + "q1": 0.0007007749984040857, + "q3": 0.0007299416000023484, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.0006975999800488353, + "hd15iqr": 0.0007829918060451746, + "ops": 1382.5888573769255, + "total": 0.007232808182016015, + "data": [ + 0.0007318082032725215, + 0.0007299416000023484, + 0.0007829918060451746, + 0.0007252582116052508, + 0.0007007749984040857, + 0.0007224165834486485, + 0.0007242499850690365, + 0.000719050015322864, + 0.0006975999800488353, + 0.0006987167987972498 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_batched_adaptive_dense_output", + "fullname": "benchmarks/test_aux_dense_output.py::test_batched_adaptive_dense_output", + "params": null, + "param": null, + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0010055416030809283, + "max": 0.001054966589435935, + "mean": 0.0010295416158623994, + "stddev": 1.5839069598556633e-05, + "rounds": 10, + "median": 0.001031062484253198, + "iqr": 1.641658600419764e-05, + "q1": 0.001018974999897182, + "q3": 0.0010353915859013796, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0010055416030809283, + "hd15iqr": 0.001054966589435935, + "ops": 971.3060497922138, + "total": 0.010295416158623994, + "data": [ + 0.0010506081860512495, + 0.001054966589435935, + 0.0010226582176983356, + 0.0010346499970182777, + 0.001018974999897182, + 0.0010055416030809283, + 0.0010326583869755268, + 0.0010353915859013796, + 0.0010105000110343099, + 0.001029466581530869 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-rk4]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "rk4" + }, + "param": "primal-scalar-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.891690332442522e-06, + "max": 8.13750084489584e-06, + "mean": 5.637913709506392e-06, + "stddev": 9.045433600485694e-07, + "rounds": 20, + "median": 5.329196574166417e-06, + "iqr": 4.7294306568801437e-07, + "q1": 5.158304702490568e-06, + "q3": 5.6312477681785825e-06, + "iqr_outliers": 3, + "stddev_outliers": 3, + "outliers": "3;3", + "ld15iqr": 4.891690332442522e-06, + "hd15iqr": 7.087492849677801e-06, + "ops": 177370.57562868437, + "total": 0.00011275827419012784, + "data": [ + 7.087492849677801e-06, + 5.349994171410799e-06, + 5.799997597932815e-06, + 5.12909609824419e-06, + 5.387503188103438e-06, + 5.3083989769220356e-06, + 4.945800174027681e-06, + 5.770800635218621e-06, + 4.945800174027681e-06, + 4.891690332442522e-06, + 7.650000043213367e-06, + 8.13750084489584e-06, + 5.454197525978088e-06, + 5.491694901138544e-06, + 5.241692997515202e-06, + 5.2166986279189585e-06, + 5.4167001508176325e-06, + 5.166605114936829e-06, + 5.2166054956614975e-06, + 5.150004290044307e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-tsit5]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "tsit5" + }, + "param": "primal-scalar-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.625002086162567e-06, + "max": 9.166693780571223e-06, + "mean": 6.398539990186691e-06, + "stddev": 8.350847577868765e-07, + "rounds": 20, + "median": 6.40835496596992e-06, + "iqr": 1.1208467185497284e-06, + "q1": 5.666603101417422e-06, + "q3": 6.787449819967151e-06, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 5.625002086162567e-06, + "hd15iqr": 9.166693780571223e-06, + "ops": 156285.65290420616, + "total": 0.00012797079980373383, + "data": [ + 9.166693780571223e-06, + 7.187493611127138e-06, + 6.816606037318706e-06, + 6.533402483910322e-06, + 6.500002928078174e-06, + 6.854196544736624e-06, + 7.050007116049528e-06, + 6.4167077653110026e-06, + 6.400002166628837e-06, + 6.420793943107128e-06, + 6.758293602615595e-06, + 5.745899397879839e-06, + 5.666597280651331e-06, + 6.262492388486862e-06, + 5.954201333224773e-06, + 5.658296868205071e-06, + 5.6540942750871185e-06, + 5.666608922183514e-06, + 5.633407272398472e-06, + 5.625002086162567e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-rodas5p]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "rodas5p" + }, + "param": "primal-scalar-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.174170222133398e-05, + "max": 3.19582992233336e-05, + "mean": 2.6267485809512435e-05, + "stddev": 2.8350162101185767e-06, + "rounds": 20, + "median": 2.5749998167157172e-05, + "iqr": 3.372895298525689e-06, + "q1": 2.4693750310689212e-05, + "q3": 2.80666456092149e-05, + "iqr_outliers": 0, + "stddev_outliers": 7, + "outliers": "7;0", + "ld15iqr": 2.174170222133398e-05, + "hd15iqr": 3.19582992233336e-05, + "ops": 38069.878756263104, + "total": 0.0005253497161902487, + "data": [ + 2.9616698157042265e-05, + 2.5895796716213228e-05, + 2.4608301464468242e-05, + 2.6295811403542756e-05, + 2.514580264687538e-05, + 2.5170797016471624e-05, + 2.5695795193314554e-05, + 3.19582992233336e-05, + 2.5804201140999793e-05, + 2.4608301464468242e-05, + 2.4779199156910182e-05, + 3.054160624742508e-05, + 2.6366603560745715e-05, + 2.8104090597480534e-05, + 3.097919980064034e-05, + 2.3025006521493195e-05, + 2.5054102297872306e-05, + 2.802920062094927e-05, + 2.174170222133398e-05, + 2.192920073866844e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-em]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "em" + }, + "param": "primal-scalar-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.670803900808096e-06, + "max": 1.492080045863986e-05, + "mean": 6.66207168251276e-06, + "stddev": 2.066036570573802e-06, + "rounds": 20, + "median": 6.152049172669649e-06, + "iqr": 1.1082971468567845e-06, + "q1": 5.820853402838111e-06, + "q3": 6.929150549694895e-06, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 4.670803900808096e-06, + "hd15iqr": 1.492080045863986e-05, + "ops": 150103.458451955, + "total": 0.0001332414336502552, + "data": [ + 1.492080045863986e-05, + 5.39170578122139e-06, + 6.912497337907553e-06, + 7.083301898092031e-06, + 4.670803900808096e-06, + 5.725002847611904e-06, + 5.775003228336573e-06, + 6.058299914002419e-06, + 6.1415950767695905e-06, + 5.750008858740329e-06, + 6.316602230072021e-06, + 5.9916987083852294e-06, + 7.774995174258947e-06, + 7.24580604583025e-06, + 6.945803761482239e-06, + 5.916599184274673e-06, + 5.866703577339649e-06, + 6.229197606444359e-06, + 6.162503268569708e-06, + 6.362504791468382e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-dae]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "dae" + }, + "param": "primal-scalar-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.193329855799675e-05, + "max": 3.294580383226275e-05, + "mean": 2.3183542652986943e-05, + "stddev": 2.4721698487482207e-06, + "rounds": 20, + "median": 2.2347946651279926e-05, + "iqr": 9.604089427739389e-07, + "q1": 2.2074993466958404e-05, + "q3": 2.3035402409732342e-05, + "iqr_outliers": 3, + "stddev_outliers": 1, + "outliers": "1;3", + "ld15iqr": 2.193329855799675e-05, + "hd15iqr": 2.4737499188631773e-05, + "ops": 43134.04620545174, + "total": 0.00046367085305973885, + "data": [ + 2.4737499188631773e-05, + 2.259579487144947e-05, + 2.221670001745224e-05, + 2.2087490651756526e-05, + 2.2279191762208937e-05, + 2.275839215144515e-05, + 2.193329855799675e-05, + 2.3537501692771912e-05, + 2.2416701540350914e-05, + 2.3266603238880635e-05, + 2.525829477235675e-05, + 3.294580383226275e-05, + 2.280420158058405e-05, + 2.2129202261567115e-05, + 2.2566691040992736e-05, + 2.1974998526275157e-05, + 2.2033299319446088e-05, + 2.2116699256002903e-05, + 2.1949992515146732e-05, + 2.206249628216028e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-rodas5p_dae]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "rodas5p_dae" + }, + "param": "primal-scalar-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.71082972176373e-05, + "max": 4.250420024618506e-05, + "mean": 2.963064471259713e-05, + "stddev": 4.087377917286204e-06, + "rounds": 20, + "median": 2.7954205870628356e-05, + "iqr": 2.5916553568094996e-06, + "q1": 2.7312547899782658e-05, + "q3": 2.9904203256592157e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 2.71082972176373e-05, + "hd15iqr": 3.853749949485063e-05, + "ops": 33748.84379666776, + "total": 0.0005926128942519426, + "data": [ + 3.853749949485063e-05, + 4.250420024618506e-05, + 2.8849998489022256e-05, + 2.7829199098050594e-05, + 2.7333397883921862e-05, + 2.723749494180083e-05, + 2.710839034989476e-05, + 2.7291697915643453e-05, + 2.7429091278463603e-05, + 3.204580862075091e-05, + 2.8050004038959743e-05, + 2.7283397503197194e-05, + 2.7841702103614806e-05, + 2.71082972176373e-05, + 2.8316699899733067e-05, + 3.233749885112047e-05, + 2.863339614123106e-05, + 3.0958408024162055e-05, + 2.8058304451406002e-05, + 2.785840770229697e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-sdae]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "sdae" + }, + "param": "primal-scalar-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.892079789191484e-05, + "max": 8.233749540522694e-05, + "mean": 6.573228631168604e-05, + "stddev": 5.238449591321509e-06, + "rounds": 20, + "median": 6.454380345530809e-05, + "iqr": 6.01459178142249e-06, + "q1": 6.240210495889187e-05, + "q3": 6.841669674031436e-05, + "iqr_outliers": 1, + "stddev_outliers": 4, + "outliers": "4;1", + "ld15iqr": 5.892079789191484e-05, + "hd15iqr": 8.233749540522694e-05, + "ops": 15213.224065541404, + "total": 0.0013146457262337209, + "data": [ + 6.072500254958868e-05, + 5.892079789191484e-05, + 6.0645805206149817e-05, + 6.806669989600778e-05, + 6.488340441137552e-05, + 6.99708005413413e-05, + 6.387090543285013e-05, + 6.0395791660994294e-05, + 6.184580270200968e-05, + 6.95333001203835e-05, + 7.10790976881981e-05, + 6.784580182284117e-05, + 6.555829895660281e-05, + 6.408330518752337e-05, + 6.295840721577406e-05, + 6.597500760108232e-05, + 8.233749540522694e-05, + 6.876669358462096e-05, + 6.297910585999489e-05, + 6.420420249924064e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-rk4]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "rk4" + }, + "param": "primal-vector16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.462501965463161e-06, + "max": 6.175006274133921e-06, + "mean": 4.67210600618273e-06, + "stddev": 3.7056434993650155e-07, + "rounds": 20, + "median": 4.543800605461001e-06, + "iqr": 1.5210243873298202e-07, + "q1": 4.5166467316448685e-06, + "q3": 4.6687491703778505e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 4.462501965463161e-06, + "hd15iqr": 4.91670798510313e-06, + "ops": 214036.239476731, + "total": 9.34421201236546e-05, + "data": [ + 6.175006274133921e-06, + 4.91670798510313e-06, + 4.7291978262364864e-06, + 4.745903424918652e-06, + 4.687497857958079e-06, + 4.6459026634693146e-06, + 4.650000482797622e-06, + 4.583306144922972e-06, + 4.5459019020199776e-06, + 4.620803520083428e-06, + 4.51250234618783e-06, + 4.520791117101908e-06, + 4.499999340623617e-06, + 4.533398896455765e-06, + 4.50420193374157e-06, + 4.51250234618783e-06, + 4.533398896455765e-06, + 4.520895890891552e-06, + 4.541699308902025e-06, + 4.462501965463161e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-tsit5]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "tsit5" + }, + "param": "primal-vector16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.083301898092031e-06, + "max": 1.5824998263269664e-05, + "mean": 9.622705983929335e-06, + "stddev": 3.494012403271151e-06, + "rounds": 20, + "median": 7.2333554271608594e-06, + "iqr": 6.1458442360162745e-06, + "q1": 7.139553781598807e-06, + "q3": 1.3285398017615081e-05, + "iqr_outliers": 0, + "stddev_outliers": 6, + "outliers": "6;0", + "ld15iqr": 7.083301898092031e-06, + "hd15iqr": 1.5824998263269664e-05, + "ops": 103920.87232739704, + "total": 0.00019245411967858673, + "data": [ + 1.4737504534423351e-05, + 1.4316709712147713e-05, + 1.2174993753433227e-05, + 1.5479198191314934e-05, + 1.3449997641146184e-05, + 1.5824998263269664e-05, + 7.358298171311617e-06, + 7.274991367012262e-06, + 7.237505633383989e-06, + 7.229205220937729e-06, + 7.129204459488392e-06, + 7.145805284380913e-06, + 7.15409405529499e-06, + 7.120799273252487e-06, + 7.083301898092031e-06, + 7.154198829084635e-06, + 7.108307909220457e-06, + 7.1333022788167e-06, + 7.220904808491468e-06, + 1.3120798394083977e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-rodas5p]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "rodas5p" + }, + "param": "primal-vector16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.6562501918524504e-05, + "max": 5.4266699589788916e-05, + "mean": 4.201041592750698e-05, + "stddev": 4.234910923453847e-06, + "rounds": 20, + "median": 4.0545850060880186e-05, + "iqr": 4.735455149784684e-06, + "q1": 3.9472896605730054e-05, + "q3": 4.420835175551474e-05, + "iqr_outliers": 1, + "stddev_outliers": 3, + "outliers": "3;1", + "ld15iqr": 3.6562501918524504e-05, + "hd15iqr": 5.4266699589788916e-05, + "ops": 23803.620552712364, + "total": 0.0008402083185501397, + "data": [ + 5.016250070184469e-05, + 5.4266699589788916e-05, + 4.6187499538064e-05, + 4.485840909183025e-05, + 4.436250310391188e-05, + 4.0608400013297796e-05, + 4.0483300108462575e-05, + 4.0650006849318745e-05, + 4.067500121891498e-05, + 3.951250109821558e-05, + 3.959999885410071e-05, + 4.0104100480675695e-05, + 4.020410124212503e-05, + 3.8970797322690484e-05, + 3.913340624421835e-05, + 3.933330299332738e-05, + 3.6562501918524504e-05, + 3.9433292113244536e-05, + 4.104579566046596e-05, + 4.4054200407117607e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-em]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "em" + }, + "param": "primal-vector16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.5987497065216302e-05, + "max": 3.282919060438871e-05, + "mean": 2.85906222416088e-05, + "stddev": 2.3450077742530672e-06, + "rounds": 20, + "median": 2.7716654585674405e-05, + "iqr": 4.10830252803862e-06, + "q1": 2.655630232766271e-05, + "q3": 3.066460485570133e-05, + "iqr_outliers": 0, + "stddev_outliers": 6, + "outliers": "6;0", + "ld15iqr": 2.5987497065216302e-05, + "hd15iqr": 3.282919060438871e-05, + "ops": 34976.50353844589, + "total": 0.000571812444832176, + "data": [ + 2.9137509409338234e-05, + 2.877080114558339e-05, + 3.282919060438871e-05, + 3.2191700302064416e-05, + 2.9404100496321915e-05, + 2.805410185828805e-05, + 2.7175003197044134e-05, + 2.6345800142735244e-05, + 2.6887503918260335e-05, + 2.695830771699548e-05, + 2.737920731306076e-05, + 2.6529200840741397e-05, + 2.6583403814584018e-05, + 2.6341609191149475e-05, + 2.5987497065216302e-05, + 2.6116694789379836e-05, + 3.071670653298497e-05, + 3.0612503178417685e-05, + 3.2762496266514064e-05, + 3.102910704910755e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-dae]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "dae" + }, + "param": "primal-vector16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 9.264590917155147e-05, + "max": 0.00011590420035645366, + "mean": 0.00010474646056536585, + "stddev": 8.243153517056852e-06, + "rounds": 20, + "median": 0.00010715415119193493, + "iqr": 1.556254574097693e-05, + "q1": 9.610829874873161e-05, + "q3": 0.00011167084448970854, + "iqr_outliers": 0, + "stddev_outliers": 10, + "outliers": "10;0", + "ld15iqr": 9.264590917155147e-05, + "hd15iqr": 0.00011590420035645366, + "ops": 9546.86196175537, + "total": 0.002094929211307317, + "data": [ + 9.848329937085509e-05, + 9.264590917155147e-05, + 9.637080365791917e-05, + 9.975839639082551e-05, + 9.37500037252903e-05, + 9.554170537739992e-05, + 9.427500190213322e-05, + 0.00010553749743849039, + 9.584579383954406e-05, + 0.00010170829482376575, + 0.00011590420035645366, + 0.00011538750259205699, + 0.00010877080494537949, + 0.0001088749966584146, + 0.00011008329456672073, + 0.00011041670804843307, + 0.00011094169458374381, + 0.00011507080635055899, + 0.00011316250311210752, + 0.00011239999439567327 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-rodas5p_dae]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "rodas5p_dae" + }, + "param": "primal-vector16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.438749842345715e-05, + "max": 9.260410442948341e-05, + "mean": 7.23983149509877e-05, + "stddev": 7.303228463769563e-06, + "rounds": 20, + "median": 7.040415075607598e-05, + "iqr": 9.477155981585373e-06, + "q1": 6.684369873255491e-05, + "q3": 7.632085471414029e-05, + "iqr_outliers": 1, + "stddev_outliers": 4, + "outliers": "4;1", + "ld15iqr": 6.438749842345715e-05, + "hd15iqr": 9.260410442948341e-05, + "ops": 13812.476169880214, + "total": 0.001447966299019754, + "data": [ + 9.260410442948341e-05, + 7.914170855656266e-05, + 8.440829114988446e-05, + 8.007079595699907e-05, + 7.54375010728836e-05, + 6.851659854874015e-05, + 6.987500237300991e-05, + 7.093329913914204e-05, + 7.502919761464e-05, + 7.148750592023134e-05, + 6.591250421479344e-05, + 6.605829112231732e-05, + 6.626659305766224e-05, + 7.720420835539698e-05, + 7.135419873520732e-05, + 6.742080440744758e-05, + 6.847910117357969e-05, + 6.558329332619905e-05, + 6.77958014421165e-05, + 6.438749842345715e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-sdae]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "sdae" + }, + "param": "primal-vector16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00025478749303147196, + "max": 0.0002837708918377757, + "mean": 0.00026355644746217877, + "stddev": 6.3627888637509864e-06, + "rounds": 20, + "median": 0.0002630228933412582, + "iqr": 4.299997817724965e-06, + "q1": 0.00025987710105255244, + "q3": 0.0002641770988702774, + "iqr_outliers": 2, + "stddev_outliers": 4, + "outliers": "4;2", + "ld15iqr": 0.00025478749303147196, + "hd15iqr": 0.00027188749518245456, + "ops": 3794.2536015686105, + "total": 0.005271128949243575, + "data": [ + 0.0002837708918377757, + 0.00027003329014405606, + 0.0002686500083655119, + 0.0002640541992150247, + 0.0002633083960972726, + 0.0002637707977555692, + 0.0002626499976031482, + 0.0002582208020612597, + 0.0002629874972626567, + 0.0002605707966722548, + 0.0002579582971520722, + 0.0002596916980110109, + 0.00026006250409409403, + 0.00026305828941985965, + 0.0002606041030958295, + 0.0002634915988892317, + 0.000257270794827491, + 0.00025478749303147196, + 0.0002642999985255301, + 0.00027188749518245456 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-rk4]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "rk4" + }, + "param": "primal-tree16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.629099905490875e-06, + "max": 7.504201494157314e-06, + "mean": 5.817095516249538e-06, + "stddev": 4.102913109460677e-07, + "rounds": 20, + "median": 5.693797720596195e-06, + "iqr": 1.728942152112724e-07, + "q1": 5.656253779307008e-06, + "q3": 5.82914799451828e-06, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 5.629099905490875e-06, + "hd15iqr": 7.504201494157314e-06, + "ops": 171907.09645502453, + "total": 0.00011634191032499075, + "data": [ + 7.504201494157314e-06, + 5.98750775679946e-06, + 5.849997978657484e-06, + 5.849997978657484e-06, + 5.808298010379076e-06, + 5.741696804761887e-06, + 5.6916964240372184e-06, + 5.7041994296014306e-06, + 5.645910277962685e-06, + 5.708402022719384e-06, + 5.670799873769284e-06, + 5.683302879333496e-06, + 5.666702054440975e-06, + 5.666597280651331e-06, + 5.645793862640858e-06, + 5.695899017155171e-06, + 5.629099905490875e-06, + 5.633407272398472e-06, + 5.6292046792805195e-06, + 5.929195322096348e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-tsit5]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "tsit5" + }, + "param": "primal-tree16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 9.500002488493919e-06, + "max": 2.8479204047471285e-05, + "mean": 1.6068764380179347e-05, + "stddev": 7.353840569044881e-06, + "rounds": 20, + "median": 9.795842925086617e-06, + "iqr": 1.365005155093968e-05, + "q1": 9.685399709269404e-06, + "q3": 2.3335451260209084e-05, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 9.500002488493919e-06, + "hd15iqr": 2.8479204047471285e-05, + "ops": 62232.53862838947, + "total": 0.00032137528760358693, + "data": [ + 2.4429196491837503e-05, + 2.2179202642291784e-05, + 2.8479204047471285e-05, + 2.3970904294401407e-05, + 2.4387496523559093e-05, + 2.2612500470131635e-05, + 2.216249704360962e-05, + 2.339170314371586e-05, + 2.3279199376702307e-05, + 9.758397936820984e-06, + 9.791692718863487e-06, + 9.712495375424623e-06, + 9.750004392117261e-06, + 9.724998380988837e-06, + 9.500002488493919e-06, + 9.574997238814831e-06, + 9.658304043114185e-06, + 9.799993131309748e-06, + 9.61669720709324e-06, + 9.595800656825304e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-rodas5p]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "rodas5p" + }, + "param": "primal-tree16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.377090372145176e-05, + "max": 5.310830892995e-05, + "mean": 4.7171040787361566e-05, + "stddev": 2.7141545717294862e-06, + "rounds": 20, + "median": 4.772085230797529e-05, + "iqr": 4.206248559057715e-06, + "q1": 4.418750177137554e-05, + "q3": 4.839375033043325e-05, + "iqr_outliers": 0, + "stddev_outliers": 8, + "outliers": "8;0", + "ld15iqr": 4.377090372145176e-05, + "hd15iqr": 5.310830892995e-05, + "ops": 21199.447442930446, + "total": 0.0009434208157472313, + "data": [ + 4.722910234704614e-05, + 4.377090372145176e-05, + 4.377500154078007e-05, + 4.3887493666261436e-05, + 5.156659753993154e-05, + 4.470000276342034e-05, + 4.420829936861992e-05, + 4.399589961394668e-05, + 4.416670417413115e-05, + 5.310830892995e-05, + 4.812920233234763e-05, + 4.7508301213383676e-05, + 4.941249499097466e-05, + 4.814169369637966e-05, + 4.792079562321305e-05, + 4.784580087289214e-05, + 4.8604200128465894e-05, + 4.7595903743058444e-05, + 4.818330053240061e-05, + 4.967080894857645e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-em]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "em" + }, + "param": "primal-tree16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.527079243212938e-05, + "max": 5.077499663457275e-05, + "mean": 3.914707573130727e-05, + "stddev": 4.177955488309468e-06, + "rounds": 20, + "median": 3.7593755405396226e-05, + "iqr": 4.6020490117371e-06, + "q1": 3.616250469349325e-05, + "q3": 4.076455370523035e-05, + "iqr_outliers": 1, + "stddev_outliers": 3, + "outliers": "3;1", + "ld15iqr": 3.527079243212938e-05, + "hd15iqr": 5.077499663457275e-05, + "ops": 25544.692197794622, + "total": 0.0007829415146261454, + "data": [ + 5.077499663457275e-05, + 4.7066702973097566e-05, + 4.03708079829812e-05, + 3.900409210473299e-05, + 3.565000370144844e-05, + 3.612090367823839e-05, + 3.6829104647040364e-05, + 4.465830279514194e-05, + 4.11582994274795e-05, + 4.218749236315489e-05, + 3.8870901335030794e-05, + 3.8137496449053285e-05, + 3.726250724866986e-05, + 3.792500356212258e-05, + 3.588330000638962e-05, + 3.636670298874378e-05, + 3.6204105708748105e-05, + 3.714580088853836e-05, + 3.605419769883156e-05, + 3.527079243212938e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-dae]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "dae" + }, + "param": "primal-tree16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00011600409634411335, + "max": 0.00017395000904798507, + "mean": 0.00012718375539407133, + "stddev": 1.3741414735406336e-05, + "rounds": 20, + "median": 0.00012270834995433688, + "iqr": 1.0310451034456502e-05, + "q1": 0.00011930000036954879, + "q3": 0.0001296104514040053, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 0.00011600409634411335, + "hd15iqr": 0.00014984579756855966, + "ops": 7862.639351240724, + "total": 0.002543675107881427, + "data": [ + 0.00017395000904798507, + 0.00012997500598430634, + 0.0001373582985252142, + 0.00014984579756855966, + 0.00012924589682370425, + 0.00012007090263068675, + 0.00012437499826774002, + 0.00012002079747617245, + 0.00012100419262424111, + 0.00012412089854478835, + 0.0001212333096191287, + 0.00012230840511620044, + 0.0001287665916606784, + 0.0001231082947924733, + 0.00011857920326292515, + 0.000116154202260077, + 0.00013245000736787914, + 0.00011852500028908253, + 0.00011657919967547059, + 0.00011600409634411335 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-rodas5p_dae]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "rodas5p_dae" + }, + "param": "primal-tree16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.111660670489073e-05, + "max": 0.00010998750803992152, + "mean": 7.901687233243138e-05, + "stddev": 8.951056365030202e-06, + "rounds": 20, + "median": 7.691665086895227e-05, + "iqr": 5.945854354649782e-06, + "q1": 7.393329869955778e-05, + "q3": 7.987915305420756e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 7.111660670489073e-05, + "hd15iqr": 9.480000007897616e-05, + "ops": 12655.524959187278, + "total": 0.0015803374466486276, + "data": [ + 0.00010998750803992152, + 8.443340193480253e-05, + 7.366659119725227e-05, + 7.588750449940562e-05, + 7.437500171363354e-05, + 7.420000620186328e-05, + 7.885000668466091e-05, + 7.344159530475736e-05, + 7.111660670489073e-05, + 7.752090459689498e-05, + 8.022499969229102e-05, + 7.740000728517771e-05, + 7.468750700354577e-05, + 7.665000157430768e-05, + 7.718330016359687e-05, + 8.03374918177724e-05, + 9.480000007897616e-05, + 7.953330641612411e-05, + 7.285840110853315e-05, + 7.318330463021994e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-sdae]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "sdae" + }, + "param": "primal-tree16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0002733667031861842, + "max": 0.0002968417014926672, + "mean": 0.0002821424993453547, + "stddev": 6.22152780391279e-06, + "rounds": 20, + "median": 0.00028174584731459617, + "iqr": 6.999995093792623e-06, + "q1": 0.0002778895548544824, + "q3": 0.00028488954994827505, + "iqr_outliers": 2, + "stddev_outliers": 4, + "outliers": "4;2", + "ld15iqr": 0.0002733667031861842, + "hd15iqr": 0.00029656669357791543, + "ops": 3544.30829215827, + "total": 0.005642849986907094, + "data": [ + 0.00029656669357791543, + 0.00028212920296937226, + 0.0002968417014926672, + 0.0002871083910576999, + 0.0002818249980919063, + 0.00027764160186052325, + 0.0002792458049952984, + 0.00028571659931913017, + 0.0002799208043143153, + 0.0002822750015184283, + 0.0002781375078484416, + 0.000282641698140651, + 0.00028406250057742, + 0.00028166669653728604, + 0.00027737499913200737, + 0.0002776374923996627, + 0.0002733667031861842, + 0.0002735665999352932, + 0.0002789541962556541, + 0.00028617079369723796 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-rk4]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "rk4" + }, + "param": "jvp-scalar-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.324999801814556e-06, + "max": 7.3291943408548835e-06, + "mean": 5.696864682249725e-06, + "stddev": 5.484707788784506e-07, + "rounds": 20, + "median": 5.489552859216929e-06, + "iqr": 3.166962414979928e-07, + "q1": 5.370803410187364e-06, + "q3": 5.687499651685357e-06, + "iqr_outliers": 3, + "stddev_outliers": 2, + "outliers": "2;3", + "ld15iqr": 5.324999801814556e-06, + "hd15iqr": 6.204098463058472e-06, + "ops": 175535.15060938644, + "total": 0.0001139372936449945, + "data": [ + 7.3291943408548835e-06, + 5.687493830919265e-06, + 5.554105155169964e-06, + 5.862500984221697e-06, + 5.425000563263893e-06, + 5.387503188103438e-06, + 5.620799493044615e-06, + 5.36659499630332e-06, + 5.6791934184730055e-06, + 6.983301136642694e-06, + 5.324999801814556e-06, + 5.687505472451449e-06, + 6.204098463058472e-06, + 5.637493450194597e-06, + 5.375000182539225e-06, + 5.375000182539225e-06, + 5.337491165846586e-06, + 5.345907993614674e-06, + 5.366606637835503e-06, + 5.387503188103438e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-tsit5]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "tsit5" + }, + "param": "jvp-scalar-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 8.708296809345483e-06, + "max": 2.4154200218617916e-05, + "mean": 1.0988749563694e-05, + "stddev": 3.838031079689947e-06, + "rounds": 20, + "median": 9.47705120779574e-06, + "iqr": 2.9978982638567686e-06, + "q1": 8.808349957689642e-06, + "q3": 1.180624822154641e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 8.708296809345483e-06, + "hd15iqr": 1.7916702199727295e-05, + "ops": 91002.16491455266, + "total": 0.00021977499127388, + "data": [ + 1.7916702199727295e-05, + 2.4154200218617916e-05, + 1.1224998161196709e-05, + 9.650003630667924e-06, + 9.39160818234086e-06, + 9.674998000264168e-06, + 1.3229192700237035e-05, + 9.562494233250618e-06, + 9.191595017910003e-06, + 9.075005073100328e-06, + 9.391596540808677e-06, + 1.2387498281896115e-05, + 1.2579199392348528e-05, + 9.870901703834533e-06, + 8.816702757030725e-06, + 8.79999715834856e-06, + 8.729193359613418e-06, + 8.708296809345483e-06, + 8.708308450877667e-06, + 8.712499402463436e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-rodas5p]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "rodas5p" + }, + "param": "jvp-scalar-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.8000003658235074e-05, + "max": 4.770000232383609e-05, + "mean": 3.2435411121696233e-05, + "stddev": 5.3704525848356484e-06, + "rounds": 20, + "median": 3.0029151821509005e-05, + "iqr": 6.214604945853351e-06, + "q1": 2.8760399436578156e-05, + "q3": 3.497500438243151e-05, + "iqr_outliers": 1, + "stddev_outliers": 4, + "outliers": "4;1", + "ld15iqr": 2.8000003658235074e-05, + "hd15iqr": 4.770000232383609e-05, + "ops": 30830.501770057548, + "total": 0.0006487082224339247, + "data": [ + 4.071670118719339e-05, + 4.770000232383609e-05, + 3.8479198701679705e-05, + 3.042080206796527e-05, + 3.429580247029662e-05, + 2.994580427184701e-05, + 2.8000003658235074e-05, + 2.8975005261600017e-05, + 3.104580100625754e-05, + 2.8604199178516866e-05, + 2.8187502175569533e-05, + 2.820409135892987e-05, + 2.828330034390092e-05, + 2.976669929921627e-05, + 2.9537500813603403e-05, + 3.2283295877277854e-05, + 3.957920707762241e-05, + 3.565420629456639e-05, + 3.0112499371170997e-05, + 2.8916599694639446e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-em]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "em" + }, + "param": "jvp-scalar-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.287502426654101e-06, + "max": 8.904095739126206e-06, + "mean": 5.649172235280275e-06, + "stddev": 7.752155852582393e-07, + "rounds": 20, + "median": 5.4520962294191115e-06, + "iqr": 1.4164834283292294e-07, + "q1": 5.3978990763425825e-06, + "q3": 5.5395474191755055e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 5.287502426654101e-06, + "hd15iqr": 5.770800635218621e-06, + "ops": 177017.08468982208, + "total": 0.00011298344470560551, + "data": [ + 8.904095739126206e-06, + 5.724991206079722e-06, + 5.624990444630385e-06, + 5.483394488692284e-06, + 5.770800635218621e-06, + 5.5084004998207096e-06, + 5.512498319149017e-06, + 5.4791918955743315e-06, + 5.454197525978088e-06, + 5.566596519201994e-06, + 5.4167001508176325e-06, + 5.366699770092964e-06, + 5.395803600549698e-06, + 5.433300975710153e-06, + 5.399994552135467e-06, + 5.449994932860136e-06, + 5.287502426654101e-06, + 5.383405368775129e-06, + 5.433394107967615e-06, + 5.387491546571254e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-dae]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "dae" + }, + "param": "jvp-scalar-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.068340010941029e-05, + "max": 4.908329574391246e-05, + "mean": 3.3116244594566524e-05, + "stddev": 3.983562936923278e-06, + "rounds": 20, + "median": 3.19437007419765e-05, + "iqr": 1.5354016795754433e-06, + "q1": 3.140000044368207e-05, + "q3": 3.293540212325751e-05, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 3.068340010941029e-05, + "hd15iqr": 3.549590473994613e-05, + "ops": 30196.660649259513, + "total": 0.0006623248918913305, + "data": [ + 3.549590473994613e-05, + 3.2020802609622476e-05, + 3.186659887433052e-05, + 3.17332916893065e-05, + 3.15292039886117e-05, + 3.279580269008875e-05, + 3.133750287815928e-05, + 3.3075001556426284e-05, + 3.204169915989041e-05, + 3.068340010941029e-05, + 3.2374996226280925e-05, + 3.449169453233481e-05, + 3.129999386146665e-05, + 3.506659995764494e-05, + 4.908329574391246e-05, + 3.15624987706542e-05, + 3.146249800920486e-05, + 3.1100003980100155e-05, + 3.125410294160247e-05, + 3.2049999572336676e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-rodas5p_dae]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "rodas5p_dae" + }, + "param": "jvp-scalar-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.5291595850139856e-05, + "max": 5.799999926239252e-05, + "mean": 4.3682917021214965e-05, + "stddev": 5.908231216947939e-06, + "rounds": 20, + "median": 4.415209987200797e-05, + "iqr": 6.570899859070782e-06, + "q1": 3.9466650923714036e-05, + "q3": 4.603755078278482e-05, + "iqr_outliers": 1, + "stddev_outliers": 7, + "outliers": "7;1", + "ld15iqr": 3.5291595850139856e-05, + "hd15iqr": 5.799999926239252e-05, + "ops": 22892.24411259765, + "total": 0.0008736583404242992, + "data": [ + 5.799999926239252e-05, + 5.094170337542892e-05, + 4.959580255672336e-05, + 4.299581050872803e-05, + 4.063340602442622e-05, + 3.611251013353467e-05, + 4.0054100099951026e-05, + 3.5291595850139856e-05, + 4.021669737994671e-05, + 4.6379200648516415e-05, + 5.20208035595715e-05, + 4.4504099059849976e-05, + 4.482499789446592e-05, + 4.43084049038589e-05, + 4.569590091705322e-05, + 4.399579484015703e-05, + 3.5558303352445364e-05, + 3.8041698280721904e-05, + 3.887920174747705e-05, + 4.560831002891064e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-sdae]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "sdae" + }, + "param": "jvp-scalar-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.289160275831818e-05, + "max": 9.419999551028014e-05, + "mean": 8.03689513122663e-05, + "stddev": 5.377562171670637e-06, + "rounds": 20, + "median": 7.998330402188003e-05, + "iqr": 8.385395631194128e-06, + "q1": 7.554375333711504e-05, + "q3": 8.392914896830917e-05, + "iqr_outliers": 0, + "stddev_outliers": 6, + "outliers": "6;0", + "ld15iqr": 7.289160275831818e-05, + "hd15iqr": 9.419999551028014e-05, + "ops": 12442.616006206059, + "total": 0.0016073790262453257, + "data": [ + 7.792910328134895e-05, + 8.269170066341758e-05, + 7.530000293627381e-05, + 7.68125057220459e-05, + 8.645839989185333e-05, + 8.37499974295497e-05, + 8.495000656694174e-05, + 8.294170256704093e-05, + 8.410830050706864e-05, + 8.352500153705478e-05, + 8.451660396531224e-05, + 7.578750373795628e-05, + 7.494579767808318e-05, + 7.826249347999691e-05, + 8.125000167638063e-05, + 9.419999551028014e-05, + 7.871660636737943e-05, + 7.439999608322978e-05, + 7.289160275831818e-05, + 7.394170388579369e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-rk4]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "rk4" + }, + "param": "jvp-vector16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.770800635218621e-06, + "max": 7.825007196515799e-06, + "mean": 6.208125269040465e-06, + "stddev": 5.791388416008729e-07, + "rounds": 20, + "median": 5.949998740106822e-06, + "iqr": 5.915877409279343e-07, + "q1": 5.8292062021791935e-06, + "q3": 6.420793943107128e-06, + "iqr_outliers": 2, + "stddev_outliers": 3, + "outliers": "3;2", + "ld15iqr": 5.770800635218621e-06, + "hd15iqr": 7.362500764429569e-06, + "ops": 161079.22386600956, + "total": 0.0001241625053808093, + "data": [ + 7.362500764429569e-06, + 6.108300294727087e-06, + 5.975004751235247e-06, + 6.0042017139494416e-06, + 5.924992728978396e-06, + 5.899998359382152e-06, + 5.854200571775436e-06, + 5.825003609061241e-06, + 6.125005893409252e-06, + 5.837494973093271e-06, + 5.833408795297146e-06, + 5.8042001910507676e-06, + 5.779101047664881e-06, + 6.974989082664251e-06, + 6.599992047995329e-06, + 5.770800635218621e-06, + 5.8167031966149805e-06, + 6.2415958382189276e-06, + 6.6000036895275114e-06, + 7.825007196515799e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-tsit5]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "tsit5" + }, + "param": "jvp-vector16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 8.462497498840094e-06, + "max": 2.4245795793831347e-05, + "mean": 1.5001053106971085e-05, + "stddev": 6.085885432567006e-06, + "rounds": 20, + "median": 1.2114597484469414e-05, + "iqr": 1.2689549475908282e-05, + "q1": 9.622948709875345e-06, + "q3": 2.2312498185783627e-05, + "iqr_outliers": 0, + "stddev_outliers": 7, + "outliers": "7;0", + "ld15iqr": 8.462497498840094e-06, + "hd15iqr": 2.4245795793831347e-05, + "ops": 66661.98651981931, + "total": 0.0003000210621394217, + "data": [ + 2.2491696290671827e-05, + 1.3574992772191763e-05, + 9.829201735556125e-06, + 9.55420546233654e-06, + 9.416695684194565e-06, + 1.0545901022851468e-05, + 9.400001727044582e-06, + 9.354192297905683e-06, + 1.0474992450326681e-05, + 9.69169195741415e-06, + 1.4479190576821566e-05, + 1.68041093274951e-05, + 1.8870900385081767e-05, + 2.2133300080895425e-05, + 2.4245795793831347e-05, + 2.288329415023327e-05, + 2.3083307314664126e-05, + 2.407089341431856e-05, + 1.0654202196747064e-05, + 8.462497498840094e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-rodas5p]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "rodas5p" + }, + "param": "jvp-vector16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.842499133199453e-05, + "max": 0.00010114159667864441, + "mean": 7.532062358222902e-05, + "stddev": 6.901977907005379e-06, + "rounds": 20, + "median": 7.406035438179971e-05, + "iqr": 4.356255521997804e-06, + "q1": 7.130834273993969e-05, + "q3": 7.56645982619375e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 6.842499133199453e-05, + "hd15iqr": 0.00010114159667864441, + "ops": 13276.576220963972, + "total": 0.0015064124716445803, + "data": [ + 0.00010114159667864441, + 7.49915954656899e-05, + 7.80791975557804e-05, + 7.932919543236494e-05, + 7.584999548271298e-05, + 7.04415957443416e-05, + 6.842499133199453e-05, + 7.392090046778321e-05, + 7.416660664603115e-05, + 7.365000201389193e-05, + 7.521669613197446e-05, + 7.395410211756826e-05, + 7.367499638348818e-05, + 7.449580589309334e-05, + 7.547920104116202e-05, + 7.175419013947249e-05, + 7.086249534040689e-05, + 6.935000419616699e-05, + 7.020840421319008e-05, + 8.142089936882257e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-em]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "em" + }, + "param": "jvp-vector16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.4908310044556853e-05, + "max": 5.202919710427523e-05, + "mean": 3.790980379562825e-05, + "stddev": 3.828969156710225e-06, + "rounds": 20, + "median": 3.667295095510781e-05, + "iqr": 2.7520989533513757e-06, + "q1": 3.593539586290717e-05, + "q3": 3.868749481625855e-05, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 3.4908310044556853e-05, + "hd15iqr": 5.202919710427523e-05, + "ops": 26378.40083243374, + "total": 0.000758196075912565, + "data": [ + 5.202919710427523e-05, + 4.064589738845825e-05, + 4.239159170538187e-05, + 3.6349997390061614e-05, + 3.640420036390424e-05, + 3.626670222729444e-05, + 3.8662494625896214e-05, + 3.871249500662088e-05, + 3.627919359132648e-05, + 3.694170154631138e-05, + 3.701669629663229e-05, + 3.71042056940496e-05, + 3.4908310044556853e-05, + 3.5691598895937204e-05, + 3.5500002559274436e-05, + 3.547500818967819e-05, + 3.779589897021651e-05, + 3.8837501779198644e-05, + 3.500418970361352e-05, + 3.617919282987714e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-dae]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "dae" + }, + "param": "jvp-vector16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00014631659723818302, + "max": 0.00016110839787870647, + "mean": 0.00015089208027347923, + "stddev": 4.118572833915003e-06, + "rounds": 20, + "median": 0.00015003125299699603, + "iqr": 6.200041389092798e-06, + "q1": 0.00014761455240659417, + "q3": 0.00015381459379568697, + "iqr_outliers": 0, + "stddev_outliers": 7, + "outliers": "7;0", + "ld15iqr": 0.00014631659723818302, + "hd15iqr": 0.00016110839787870647, + "ops": 6627.253055213925, + "total": 0.0030178416054695845, + "data": [ + 0.00016110839787870647, + 0.0001465250039473176, + 0.00015032080700621008, + 0.0001542166923172772, + 0.00015635000308975578, + 0.00015341249527409673, + 0.0001485208049416542, + 0.0001488707959651947, + 0.00015134169952943922, + 0.0001570124994032085, + 0.00014974999940022826, + 0.000148058298509568, + 0.00015031250659376384, + 0.0001488375011831522, + 0.00014659579610452056, + 0.00015042920131236315, + 0.00014709169045090675, + 0.00014631659723818302, + 0.00014717080630362035, + 0.00015560000902041792 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-rodas5p_dae]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "rodas5p_dae" + }, + "param": "jvp-vector16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 9.415419772267342e-05, + "max": 0.0001221165992319584, + "mean": 0.0001030141644878313, + "stddev": 8.53969118116273e-06, + "rounds": 20, + "median": 0.00010162294493056833, + "iqr": 1.0274950182065357e-05, + "q1": 9.610420092940331e-05, + "q3": 0.00010637915111146867, + "iqr_outliers": 1, + "stddev_outliers": 4, + "outliers": "4;1", + "ld15iqr": 9.415419772267342e-05, + "hd15iqr": 0.0001221165992319584, + "ops": 9707.402908831305, + "total": 0.002060283289756626, + "data": [ + 0.0001221165992319584, + 0.00010462920181453228, + 0.00010878749890252948, + 0.00010812910040840507, + 0.00012152499984949828, + 0.00010288329795002938, + 9.626669343560934e-05, + 9.531250689178705e-05, + 9.787080343812705e-05, + 9.76625015027821e-05, + 9.415419772267342e-05, + 0.00010185829596593976, + 0.00010408749803900719, + 9.516249410808086e-05, + 9.847080800682307e-05, + 0.00010153339244425296, + 9.560419712215663e-05, + 9.594170842319727e-05, + 0.0001017124974168837, + 0.00011657499708235264 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-sdae]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "sdae" + }, + "param": "jvp-vector16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0003644209005869925, + "max": 0.0003953290986828506, + "mean": 0.0003758697758894414, + "stddev": 8.771198447966958e-06, + "rounds": 20, + "median": 0.0003740187501534819, + "iqr": 9.585398947820089e-06, + "q1": 0.0003699645516462624, + "q3": 0.0003795499505940825, + "iqr_outliers": 1, + "stddev_outliers": 6, + "outliers": "6;1", + "ld15iqr": 0.0003644209005869925, + "hd15iqr": 0.0003953290986828506, + "ops": 2660.4959061516583, + "total": 0.007517395517788827, + "data": [ + 0.00037955830339342356, + 0.0003895165980793536, + 0.0003953290986828506, + 0.0003703541005961597, + 0.00037008330691605805, + 0.0003795415977947414, + 0.0003857667092233896, + 0.0003721832996234298, + 0.0003755666082724929, + 0.0003768541035242379, + 0.00036984579637646677, + 0.0003758167033083737, + 0.000374866696074605, + 0.0003644209005869925, + 0.0003919334034435451, + 0.0003718332969583571, + 0.00036714590387418864, + 0.000367983290925622, + 0.00036562499590218065, + 0.0003731708042323589 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-rk4]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "rk4" + }, + "param": "jvp-tree16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.358391303569078e-06, + "max": 1.0220799595117569e-05, + "mean": 7.881049532443285e-06, + "stddev": 8.0175709720026e-07, + "rounds": 20, + "median": 7.447903044521809e-06, + "iqr": 6.625428795814519e-07, + "q1": 7.39375245757401e-06, + "q3": 8.056295337155462e-06, + "iqr_outliers": 3, + "stddev_outliers": 3, + "outliers": "3;3", + "ld15iqr": 7.358391303569078e-06, + "hd15iqr": 9.145797230303288e-06, + "ops": 126886.65334272804, + "total": 0.0001576209906488657, + "data": [ + 1.0220799595117569e-05, + 8.041691035032273e-06, + 8.287501987069846e-06, + 7.83749856054783e-06, + 8.07089963927865e-06, + 9.145797230303288e-06, + 7.533305324614048e-06, + 7.458298932760954e-06, + 7.716694381088018e-06, + 7.437507156282663e-06, + 9.366706945002078e-06, + 7.4166920967400076e-06, + 7.4249925091862675e-06, + 7.4000097811222075e-06, + 7.399998139590025e-06, + 7.370905950665474e-06, + 7.358391303569078e-06, + 7.3875067755579945e-06, + 7.37910158932209e-06, + 7.366691716015339e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-tsit5]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "tsit5" + }, + "param": "jvp-tree16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 1.6575003974139692e-05, + "max": 3.1095801386982205e-05, + "mean": 2.7565195341594518e-05, + "stddev": 2.931259478141053e-06, + "rounds": 20, + "median": 2.7408351888880135e-05, + "iqr": 2.2145570255815976e-06, + "q1": 2.7058343403041362e-05, + "q3": 2.927290042862296e-05, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 2.6295799762010576e-05, + "hd15iqr": 3.1095801386982205e-05, + "ops": 36277.631542521645, + "total": 0.0005513039068318903, + "data": [ + 2.8537504840642212e-05, + 2.7141603641211987e-05, + 2.7137494180351494e-05, + 3.0045793391764163e-05, + 1.6575003974139692e-05, + 2.7087493799626826e-05, + 2.6604102458804846e-05, + 2.7970806695520877e-05, + 2.745420206338167e-05, + 2.6995805092155935e-05, + 2.6295799762010576e-05, + 2.7249997947365047e-05, + 2.7029193006455898e-05, + 2.8066697996109725e-05, + 2.964170416817069e-05, + 2.9408303089439868e-05, + 3.1095801386982205e-05, + 2.9137497767806055e-05, + 2.7362501714378596e-05, + 3.0466599855571986e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-rodas5p]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "rodas5p" + }, + "param": "jvp-tree16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.584170671179891e-05, + "max": 9.805409936234356e-05, + "mean": 7.985041127540172e-05, + "stddev": 5.3097699893701295e-06, + "rounds": 20, + "median": 7.864999934099614e-05, + "iqr": 4.1937513742595965e-06, + "q1": 7.659579860046505e-05, + "q3": 8.078954997472464e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 7.584170671179891e-05, + "hd15iqr": 8.958750404417515e-05, + "ops": 12523.417024754319, + "total": 0.0015970082255080341, + "data": [ + 9.805409936234356e-05, + 8.112499490380287e-05, + 7.652080385014414e-05, + 8.171250810846686e-05, + 8.136670803651213e-05, + 7.922080112621188e-05, + 7.880829507485032e-05, + 7.849170360714197e-05, + 7.909169653430581e-05, + 8.045410504564643e-05, + 7.669590413570405e-05, + 7.927499245852232e-05, + 7.609999738633633e-05, + 7.584170671179891e-05, + 7.846660446375608e-05, + 8.958750404417515e-05, + 7.596249924972654e-05, + 7.720000576227903e-05, + 7.636250229552388e-05, + 7.667079335078597e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-em]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "em" + }, + "param": "jvp-tree16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.757079830393195e-05, + "max": 5.484999855980277e-05, + "mean": 4.2689783731475474e-05, + "stddev": 5.15410241997115e-06, + "rounds": 20, + "median": 4.078334895893932e-05, + "iqr": 4.935404285788535e-06, + "q1": 3.917084541171789e-05, + "q3": 4.4106249697506426e-05, + "iqr_outliers": 3, + "stddev_outliers": 3, + "outliers": "3;3", + "ld15iqr": 3.757079830393195e-05, + "hd15iqr": 5.220829043537378e-05, + "ops": 23424.80829348154, + "total": 0.0008537956746295094, + "data": [ + 5.4012506734579804e-05, + 4.434159491211176e-05, + 4.17709001339972e-05, + 4.036249592900276e-05, + 4.0008302312344314e-05, + 3.8949993904680016e-05, + 4.120420198887587e-05, + 5.484999855980277e-05, + 4.4062500819563866e-05, + 4.414999857544899e-05, + 4.147919826209545e-05, + 4.029580159112811e-05, + 3.8491596933454274e-05, + 3.863750025629997e-05, + 3.757079830393195e-05, + 3.886249614879489e-05, + 3.939169691875577e-05, + 3.981250338256359e-05, + 5.220829043537378e-05, + 4.333329852670431e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-dae]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "dae" + }, + "param": "jvp-tree16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00017891660099849104, + "max": 0.00021198750473558903, + "mean": 0.00019135020498652012, + "stddev": 8.381266100965046e-06, + "rounds": 20, + "median": 0.00018935624393634498, + "iqr": 7.26045691408218e-06, + "q1": 0.00018640204798430203, + "q3": 0.0001936625048983842, + "iqr_outliers": 2, + "stddev_outliers": 6, + "outliers": "6;2", + "ld15iqr": 0.00017891660099849104, + "hd15iqr": 0.0002085499931126833, + "ops": 5226.02000907418, + "total": 0.003827004099730402, + "data": [ + 0.00019580000080168247, + 0.00019152500899508596, + 0.0002085499931126833, + 0.00018773750634863972, + 0.00021198750473558903, + 0.0001909416983835399, + 0.00018617080058902502, + 0.00018637499306350946, + 0.00018819579854607583, + 0.00018418749095872045, + 0.00020043749827891588, + 0.00018785420106723905, + 0.00020037090871483088, + 0.00019051668932661413, + 0.00019062500214204193, + 0.00018642910290509463, + 0.0001880957977846265, + 0.00018134580459445716, + 0.00017891660099849104, + 0.0001909416983835399 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-rodas5p_dae]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "rodas5p_dae" + }, + "param": "jvp-tree16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00013351250672712922, + "max": 0.00015568750677630305, + "mean": 0.0001390206324867904, + "stddev": 6.399613686496689e-06, + "rounds": 20, + "median": 0.00013637710362672805, + "iqr": 4.539650399237904e-06, + "q1": 0.00013529370189644394, + "q3": 0.00013983335229568185, + "iqr_outliers": 3, + "stddev_outliers": 3, + "outliers": "3;3", + "ld15iqr": 0.00013351250672712922, + "hd15iqr": 0.00014770420966669917, + "ops": 7193.176883978131, + "total": 0.0027804126497358085, + "data": [ + 0.00015568750677630305, + 0.00015480000292882322, + 0.00014106250600889325, + 0.00013543330132961273, + 0.00013655420625582337, + 0.00013435829896479845, + 0.0001351292012259364, + 0.00014002920361235737, + 0.0001367583987303078, + 0.00013572920579463243, + 0.00013620000099763275, + 0.0001396375009790063, + 0.00013351250672712922, + 0.0001341374940238893, + 0.00014770420966669917, + 0.00013515410246327518, + 0.00013614170020446182, + 0.00013757500564679504, + 0.0001356832915917039, + 0.00013912500580772757 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-sdae]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "sdae" + }, + "param": "jvp-tree16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00038741249591112137, + "max": 0.00042629160452634096, + "mean": 0.00040213957079686223, + "stddev": 1.2424980972453423e-05, + "rounds": 20, + "median": 0.0003973353945184499, + "iqr": 1.9602099200710654e-05, + "q1": 0.00039281455101445315, + "q3": 0.0004124166502151638, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.00038741249591112137, + "hd15iqr": 0.00042629160452634096, + "ops": 2486.6988295094748, + "total": 0.008042791415937245, + "data": [ + 0.0004121582955121994, + 0.00041267500491812823, + 0.0004127458087168634, + 0.0003927040961571038, + 0.0003930249949917197, + 0.0003998707979917526, + 0.00042479999829083683, + 0.0004032334079965949, + 0.00038741249591112137, + 0.0003904083045199513, + 0.00042287500109523536, + 0.0003911416046321392, + 0.0003929250058718026, + 0.00039040420670062305, + 0.00040607498958706857, + 0.0003934707958251238, + 0.0004014500067569315, + 0.0003947999910451472, + 0.00042629160452634096, + 0.0003943250048905611 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-rk4]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "rk4" + }, + "param": "vjp-scalar-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.170900840312242e-06, + "max": 7.316609844565391e-06, + "mean": 5.7333259610459205e-06, + "stddev": 5.794750244295423e-07, + "rounds": 20, + "median": 5.516648525372148e-06, + "iqr": 7.374444976449011e-07, + "q1": 5.28335222043097e-06, + "q3": 6.0207967180758715e-06, + "iqr_outliers": 1, + "stddev_outliers": 3, + "outliers": "3;1", + "ld15iqr": 5.170900840312242e-06, + "hd15iqr": 7.316609844565391e-06, + "ops": 174418.82893007042, + "total": 0.00011466651922091842, + "data": [ + 6.737501826137304e-06, + 5.462497938424349e-06, + 5.620799493044615e-06, + 5.312496796250343e-06, + 5.287502426654101e-06, + 5.27920201420784e-06, + 6.066588684916496e-06, + 5.975004751235247e-06, + 5.433300975710153e-06, + 5.170900840312242e-06, + 6.479211151599884e-06, + 5.849997978657484e-06, + 7.316609844565391e-06, + 5.841604433953762e-06, + 5.570799112319947e-06, + 5.237502045929432e-06, + 6.150000263005495e-06, + 5.362497176975012e-06, + 5.237502045929432e-06, + 5.274999421089888e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-tsit5]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "tsit5" + }, + "param": "vjp-scalar-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 1.9529100973159076e-05, + "max": 2.975419629365206e-05, + "mean": 2.412476984318346e-05, + "stddev": 3.241327706255408e-06, + "rounds": 20, + "median": 2.4291599402204156e-05, + "iqr": 6.122910417616367e-06, + "q1": 2.0520848920568824e-05, + "q3": 2.664375933818519e-05, + "iqr_outliers": 0, + "stddev_outliers": 11, + "outliers": "11;0", + "ld15iqr": 1.9529100973159076e-05, + "hd15iqr": 2.975419629365206e-05, + "ops": 41451.172653676265, + "total": 0.00048249539686366915, + "data": [ + 2.5575002655386925e-05, + 2.056249650195241e-05, + 2.0412495359778404e-05, + 2.0479201339185238e-05, + 2.7454097289592027e-05, + 2.7750001754611732e-05, + 2.4520792067050934e-05, + 2.9091606847941875e-05, + 2.702081110328436e-05, + 2.426659921184182e-05, + 2.3975002113729717e-05, + 2.431659959256649e-05, + 2.6266707573086022e-05, + 2.975419629365206e-05, + 2.603749744594097e-05, + 2.3941602557897566e-05, + 2.0445790141820908e-05, + 1.9529100973159076e-05, + 2.044580178335309e-05, + 2.0649994257837535e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-rodas5p]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "rodas5p" + }, + "param": "vjp-scalar-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.49625076726079e-05, + "max": 5.5108405649662015e-05, + "mean": 4.820541944354773e-05, + "stddev": 2.576559783567752e-06, + "rounds": 20, + "median": 4.7495850594714284e-05, + "iqr": 2.1332991309463937e-06, + "q1": 4.6775001101195814e-05, + "q3": 4.890830023214221e-05, + "iqr_outliers": 3, + "stddev_outliers": 5, + "outliers": "5;3", + "ld15iqr": 4.49625076726079e-05, + "hd15iqr": 5.23374998010695e-05, + "ops": 20744.555519760124, + "total": 0.0009641083888709545, + "data": [ + 4.697500262409449e-05, + 4.496669862419367e-05, + 5.252499831840396e-05, + 4.7604204155504704e-05, + 4.989999579265714e-05, + 5.5108405649662015e-05, + 4.8216700088232754e-05, + 4.810419632121921e-05, + 4.789999220520258e-05, + 4.657499957829714e-05, + 4.854579456150532e-05, + 4.731660010293126e-05, + 4.92708059027791e-05, + 4.611659096553922e-05, + 4.7025003004819156e-05, + 4.7387497033923864e-05, + 5.23374998010695e-05, + 4.5987498015165326e-05, + 4.728339845314622e-05, + 4.49625076726079e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-em]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "em" + }, + "param": "vjp-scalar-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.308395389467478e-06, + "max": 6.495893467217684e-06, + "mean": 3.5477004712447523e-06, + "stddev": 6.99775856019827e-07, + "rounds": 20, + "median": 3.3583026379346846e-06, + "iqr": 1.1249794624745829e-07, + "q1": 3.335403744131327e-06, + "q3": 3.447901690378785e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 3.308395389467478e-06, + "hd15iqr": 3.6624958738684653e-06, + "ops": 281872.72519349365, + "total": 7.095400942489505e-05, + "data": [ + 6.495893467217684e-06, + 3.6624958738684653e-06, + 3.4832977689802646e-06, + 3.4541008062660694e-06, + 3.441702574491501e-06, + 3.4208991564810275e-06, + 3.3708056434988976e-06, + 3.3541000448167324e-06, + 3.362505231052637e-06, + 3.3666030503809454e-06, + 3.345799632370472e-06, + 3.308395389467478e-06, + 3.3500022254884242e-06, + 3.3499905839562417e-06, + 3.316707443445921e-06, + 3.3124932087957857e-06, + 3.3291056752204894e-06, + 3.5583041608333586e-06, + 3.3374992199242117e-06, + 3.333308268338442e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-dae]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "dae" + }, + "param": "vjp-scalar-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.916659090667963e-05, + "max": 6.009580101817846e-05, + "mean": 5.300978955347091e-05, + "stddev": 2.6235341443392767e-06, + "rounds": 20, + "median": 5.297085153870285e-05, + "iqr": 2.331251744180923e-06, + "q1": 5.1764596719294786e-05, + "q3": 5.409584846347571e-05, + "iqr_outliers": 2, + "stddev_outliers": 6, + "outliers": "6;2", + "ld15iqr": 4.916659090667963e-05, + "hd15iqr": 5.776250036433339e-05, + "ops": 18864.440104809342, + "total": 0.0010601957910694182, + "data": [ + 5.228749942034483e-05, + 4.944999236613512e-05, + 5.1879195962101224e-05, + 5.003330297768116e-05, + 4.916659090667963e-05, + 5.4800009820610285e-05, + 5.0012499559670684e-05, + 5.302500212565064e-05, + 5.4266699589788916e-05, + 5.3104199469089505e-05, + 5.189999938011169e-05, + 5.438330117613077e-05, + 5.321250064298511e-05, + 5.284999497234821e-05, + 5.164999747648835e-05, + 5.291670095175505e-05, + 5.776250036433339e-05, + 6.009580101817846e-05, + 5.3924997337162496e-05, + 5.347500555217266e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-rodas5p_dae]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "rodas5p_dae" + }, + "param": "vjp-scalar-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.116670461371541e-05, + "max": 5.486669251695275e-05, + "mean": 4.871854558587074e-05, + "stddev": 4.0313052076808745e-06, + "rounds": 20, + "median": 4.980000085197389e-05, + "iqr": 6.656197365373372e-06, + "q1": 4.483340308070183e-05, + "q3": 5.14896004460752e-05, + "iqr_outliers": 0, + "stddev_outliers": 7, + "outliers": "7;0", + "ld15iqr": 4.116670461371541e-05, + "hd15iqr": 5.486669251695275e-05, + "ops": 20526.06431440798, + "total": 0.0009743709117174149, + "data": [ + 5.1799998618662355e-05, + 4.513340536504984e-05, + 4.9433298408985137e-05, + 5.005830898880958e-05, + 4.414169816300273e-05, + 4.116670461371541e-05, + 4.204579163342714e-05, + 4.339170409366489e-05, + 4.722910234704614e-05, + 4.453340079635382e-05, + 4.898330662399531e-05, + 4.983750404790044e-05, + 4.976249765604734e-05, + 5.22000016644597e-05, + 5.1179202273488045e-05, + 5.1133299712091686e-05, + 5.058749811723828e-05, + 5.486669251695275e-05, + 5.268750246614218e-05, + 5.419999361038208e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-sdae]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "sdae" + }, + "param": "vjp-scalar-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.959580980241299e-05, + "max": 9.915000991895795e-05, + "mean": 8.647230220958591e-05, + "stddev": 5.563403402352657e-06, + "rounds": 20, + "median": 8.597705163992941e-05, + "iqr": 1.0077102342620481e-05, + "q1": 8.112085051834584e-05, + "q3": 9.119795286096632e-05, + "iqr_outliers": 0, + "stddev_outliers": 7, + "outliers": "7;0", + "ld15iqr": 7.959580980241299e-05, + "hd15iqr": 9.915000991895795e-05, + "ops": 11564.396626983116, + "total": 0.0017294460441917181, + "data": [ + 8.620410226285457e-05, + 8.575000101700425e-05, + 9.915000991895795e-05, + 8.111670613288879e-05, + 8.112499490380287e-05, + 7.959580980241299e-05, + 8.471249602735043e-05, + 8.027090225368739e-05, + 9.149169782176613e-05, + 8.080420084297658e-05, + 8.219999726861715e-05, + 9.09042079001665e-05, + 8.963330183178186e-05, + 9.229999268427491e-05, + 8.897080551832915e-05, + 9.152920683845878e-05, + 9.359590476378798e-05, + 8.77375015988946e-05, + 8.19625100120902e-05, + 8.039169479161501e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-rk4]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "rk4" + }, + "param": "vjp-vector16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.0041009671986105e-06, + "max": 6.7290966399014e-06, + "mean": 5.239580059424043e-06, + "stddev": 3.759308563827289e-07, + "rounds": 20, + "median": 5.13959676027298e-06, + "iqr": 1.2295204214751737e-07, + "q1": 5.066650919616222e-06, + "q3": 5.189602961763739e-06, + "iqr_outliers": 3, + "stddev_outliers": 1, + "outliers": "1;3", + "ld15iqr": 5.0041009671986105e-06, + "hd15iqr": 5.433300975710153e-06, + "ops": 190854.99002947277, + "total": 0.00010479160118848085, + "data": [ + 6.7290966399014e-06, + 5.274999421089888e-06, + 5.212507676333189e-06, + 5.5791926570236685e-06, + 5.149992648512125e-06, + 5.074997898191214e-06, + 5.058303941041231e-06, + 5.0041009671986105e-06, + 5.058303941041231e-06, + 5.045905709266663e-06, + 5.045905709266663e-06, + 5.433300975710153e-06, + 5.16669824719429e-06, + 5.154102109372616e-06, + 5.1292008720338345e-06, + 5.141692236065865e-06, + 5.154102109372616e-06, + 5.124998278915882e-06, + 5.137501284480095e-06, + 5.1166978664696215e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-tsit5]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "tsit5" + }, + "param": "vjp-vector16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.0483299158513547e-05, + "max": 3.430420765653253e-05, + "mean": 2.3796469322405754e-05, + "stddev": 4.069270236874713e-06, + "rounds": 20, + "median": 2.2314599482342602e-05, + "iqr": 3.670796286314725e-06, + "q1": 2.088129986077547e-05, + "q3": 2.4552096147090196e-05, + "iqr_outliers": 2, + "stddev_outliers": 3, + "outliers": "3;2", + "ld15iqr": 2.0483299158513547e-05, + "hd15iqr": 3.3204106148332355e-05, + "ops": 42023.0407482526, + "total": 0.0004759293864481151, + "data": [ + 2.7991703245788812e-05, + 3.430420765653253e-05, + 2.1116703283041716e-05, + 2.0866701379418374e-05, + 2.0641693845391272e-05, + 2.455419162288308e-05, + 2.455000067129731e-05, + 2.6945897843688726e-05, + 2.1229207050055265e-05, + 2.1029193885624408e-05, + 2.0933395717293024e-05, + 2.0483299158513547e-05, + 2.0841590594500303e-05, + 2.0895898342132568e-05, + 2.0629202481359243e-05, + 2.3399991914629936e-05, + 2.413330366834998e-05, + 2.371249720454216e-05, + 3.3204106148332355e-05, + 2.4466600734740496e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-rodas5p]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "rodas5p" + }, + "param": "vjp-vector16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00012444169260561466, + "max": 0.00014990409836173056, + "mean": 0.0001307489478494972, + "stddev": 7.509282562806691e-06, + "rounds": 20, + "median": 0.00012831454514525829, + "iqr": 6.560340989381064e-06, + "q1": 0.0001255667011719197, + "q3": 0.00013212704216130077, + "iqr_outliers": 2, + "stddev_outliers": 4, + "outliers": "4;2", + "ld15iqr": 0.00012444169260561466, + "hd15iqr": 0.00014640409499406816, + "ops": 7648.245102140954, + "total": 0.002614978956989944, + "data": [ + 0.00014188330387696624, + 0.00014990409836173056, + 0.0001298125018365681, + 0.00012921659508720041, + 0.00014640409499406816, + 0.00012876249384135007, + 0.00012492919340729715, + 0.00012619589688256383, + 0.00012488330248743295, + 0.00012622500071302056, + 0.00012678750790655612, + 0.00012786659644916653, + 0.00012444169260561466, + 0.00012506250059232115, + 0.00013839169405400754, + 0.0001254167058505118, + 0.0001257166964933276, + 0.00013334999093785881, + 0.00013090409338474275, + 0.00012882499722763897 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-em]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "em" + }, + "param": "vjp-vector16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.7749996408820152e-06, + "max": 5.662499461323023e-06, + "mean": 4.376255674287677e-06, + "stddev": 4.3823598912631955e-07, + "rounds": 20, + "median": 4.258350236341357e-06, + "iqr": 5.104462616145607e-07, + "q1": 4.135404014959932e-06, + "q3": 4.645850276574493e-06, + "iqr_outliers": 1, + "stddev_outliers": 6, + "outliers": "6;1", + "ld15iqr": 3.7749996408820152e-06, + "hd15iqr": 5.662499461323023e-06, + "ops": 228505.84481967453, + "total": 8.752511348575354e-05, + "data": [ + 5.662499461323023e-06, + 3.937503788620234e-06, + 3.854196984320879e-06, + 4.6915956772863865e-06, + 4.833401180803776e-06, + 4.254200030118227e-06, + 4.491698928177357e-06, + 4.5584049075841905e-06, + 4.212500061839819e-06, + 4.63749747723341e-06, + 4.262500442564487e-06, + 4.183303099125624e-06, + 4.674994852393866e-06, + 4.1667022742331025e-06, + 4.1333027184009555e-06, + 4.654203075915575e-06, + 4.137505311518908e-06, + 3.7749996408820152e-06, + 4.566600546240807e-06, + 3.837503027170897e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-dae]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "dae" + }, + "param": "vjp-vector16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0005394208012148738, + "max": 0.0007163416012190282, + "mean": 0.0005723206303082407, + "stddev": 3.7177990663993215e-05, + "rounds": 20, + "median": 0.0005670375539921224, + "iqr": 2.6964599965140267e-05, + "q1": 0.000554470851784572, + "q3": 0.0005814354517497122, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.0005394208012148738, + "hd15iqr": 0.0007163416012190282, + "ops": 1747.2723278582841, + "total": 0.011446412606164812, + "data": [ + 0.0007163416012190282, + 0.0005394208012148738, + 0.0005875082919374108, + 0.0005664209020324051, + 0.0005447500036098063, + 0.0005573166999965906, + 0.0005808125017210842, + 0.0005688374978490174, + 0.0005724916933104396, + 0.0005551208043470979, + 0.0005676542059518397, + 0.0005861832993105054, + 0.0005396040971390903, + 0.0005577334086410701, + 0.0005820584017783403, + 0.0005634957924485207, + 0.0005728041054680943, + 0.0005862292018719018, + 0.0005538208992220461, + 0.0005478083970956504 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-rodas5p_dae]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "rodas5p_dae" + }, + "param": "vjp-vector16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00021440830314531923, + "max": 0.0002450792002491653, + "mean": 0.00022729958058334887, + "stddev": 8.364898962506923e-06, + "rounds": 20, + "median": 0.00022501250496134164, + "iqr": 1.1116650421172359e-05, + "q1": 0.0002222791488748044, + "q3": 0.00023339579929597675, + "iqr_outliers": 0, + "stddev_outliers": 6, + "outliers": "6;0", + "ld15iqr": 0.00021440830314531923, + "hd15iqr": 0.0002450792002491653, + "ops": 4399.480181325316, + "total": 0.004545991611666978, + "data": [ + 0.0002450792002491653, + 0.00023438329808413982, + 0.00022368329809978603, + 0.0002245958079583943, + 0.00023492919281125068, + 0.0002439833013340831, + 0.0002343582920730114, + 0.0002230459009297192, + 0.0002312833908945322, + 0.00021737500792369248, + 0.00021832500351592898, + 0.0002324333065189421, + 0.00021440830314531923, + 0.00022542920196428896, + 0.00022893750574439763, + 0.0002269415999762714, + 0.00022208329755812883, + 0.00021814589854329824, + 0.00022247500019147992, + 0.0002240958041511476 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-sdae]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "sdae" + }, + "param": "vjp-vector16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0004689167020842433, + "max": 0.0005704959039576352, + "mean": 0.0004929708456620574, + "stddev": 2.108015192917203e-05, + "rounds": 20, + "median": 0.000490854203235358, + "iqr": 1.707704504951837e-05, + "q1": 0.00047983130207285285, + "q3": 0.0004969083471223712, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.0004689167020842433, + "hd15iqr": 0.0005704959039576352, + "ops": 2028.5175255283198, + "total": 0.009859416913241149, + "data": [ + 0.0004958875011652708, + 0.0004992625094018876, + 0.0005704959039576352, + 0.0004904125002212822, + 0.0004881917033344507, + 0.0004979291930794716, + 0.0004689167020842433, + 0.0004778333008289337, + 0.0004837624961510301, + 0.0005111665930598974, + 0.0004783540964126587, + 0.0004808334051631391, + 0.0004934541997499764, + 0.0004788291989825666, + 0.00048491669585928323, + 0.0004953375086188316, + 0.0005055833957158029, + 0.00047530829906463625, + 0.0004912959062494338, + 0.0004916458041407168 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-rk4]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "rk4" + }, + "param": "vjp-tree16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.720796227455139e-06, + "max": 9.00840386748314e-06, + "mean": 7.011060952208936e-06, + "stddev": 5.502849413570343e-07, + "rounds": 20, + "median": 6.825051968917251e-06, + "iqr": 1.3340031728148393e-07, + "q1": 6.77499920129776e-06, + "q3": 6.908399518579244e-06, + "iqr_outliers": 3, + "stddev_outliers": 2, + "outliers": "2;3", + "ld15iqr": 6.720796227455139e-06, + "hd15iqr": 7.195898797363043e-06, + "ops": 142631.76526584546, + "total": 0.00014022121904417874, + "data": [ + 9.00840386748314e-06, + 7.195898797363043e-06, + 7.062498480081558e-06, + 6.958399899303913e-06, + 6.858399137854576e-06, + 6.850005593150854e-06, + 6.808398757129907e-06, + 6.833404768258333e-06, + 6.82090176269412e-06, + 6.858306005597115e-06, + 6.829202175140381e-06, + 6.77499920129776e-06, + 6.7666987888514996e-06, + 6.766710430383682e-06, + 6.78329961374402e-06, + 8.020794484764338e-06, + 6.733299233019352e-06, + 6.795802619308233e-06, + 6.77499920129776e-06, + 6.720796227455139e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-tsit5]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "tsit5" + }, + "param": "vjp-tree16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.518750261515379e-05, + "max": 4.643329884856939e-05, + "mean": 3.070583043154329e-05, + "stddev": 4.474367269941504e-06, + "rounds": 20, + "median": 2.924584550783038e-05, + "iqr": 2.824951661750677e-06, + "q1": 2.863749978132546e-05, + "q3": 3.1462451443076136e-05, + "iqr_outliers": 2, + "stddev_outliers": 3, + "outliers": "3;2", + "ld15iqr": 2.518750261515379e-05, + "hd15iqr": 3.6079203709959984e-05, + "ops": 32567.10487701796, + "total": 0.0006141166086308658, + "data": [ + 3.034159308299422e-05, + 2.93124932795763e-05, + 3.430830547586083e-05, + 4.643329884856939e-05, + 3.6079203709959984e-05, + 3.1233299523591995e-05, + 3.169160336256027e-05, + 3.007081104442477e-05, + 2.917919773608446e-05, + 3.3549999352544545e-05, + 2.8908299282193183e-05, + 2.9033399187028408e-05, + 2.75125028565526e-05, + 2.9404205270111562e-05, + 2.8579204808920622e-05, + 2.810000441968441e-05, + 2.8695794753730297e-05, + 2.9029196593910455e-05, + 2.518750261515379e-05, + 2.7466693427413703e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-rodas5p]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "rodas5p" + }, + "param": "vjp-tree16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0001313999993726611, + "max": 0.00016236250521615148, + "mean": 0.00013814418110996485, + "stddev": 8.516720276794877e-06, + "rounds": 20, + "median": 0.00013504370581358672, + "iqr": 1.9187398720532764e-06, + "q1": 0.00013399795279838144, + "q3": 0.0001359166926704347, + "iqr_outliers": 4, + "stddev_outliers": 4, + "outliers": "4;4", + "ld15iqr": 0.0001313999993726611, + "hd15iqr": 0.00014671670505777, + "ops": 7238.813766639834, + "total": 0.0027628836221992967, + "data": [ + 0.00015085000777617096, + 0.00016236250521615148, + 0.00013525000540539622, + 0.0001346917008049786, + 0.00013223750283941627, + 0.0001313999993726611, + 0.00013225419679656624, + 0.00013634589267894626, + 0.00013538330094888806, + 0.00013283340958878398, + 0.0001550166984088719, + 0.00013500410132110118, + 0.0001342375064268708, + 0.00014671670505777, + 0.00013508331030607224, + 0.00013437499292194842, + 0.00013548749266192316, + 0.00013512499863281845, + 0.00013375839916989206, + 0.00013447089586406946 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-em]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "em" + }, + "param": "vjp-tree16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.64579788967967e-06, + "max": 6.733392365276814e-06, + "mean": 5.190835800021887e-06, + "stddev": 6.326741599671997e-07, + "rounds": 20, + "median": 4.891701973974705e-06, + "iqr": 6.49993307888508e-07, + "q1": 4.764605546370149e-06, + "q3": 5.414598854258657e-06, + "iqr_outliers": 2, + "stddev_outliers": 3, + "outliers": "3;2", + "ld15iqr": 4.64579788967967e-06, + "hd15iqr": 6.474996916949749e-06, + "ops": 192647.20336478058, + "total": 0.00010381671600043774, + "data": [ + 6.474996916949749e-06, + 4.958303179591894e-06, + 4.8291985876858234e-06, + 4.775007255375385e-06, + 5.4083997383713726e-06, + 4.7790934331715105e-06, + 5.195802077651024e-06, + 5.212496034801006e-06, + 6.733392365276814e-06, + 5.420797970145941e-06, + 4.816707223653793e-06, + 6.2874983996152874e-06, + 5.645793862640858e-06, + 4.754203837364912e-06, + 4.683306906372309e-06, + 4.691700451076031e-06, + 4.64579788967967e-06, + 4.812504630535841e-06, + 4.954205360263586e-06, + 4.73750988021493e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-dae]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "dae" + }, + "param": "vjp-tree16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006616833037696779, + "max": 0.0007871665991842746, + "mean": 0.0007050660339882598, + "stddev": 3.657271395663779e-05, + "rounds": 20, + "median": 0.0006919041508808732, + "iqr": 4.4597947271540674e-05, + "q1": 0.000678002048516646, + "q3": 0.0007225999957881867, + "iqr_outliers": 0, + "stddev_outliers": 5, + "outliers": "5;0", + "ld15iqr": 0.0006616833037696779, + "hd15iqr": 0.0007871665991842746, + "ops": 1418.3068702706098, + "total": 0.014101320679765194, + "data": [ + 0.0007132750004529953, + 0.0007550166919827461, + 0.0006800999981351197, + 0.000726066599600017, + 0.0006913083023391664, + 0.0006809249985963106, + 0.0007782333064824343, + 0.0006901334039866924, + 0.0007183625013567508, + 0.0006624500034376979, + 0.00069249999942258, + 0.0006775000016205013, + 0.0006781707983464002, + 0.0007191333919763565, + 0.0007871665991842746, + 0.00073522919556126, + 0.0006686499924398959, + 0.0007075832923874259, + 0.0006778332986868918, + 0.0006616833037696779 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-rodas5p_dae]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "rodas5p_dae" + }, + "param": "vjp-tree16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0002909167087636888, + "max": 0.00032711250241845846, + "mean": 0.0003056239540455863, + "stddev": 1.1733523337947772e-05, + "rounds": 20, + "median": 0.00030082495068199937, + "iqr": 1.9572896417230357e-05, + "q1": 0.0002954270981717855, + "q3": 0.00031499999458901585, + "iqr_outliers": 0, + "stddev_outliers": 5, + "outliers": "5;0", + "ld15iqr": 0.0002909167087636888, + "hd15iqr": 0.00032711250241845846, + "ops": 3271.994837979362, + "total": 0.006112479080911726, + "data": [ + 0.0003247290966100991, + 0.00031726669985800984, + 0.00029434580355882647, + 0.0003117959015071392, + 0.0003025332931429148, + 0.0003086583921685815, + 0.000314041692763567, + 0.0002923708059825003, + 0.0002991166082210839, + 0.00029738330049440266, + 0.00029542919946834445, + 0.0003122458001598716, + 0.00032711250241845846, + 0.0002953667077235878, + 0.0003228665911592543, + 0.0002954249968752265, + 0.0003159582964144647, + 0.00029844169039279224, + 0.00029647499322891233, + 0.0002909167087636888 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-sdae]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "sdae" + }, + "param": "vjp-tree16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006101624923758209, + "max": 0.0006892250035889447, + "mean": 0.0006360491458326578, + "stddev": 1.8013432173002627e-05, + "rounds": 20, + "median": 0.0006317000079434365, + "iqr": 1.9002048065885858e-05, + "q1": 0.0006248645484447479, + "q3": 0.0006438665965106337, + "iqr_outliers": 1, + "stddev_outliers": 5, + "outliers": "5;1", + "ld15iqr": 0.0006101624923758209, + "hd15iqr": 0.0006892250035889447, + "ops": 1572.2055544794275, + "total": 0.012720982916653157, + "data": [ + 0.0006892250035889447, + 0.0006569541059434414, + 0.0006478166906163096, + 0.0006621457985602319, + 0.0006446790997870266, + 0.0006390208029188216, + 0.0006245416007004678, + 0.0006319250096566975, + 0.000625187496189028, + 0.0006351583055220544, + 0.0006205750047229231, + 0.0006198665942065418, + 0.000643054093234241, + 0.0006294542108662426, + 0.0006172207999043166, + 0.0006330500007607042, + 0.0006101624923758209, + 0.0006305500050075352, + 0.0006314750062301755, + 0.0006289207958616316 + ], + "iterations": 10 + } + } + ], + "datetime": "2026-07-21T20:11:32.400376+00:00", + "version": "5.2.3" +} \ No newline at end of file diff --git a/benchmarks/results/2026-07-21_failed-ad-integration-comparison.md b/benchmarks/results/2026-07-21_failed-ad-integration-comparison.md new file mode 100644 index 0000000..7615aae --- /dev/null +++ b/benchmarks/results/2026-07-21_failed-ad-integration-comparison.md @@ -0,0 +1,105 @@ +# Failed implicit-AD integration benchmark comparison + +## Environment and revisions + +- Date: 2026-07-21 +- Host: `dh4.econ.ubc.ca`, Apple M4 Max, arm64, macOS 26.5.2 +- Python: CPython 3.13.2 +- JAX/backend: JAX 0.10.2 on CPU +- Baseline: tinydiffeq `7de3396c736d6809755fb3fa789a5e674eebe92d` + with nlls-gram `bf22f01` +- Post-change: the tinydiffeq commit containing this report with nlls-gram + `f75a7bfc0b84aab6f6008c54d30f70ce68dfdae3` +- Runtime regression gate: a slowdown greater than `max(5%, 1 us)` in a + successful JVP/VJP case + +The baseline and post-change JSON files were produced by the full 115-case +pytest-benchmark suite. Because short microbenchmarks on this host showed +substantial unrelated variation, the changed DAE/SDAE/aux paths were also +measured with 15 rounds of 100 blocked dispatches. Gate decisions use these +higher-stability measurements. + +## Higher-stability runtime results + +The 39-case root/aux matrix had no gate crossings. Representative AD results +are below; negative changes are improvements. + +| Case | Transform | Baseline (us) | Post (us) | Change | +| --- | --- | ---: | ---: | ---: | +| DAE scalar | JVP | 31.935 | 32.046 | +0.35% | +| DAE scalar | VJP | 52.809 | 51.555 | -2.38% | +| DAE vector16 | JVP | 148.572 | 142.267 | -4.24% | +| DAE vector16 | VJP | 573.171 | 560.020 | -2.29% | +| DAE tree16 | JVP | 183.834 | 185.392 | +0.85% | +| DAE tree16 | VJP | 677.593 | 676.075 | -0.22% | +| Rodas5P DAE scalar | JVP | 44.296 | 36.226 | -18.22% | +| Rodas5P DAE scalar | VJP | 50.241 | 44.443 | -11.54% | +| SDAE scalar | JVP | 81.113 | 79.583 | -1.89% | +| SDAE scalar | VJP | 85.711 | 85.245 | -0.54% | + +The full short-round JSON comparison had 11 apparent crossings: nine aux/grid +cases, scalar Euler-Maruyama primal, and tree Tsit5 primal. No DAE/SDAE root +case crossed. Repeating the nine changed-path aux/grid cases at 15 by 100 +dispatches removed every JVP/VJP crossing: + +| Case | Transform | Baseline (us) | Post (us) | Change | Gate | +| --- | --- | ---: | ---: | ---: | --- | +| aux 8 steps, 8 queries | primal | 55.882 | 55.019 | -1.54% | pass | +| aux 128 steps, 8 queries | primal | 462.615 | 460.960 | -0.36% | pass | +| aux 32 steps, 32 queries | primal | 129.065 | 136.682 | +5.90% | primal-only crossing | +| aux 128 steps, 128 queries | primal | 461.463 | 458.000 | -0.75% | pass | +| aux 8 steps, 128 queries | JVP | 68.364 | 70.695 | +3.41% | pass | +| no aux, auto, 8 by 8 | primal | 47.335 | 49.216 | +3.97% | pass | +| no aux, auto, 128 by 128 | VJP | 696.938 | 714.709 | +2.55% | pass | +| no aux, explicit, 8 by 8 | primal | 47.100 | 47.717 | +1.31% | pass | +| no aux, explicit, 8 steps, 128 queries | VJP | 67.086 | 67.905 | +1.22% | pass | + +The isolated 32-by-32 primal crossing is 7.62 us and is not monotone in problem +size: both 128-step primal cases were slightly faster. It does not affect the +JVP/VJP gate and was not accompanied by a changed-path AD regression. + +## Cold compilation + +Rodas5P DAE and SDAE compile times were effectively flat. Repeated-stage Tsit5 +DAE compilation added 6.98 to 28.95 ms depending on state and transform. Six +of nine DAE entries crossed 5%; the three scalar entries remained below 5%. + +| DAE state | Transform | Baseline (s) | Post (s) | Change | +| --- | --- | ---: | ---: | ---: | +| scalar | primal | 0.124265 | 0.129940 | +4.57% | +| scalar | JVP | 0.209886 | 0.218616 | +4.16% | +| scalar | VJP | 0.338350 | 0.354601 | +4.80% | +| vector16 | primal | 0.133185 | 0.140160 | +5.24% | +| vector16 | JVP | 0.244740 | 0.268966 | +9.90% | +| vector16 | VJP | 0.398900 | 0.419466 | +5.16% | +| tree16 | primal | 0.155509 | 0.163628 | +5.22% | +| tree16 | JVP | 0.297332 | 0.313207 | +5.34% | +| tree16 | VJP | 0.510382 | 0.539334 | +5.67% | + +The added compilation work is the inactive-lane-safe input selection required +before each nlls call. Its tangent rule was consolidated into one pytree-level +operation; this removed the successful VJP runtime regression seen in the +initial implementation. The only unrelated cold-compilation crossing was RK4 +scalar primal (20.15 ms to 22.05 ms), consistent with run-to-run noise. + +## JVP strategy benchmark + +The ODE-only strategy benchmark is not on the modified DAE code path. VJP and +cached-pullback timings improved for every direction count. One uncached, +eight-direction JVP measurement increased by 7.45%, while its 16-direction +measurement improved by 2.09%; this is not a systematic changed-path +regression. + +## Commands and artifacts + +```bash +JAX_PLATFORMS=cpu uv run --group benchmark pytest benchmarks \ + --benchmark-only \ + --benchmark-json=benchmarks/results/2026-07-21_failed-ad-integration-post.json +JAX_PLATFORMS=cpu uv run --group benchmark python -m benchmarks.compile_times +JAX_PLATFORMS=cpu JAX_ENABLE_X64=1 \ + uv run python -m benchmarks.jvp_strategies +``` + +The baseline/post JSON, cold-compilation CSVs, JVP-strategy CSVs, stable matrix +CSVs, and targeted raw-crossing CSV are stored alongside this report. diff --git a/benchmarks/results/2026-07-21_failed-ad-integration-compile-baseline.csv b/benchmarks/results/2026-07-21_failed-ad-integration-compile-baseline.csv new file mode 100644 index 0000000..0fd0941 --- /dev/null +++ b/benchmarks/results/2026-07-21_failed-ad-integration-compile-baseline.csv @@ -0,0 +1,64 @@ +method,state,transform,median_compile_seconds +rk4,scalar,primal,0.020148 +rk4,scalar,jvp,0.024378 +rk4,scalar,vjp,0.044903 +rk4,vector16,primal,0.025385 +rk4,vector16,jvp,0.035993 +rk4,vector16,vjp,0.044736 +rk4,tree16,primal,0.027847 +rk4,tree16,jvp,0.040077 +rk4,tree16,vjp,0.056697 +tsit5,scalar,primal,0.069834 +tsit5,scalar,jvp,0.094598 +tsit5,scalar,vjp,0.162718 +tsit5,vector16,primal,0.073112 +tsit5,vector16,jvp,0.100773 +tsit5,vector16,vjp,0.162238 +tsit5,tree16,primal,0.093411 +tsit5,tree16,jvp,0.140361 +tsit5,tree16,vjp,0.219687 +rodas5p,scalar,primal,0.174770 +rodas5p,scalar,jvp,0.267046 +rodas5p,scalar,vjp,0.481824 +rodas5p,vector16,primal,0.245399 +rodas5p,vector16,jvp,0.412798 +rodas5p,vector16,vjp,0.606552 +rodas5p,tree16,primal,0.269914 +rodas5p,tree16,jvp,0.449824 +rodas5p,tree16,vjp,0.642958 +em,scalar,primal,0.055532 +em,scalar,jvp,0.056082 +em,scalar,vjp,0.016163 +em,vector16,primal,0.110585 +em,vector16,jvp,0.113240 +em,vector16,vjp,0.021824 +em,tree16,primal,0.170534 +em,tree16,jvp,0.171704 +em,tree16,vjp,0.023377 +dae,scalar,primal,0.124265 +dae,scalar,jvp,0.209886 +dae,scalar,vjp,0.338350 +dae,vector16,primal,0.133185 +dae,vector16,jvp,0.244740 +dae,vector16,vjp,0.398900 +dae,tree16,primal,0.155509 +dae,tree16,jvp,0.297332 +dae,tree16,vjp,0.510382 +rodas5p_dae,scalar,primal,0.163826 +rodas5p_dae,scalar,jvp,0.259146 +rodas5p_dae,scalar,vjp,0.381756 +rodas5p_dae,vector16,primal,0.183636 +rodas5p_dae,vector16,jvp,0.278540 +rodas5p_dae,vector16,vjp,0.399364 +rodas5p_dae,tree16,primal,0.206155 +rodas5p_dae,tree16,jvp,0.332369 +rodas5p_dae,tree16,vjp,0.482675 +sdae,scalar,primal,0.107039 +sdae,scalar,jvp,0.145023 +sdae,scalar,vjp,0.173187 +sdae,vector16,primal,0.155121 +sdae,vector16,jvp,0.204019 +sdae,vector16,vjp,0.239014 +sdae,tree16,primal,0.221554 +sdae,tree16,jvp,0.267328 +sdae,tree16,vjp,0.315058 diff --git a/benchmarks/results/2026-07-21_failed-ad-integration-compile-post.csv b/benchmarks/results/2026-07-21_failed-ad-integration-compile-post.csv new file mode 100644 index 0000000..81910a1 --- /dev/null +++ b/benchmarks/results/2026-07-21_failed-ad-integration-compile-post.csv @@ -0,0 +1,64 @@ +method,state,transform,median_compile_seconds +rk4,scalar,primal,0.022048 +rk4,scalar,jvp,0.023273 +rk4,scalar,vjp,0.043151 +rk4,vector16,primal,0.023313 +rk4,vector16,jvp,0.035817 +rk4,vector16,vjp,0.043768 +rk4,tree16,primal,0.027817 +rk4,tree16,jvp,0.038159 +rk4,tree16,vjp,0.057732 +tsit5,scalar,primal,0.069704 +tsit5,scalar,jvp,0.093217 +tsit5,scalar,vjp,0.163643 +tsit5,vector16,primal,0.072911 +tsit5,vector16,jvp,0.100714 +tsit5,vector16,vjp,0.163693 +tsit5,tree16,primal,0.094252 +tsit5,tree16,jvp,0.141732 +tsit5,tree16,vjp,0.219730 +rodas5p,scalar,primal,0.169027 +rodas5p,scalar,jvp,0.258694 +rodas5p,scalar,vjp,0.482991 +rodas5p,vector16,primal,0.242311 +rodas5p,vector16,jvp,0.393522 +rodas5p,vector16,vjp,0.604530 +rodas5p,tree16,primal,0.263180 +rodas5p,tree16,jvp,0.444382 +rodas5p,tree16,vjp,0.651991 +em,scalar,primal,0.054599 +em,scalar,jvp,0.054768 +em,scalar,vjp,0.016259 +em,vector16,primal,0.110342 +em,vector16,jvp,0.110935 +em,vector16,vjp,0.021474 +em,tree16,primal,0.167239 +em,tree16,jvp,0.167687 +em,tree16,vjp,0.022870 +dae,scalar,primal,0.129940 +dae,scalar,jvp,0.218616 +dae,scalar,vjp,0.354601 +dae,vector16,primal,0.140160 +dae,vector16,jvp,0.268966 +dae,vector16,vjp,0.419466 +dae,tree16,primal,0.163628 +dae,tree16,jvp,0.313207 +dae,tree16,vjp,0.539334 +rodas5p_dae,scalar,primal,0.162556 +rodas5p_dae,scalar,jvp,0.253517 +rodas5p_dae,scalar,vjp,0.385073 +rodas5p_dae,vector16,primal,0.185345 +rodas5p_dae,vector16,jvp,0.271659 +rodas5p_dae,vector16,vjp,0.399188 +rodas5p_dae,tree16,primal,0.211890 +rodas5p_dae,tree16,jvp,0.323084 +rodas5p_dae,tree16,vjp,0.482742 +sdae,scalar,primal,0.104564 +sdae,scalar,jvp,0.141809 +sdae,scalar,vjp,0.172026 +sdae,vector16,primal,0.160402 +sdae,vector16,jvp,0.209958 +sdae,vector16,vjp,0.241608 +sdae,tree16,primal,0.218513 +sdae,tree16,jvp,0.264155 +sdae,tree16,vjp,0.317481 diff --git a/benchmarks/results/2026-07-21_failed-ad-integration-jvp-strategies-baseline.csv b/benchmarks/results/2026-07-21_failed-ad-integration-jvp-strategies-baseline.csv new file mode 100644 index 0000000..1cddb41 --- /dev/null +++ b/benchmarks/results/2026-07-21_failed-ad-integration-jvp-strategies-baseline.csv @@ -0,0 +1,6 @@ +directions,vmap_jvp_us,cached_pushforward_us,vmap_vjp_us,cached_pullback_us +1,528.61,461.20,919.95,870.62 +2,921.28,897.00,1757.57,1667.64 +4,1772.45,1638.57,3998.85,3998.96 +8,3753.58,3448.14,12861.00,14259.09 +16,7637.53,7219.61,19666.85,20979.35 diff --git a/benchmarks/results/2026-07-21_failed-ad-integration-jvp-strategies-post.csv b/benchmarks/results/2026-07-21_failed-ad-integration-jvp-strategies-post.csv new file mode 100644 index 0000000..211e843 --- /dev/null +++ b/benchmarks/results/2026-07-21_failed-ad-integration-jvp-strategies-post.csv @@ -0,0 +1,6 @@ +directions,vmap_jvp_us,cached_pushforward_us,vmap_vjp_us,cached_pullback_us +1,539.11,473.79,919.66,848.46 +2,916.33,831.85,1739.45,1650.64 +4,1758.47,1612.13,3956.30,3972.61 +8,4033.05,3502.51,12689.15,13906.73 +16,7477.97,7190.31,19320.34,20749.93 diff --git a/benchmarks/results/2026-07-21_failed-ad-integration-post.json b/benchmarks/results/2026-07-21_failed-ad-integration-post.json new file mode 100644 index 0000000..a112f4d --- /dev/null +++ b/benchmarks/results/2026-07-21_failed-ad-integration-post.json @@ -0,0 +1,6558 @@ +{ + "machine_info": { + "node": "dh4.econ.ubc.ca", + "processor": "arm", + "machine": "arm64", + "python_compiler": "Clang 20.1.0 ", + "python_implementation": "CPython", + "python_implementation_version": "3.13.2", + "python_version": "3.13.2", + "python_build": [ + "main", + "Mar 17 2025 21:26:38" + ], + "release": "25.5.0", + "system": "Darwin", + "cpu": { + "python_version": "3.13.2.final.0 (64 bit)", + "cpuinfo_version": [ + 9, + 0, + 0 + ], + "cpuinfo_version_string": "9.0.0", + "arch": "ARM_8", + "bits": 64, + "count": 16, + "arch_string_raw": "arm64", + "brand_raw": "Apple M4 Max" + } + }, + "commit_info": { + "id": "7de3396c736d6809755fb3fa789a5e674eebe92d", + "time": "2026-07-21T06:37:00-07:00", + "author_time": "2026-07-21T06:37:00-07:00", + "dirty": true, + "project": "tinydiffeq", + "branch": "agent/nlls-2.4-direct-ad" + }, + "benchmarks": [ + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-8-8]", + "params": { + "transform": "primal", + "n_queries": 8, + "n_steps": 8 + }, + "param": "primal-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.818321369588375e-05, + "max": 7.329999934881925e-05, + "mean": 6.554500199854374e-05, + "stddev": 4.626460868702727e-06, + "rounds": 10, + "median": 6.636258913204074e-05, + "iqr": 7.158401422202582e-06, + "q1": 6.184161175042391e-05, + "q3": 6.900001317262649e-05, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 5.818321369588375e-05, + "hd15iqr": 7.329999934881925e-05, + "ops": 15256.693409242976, + "total": 0.0006554500199854374, + "data": [ + 6.900001317262649e-05, + 6.64333812892437e-05, + 6.184161175042391e-05, + 5.818321369588375e-05, + 7.329999934881925e-05, + 6.730000022798776e-05, + 6.953340489417315e-05, + 6.036660633981228e-05, + 6.629179697483777e-05, + 6.319999229162932e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-8-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-8-32]", + "params": { + "transform": "primal", + "n_queries": 8, + "n_steps": 32 + }, + "param": "primal-8-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00013288340996950865, + "max": 0.00017487499862909318, + "mean": 0.00014722420135512948, + "stddev": 1.2892928244487337e-05, + "rounds": 10, + "median": 0.00014580010902136563, + "iqr": 1.6316608525812637e-05, + "q1": 0.0001368749886751175, + "q3": 0.00015319159720093012, + "iqr_outliers": 0, + "stddev_outliers": 2, + "outliers": "2;0", + "ld15iqr": 0.00013288340996950865, + "hd15iqr": 0.00017487499862909318, + "ops": 6792.361519339013, + "total": 0.0014722420135512948, + "data": [ + 0.00014338339678943157, + 0.00015319159720093012, + 0.0001376250060275197, + 0.0001366749871522188, + 0.00013288340996950865, + 0.0001368749886751175, + 0.00014821682125329972, + 0.0001485584070906043, + 0.00015995840076357126, + 0.00017487499862909318 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-8-128]", + "params": { + "transform": "primal", + "n_queries": 8, + "n_steps": 128 + }, + "param": "primal-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00045630820095539094, + "max": 0.0005319499876350164, + "mean": 0.0004955341597087681, + "stddev": 2.7560916668874264e-05, + "rounds": 10, + "median": 0.0005011082976125181, + "iqr": 4.877480678260331e-05, + "q1": 0.0004670168040320277, + "q3": 0.000515791610814631, + "iqr_outliers": 0, + "stddev_outliers": 5, + "outliers": "5;0", + "ld15iqr": 0.00045630820095539094, + "hd15iqr": 0.0005319499876350164, + "ops": 2018.024348891937, + "total": 0.004955341597087682, + "data": [ + 0.0005274666007608175, + 0.0004582999972626567, + 0.0005319499876350164, + 0.000515791610814631, + 0.0004951915936544538, + 0.00045630820095539094, + 0.00048824180848896506, + 0.0004670168040320277, + 0.0005080499919131398, + 0.0005070250015705823 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-32-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-32-8]", + "params": { + "transform": "primal", + "n_queries": 32, + "n_steps": 8 + }, + "param": "primal-32-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.6891608983278276e-05, + "max": 9.28082037717104e-05, + "mean": 6.516830064356326e-05, + "stddev": 1.04361583885698e-05, + "rounds": 10, + "median": 6.129160756245256e-05, + "iqr": 5.27498777955771e-06, + "q1": 5.975000094622373e-05, + "q3": 6.502498872578144e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 5.6891608983278276e-05, + "hd15iqr": 9.28082037717104e-05, + "ops": 15344.883787433404, + "total": 0.0006516830064356327, + "data": [ + 7.066680118441581e-05, + 6.132500711828471e-05, + 6.502498872578144e-05, + 9.28082037717104e-05, + 6.399999838322402e-05, + 6.117499433457851e-05, + 5.8783194981515406e-05, + 5.6891608983278276e-05, + 6.125820800662041e-05, + 5.975000094622373e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-32-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-32-32]", + "params": { + "transform": "primal", + "n_queries": 32, + "n_steps": 32 + }, + "param": "primal-32-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00012791678309440613, + "max": 0.00016065000090748072, + "mean": 0.0001407083193771541, + "stddev": 1.0642513869856845e-05, + "rounds": 10, + "median": 0.00013794160913676022, + "iqr": 1.7233192920684814e-05, + "q1": 0.0001313749933615327, + "q3": 0.0001486081862822175, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.00012791678309440613, + "hd15iqr": 0.00016065000090748072, + "ops": 7106.900319942017, + "total": 0.001407083193771541, + "data": [ + 0.00013766661286354064, + 0.0001313749933615327, + 0.00012961660977452993, + 0.00012791678309440613, + 0.00013821660540997983, + 0.0001428833929821849, + 0.0001486081862822175, + 0.00016065000090748072, + 0.0001530500128865242, + 0.0001370999962091446 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-32-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-32-128]", + "params": { + "transform": "primal", + "n_queries": 32, + "n_steps": 128 + }, + "param": "primal-32-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00046471678651869295, + "max": 0.0005290834000334143, + "mean": 0.00048605419695377347, + "stddev": 2.2072196174788174e-05, + "rounds": 10, + "median": 0.0004785833996720612, + "iqr": 1.9016605801880403e-05, + "q1": 0.0004700583871454, + "q3": 0.0004890749929472804, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 0.00046471678651869295, + "hd15iqr": 0.000521066808141768, + "ops": 2057.383736766922, + "total": 0.004860541969537735, + "data": [ + 0.000521066808141768, + 0.0004700583871454, + 0.0004806000040844083, + 0.0005290834000334143, + 0.00046675000339746475, + 0.00046471678651869295, + 0.0004763331962749362, + 0.0004890749929472804, + 0.00047656679525971414, + 0.00048629159573465586 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-128-8]", + "params": { + "transform": "primal", + "n_queries": 128, + "n_steps": 8 + }, + "param": "primal-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.813338793814182e-05, + "max": 7.42750009521842e-05, + "mean": 6.252085557207464e-05, + "stddev": 5.066962340556897e-06, + "rounds": 10, + "median": 6.043330067768693e-05, + "iqr": 2.0250212401151644e-06, + "q1": 6.003337912261486e-05, + "q3": 6.205840036273002e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 5.813338793814182e-05, + "hd15iqr": 6.874999962747097e-05, + "ops": 15994.662754529812, + "total": 0.0006252085557207465, + "data": [ + 7.42750009521842e-05, + 6.205840036273002e-05, + 6.041659507900476e-05, + 5.813338793814182e-05, + 6.205840036273002e-05, + 6.003337912261486e-05, + 5.865839775651693e-05, + 6.037498824298382e-05, + 6.045000627636909e-05, + 6.874999962747097e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-128-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-128-32]", + "params": { + "transform": "primal", + "n_queries": 128, + "n_steps": 32 + }, + "param": "primal-128-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00011700841132551431, + "max": 0.0001442749984562397, + "mean": 0.0001321875397115946, + "stddev": 8.668625761730394e-06, + "rounds": 10, + "median": 0.00013479170156642794, + "iqr": 1.3199984095990658e-05, + "q1": 0.00012374180369079113, + "q3": 0.0001369417877867818, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.00011700841132551431, + "hd15iqr": 0.0001442749984562397, + "ops": 7565.009547660769, + "total": 0.0013218753971159457, + "data": [ + 0.0001442749984562397, + 0.00014112500939518214, + 0.0001369417877867818, + 0.0001366583863273263, + 0.00013430840335786342, + 0.00013527499977499246, + 0.00012374180369079113, + 0.0001295834081247449, + 0.00011700841132551431, + 0.00012295818887650967 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-128-128]", + "params": { + "transform": "primal", + "n_queries": 128, + "n_steps": 128 + }, + "param": "primal-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0004623333923518658, + "max": 0.0005216666031628847, + "mean": 0.0004945433232933283, + "stddev": 2.0387397053853754e-05, + "rounds": 10, + "median": 0.0004894208046607672, + "iqr": 3.026658669114113e-05, + "q1": 0.0004831500118598342, + "q3": 0.0005134165985509753, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0004623333923518658, + "hd15iqr": 0.0005216666031628847, + "ops": 2022.0675376641784, + "total": 0.004945433232933283, + "data": [ + 0.0005134165985509753, + 0.00048551659565418956, + 0.0005216666031628847, + 0.000493325013667345, + 0.0004623333923518658, + 0.00048404159024357797, + 0.0004831500118598342, + 0.0005071000196039677, + 0.00047384160570800303, + 0.0005210418021306396 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-8-8]", + "params": { + "transform": "jvp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "jvp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.559179164469242e-05, + "max": 8.815841283649206e-05, + "mean": 6.994000170379878e-05, + "stddev": 6.713757842347807e-06, + "rounds": 10, + "median": 6.846250034868717e-05, + "iqr": 3.2335752621293014e-06, + "q1": 6.623321678489447e-05, + "q3": 6.946679204702377e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 6.559179164469242e-05, + "hd15iqr": 8.815841283649206e-05, + "ops": 14297.969339993386, + "total": 0.0006994000170379878, + "data": [ + 8.815841283649206e-05, + 7.220820989459754e-05, + 6.851658690720797e-05, + 6.840841379016638e-05, + 6.623321678489447e-05, + 6.863339804112911e-05, + 6.559179164469242e-05, + 6.5941596403718e-05, + 6.6241598688066e-05, + 6.946679204702377e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-8-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-8-32]", + "params": { + "transform": "jvp", + "n_queries": 8, + "n_steps": 32 + }, + "param": "jvp-8-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00019051660783588886, + "max": 0.00024104998447000981, + "mean": 0.00020511250011622905, + "stddev": 1.6050315382420206e-05, + "rounds": 10, + "median": 0.00020019160583615304, + "iqr": 1.310838852077722e-05, + "q1": 0.00019625839777290822, + "q3": 0.00020936678629368544, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.00019051660783588886, + "hd15iqr": 0.00024104998447000981, + "ops": 4875.373268003364, + "total": 0.0020511250011622907, + "data": [ + 0.00019971660804003478, + 0.00024104998447000981, + 0.00022462501656264066, + 0.00020936678629368544, + 0.00019058340694755316, + 0.00019051660783588886, + 0.00020092499908059837, + 0.00019625839777290822, + 0.0002006666036322713, + 0.00019741659052670003 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-8-128]", + "params": { + "transform": "jvp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "jvp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.000697058392688632, + "max": 0.0007446999894455075, + "mean": 0.0007187966583296657, + "stddev": 1.793168934150265e-05, + "rounds": 10, + "median": 0.0007132124970667063, + "iqr": 3.342519048601391e-05, + "q1": 0.0007035332033410669, + "q3": 0.0007369583938270808, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.000697058392688632, + "hd15iqr": 0.0007446999894455075, + "ops": 1391.2140358634842, + "total": 0.007187966583296656, + "data": [ + 0.0007446999894455075, + 0.0007369583938270808, + 0.0007035332033410669, + 0.000741841597482562, + 0.000697058392688632, + 0.0007300999946892262, + 0.0007142415968701243, + 0.0007121833972632885, + 0.0007018167991191149, + 0.0007055332185700536 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-32-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-32-8]", + "params": { + "transform": "jvp", + "n_queries": 32, + "n_steps": 8 + }, + "param": "jvp-32-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.844180170446634e-05, + "max": 7.898341864347458e-05, + "mean": 7.236756617203355e-05, + "stddev": 4.1565488775240585e-06, + "rounds": 10, + "median": 7.000830955803395e-05, + "iqr": 6.525008939206603e-06, + "q1": 6.915838457643986e-05, + "q3": 7.568339351564646e-05, + "iqr_outliers": 0, + "stddev_outliers": 2, + "outliers": "2;0", + "ld15iqr": 6.844180170446634e-05, + "hd15iqr": 7.898341864347458e-05, + "ops": 13818.345052848415, + "total": 0.0007236756617203354, + "data": [ + 7.546681445091963e-05, + 6.915838457643986e-05, + 7.793339900672436e-05, + 6.929181981831788e-05, + 7.898341864347458e-05, + 7.568339351564646e-05, + 6.956660654395818e-05, + 7.04500125721097e-05, + 6.870001088827848e-05, + 6.844180170446634e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-32-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-32-32]", + "params": { + "transform": "jvp", + "n_queries": 32, + "n_steps": 32 + }, + "param": "jvp-32-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00018739160150289537, + "max": 0.0002047915942966938, + "mean": 0.0001967291673645377, + "stddev": 6.090242157023647e-06, + "rounds": 10, + "median": 0.00019775421824306247, + "iqr": 9.92480199784042e-06, + "q1": 0.00019183340482413768, + "q3": 0.0002017582068219781, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.00018739160150289537, + "hd15iqr": 0.0002047915942966938, + "ops": 5083.130343082311, + "total": 0.0019672916736453772, + "data": [ + 0.00019609162118285894, + 0.00018739160150289537, + 0.00018880839925259352, + 0.00019183340482413768, + 0.0001936668064445257, + 0.0002017582068219781, + 0.00020273320842534304, + 0.00019941681530326604, + 0.0002047915942966938, + 0.00020080001559108496 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-32-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-32-128]", + "params": { + "transform": "jvp", + "n_queries": 32, + "n_steps": 128 + }, + "param": "jvp-32-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0007106166100129485, + "max": 0.0007649749983102083, + "mean": 0.0007326800003647805, + "stddev": 1.4421000053065052e-05, + "rounds": 10, + "median": 0.0007319292053580284, + "iqr": 1.6033393330872037e-05, + "q1": 0.0007241165963932872, + "q3": 0.0007401499897241592, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.0007106166100129485, + "hd15iqr": 0.0007649749983102083, + "ops": 1364.8523222991328, + "total": 0.007326800003647804, + "data": [ + 0.0007401499897241592, + 0.0007267000153660774, + 0.0007338166004046797, + 0.0007300418103113771, + 0.0007241165963932872, + 0.0007649749983102083, + 0.0007106166100129485, + 0.0007402249844744802, + 0.0007221834035590291, + 0.0007339749950915575 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-128-8]", + "params": { + "transform": "jvp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "jvp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.295820396393537e-05, + "max": 9.607498068362475e-05, + "mean": 8.6781638674438e-05, + "stddev": 8.719178847504456e-06, + "rounds": 10, + "median": 8.868329459801316e-05, + "iqr": 1.4366791583597652e-05, + "q1": 7.951660081744194e-05, + "q3": 9.38833924010396e-05, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 7.295820396393537e-05, + "hd15iqr": 9.607498068362475e-05, + "ops": 11523.174893614396, + "total": 0.00086781638674438, + "data": [ + 7.951660081744194e-05, + 7.295820396393537e-05, + 7.338321302086115e-05, + 8.662499021738768e-05, + 9.607498068362475e-05, + 8.637499995529651e-05, + 9.38833924010396e-05, + 9.382499847561121e-05, + 9.074159897863865e-05, + 9.443340823054314e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-128-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-128-32]", + "params": { + "transform": "jvp", + "n_queries": 128, + "n_steps": 32 + }, + "param": "jvp-128-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0002034083940088749, + "max": 0.0002129082102328539, + "mean": 0.000207706643268466, + "stddev": 3.0361991782487973e-06, + "rounds": 10, + "median": 0.0002071624039672315, + "iqr": 1.3833865523338264e-06, + "q1": 0.00020637500565499068, + "q3": 0.0002077583922073245, + "iqr_outliers": 3, + "stddev_outliers": 3, + "outliers": "3;3", + "ld15iqr": 0.00020487501751631498, + "hd15iqr": 0.00021286660339683294, + "ops": 4814.482504093406, + "total": 0.00207706643268466, + "data": [ + 0.00020718320738524198, + 0.0002071165945380926, + 0.0002077583922073245, + 0.00020637500565499068, + 0.00021286660339683294, + 0.0002129082102328539, + 0.00020743340719491242, + 0.00020487501751631498, + 0.0002034083940088749, + 0.00020714160054922104 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-128-128]", + "params": { + "transform": "jvp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "jvp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0007181666092947126, + "max": 0.000758258393034339, + "mean": 0.0007388250017538667, + "stddev": 1.2643103607782483e-05, + "rounds": 10, + "median": 0.0007397667039185762, + "iqr": 2.037519589066501e-05, + "q1": 0.0007285916013643146, + "q3": 0.0007489667972549796, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.0007181666092947126, + "hd15iqr": 0.000758258393034339, + "ops": 1353.500487430908, + "total": 0.0073882500175386666, + "data": [ + 0.0007497582118958235, + 0.0007398500107228756, + 0.000758258393034339, + 0.0007181666092947126, + 0.0007478500017896294, + 0.0007311332039535046, + 0.0007396833971142769, + 0.0007489667972549796, + 0.0007259917911142111, + 0.0007285916013643146 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-8-8]", + "params": { + "transform": "vjp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "vjp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.613340858370066e-05, + "max": 0.00010044160299003125, + "mean": 8.222164120525122e-05, + "stddev": 7.258731551211649e-06, + "rounds": 10, + "median": 7.965409895405173e-05, + "iqr": 7.1750022470951135e-06, + "q1": 7.822499610483646e-05, + "q3": 8.539999835193157e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 7.613340858370066e-05, + "hd15iqr": 0.00010044160299003125, + "ops": 12162.24810574729, + "total": 0.0008222164120525122, + "data": [ + 0.00010044160299003125, + 8.642501197755336e-05, + 8.104159496724606e-05, + 8.539999835193157e-05, + 8.011660538613797e-05, + 7.613340858370066e-05, + 7.822499610483646e-05, + 7.905000820755959e-05, + 7.619159296154976e-05, + 7.91915925219655e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-8-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-8-32]", + "params": { + "transform": "vjp", + "n_queries": 8, + "n_steps": 32 + }, + "param": "vjp-8-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00021850001066923142, + "max": 0.00024307500571012496, + "mean": 0.00023014249745756388, + "stddev": 8.338156979739766e-06, + "rounds": 10, + "median": 0.0002331874915398657, + "iqr": 1.370841637253763e-05, + "q1": 0.00022169158328324556, + "q3": 0.0002353999996557832, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.00021850001066923142, + "hd15iqr": 0.00024307500571012496, + "ops": 4345.134041071187, + "total": 0.0023014249745756388, + "data": [ + 0.00021997499279677868, + 0.00022169158328324556, + 0.0002353999996557832, + 0.00023678340949118137, + 0.00023342499043792485, + 0.00024307500571012496, + 0.0002329499926418066, + 0.00021850001066923142, + 0.00022444999776780606, + 0.00023517499212175608 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-8-128]", + "params": { + "transform": "vjp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "vjp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0008279582019895315, + "max": 0.0008825418073683978, + "mean": 0.0008578291442245245, + "stddev": 1.7400462560741334e-05, + "rounds": 10, + "median": 0.0008605583105236291, + "iqr": 1.9441777840256648e-05, + "q1": 0.0008466832106932998, + "q3": 0.0008661249885335565, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0008279582019895315, + "hd15iqr": 0.0008825418073683978, + "ops": 1165.7333010106547, + "total": 0.008578291442245246, + "data": [ + 0.0008648084010928869, + 0.0008606416173279286, + 0.0008279582019895315, + 0.0008604750037193298, + 0.0008661249885335565, + 0.0008825418073683978, + 0.0008362000109627843, + 0.0008796500042080879, + 0.000853208196349442, + 0.0008466832106932998 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-32-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-32-8]", + "params": { + "transform": "vjp", + "n_queries": 32, + "n_steps": 8 + }, + "param": "vjp-32-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.641681004315615e-05, + "max": 0.00010780838783830404, + "mean": 8.781084092333913e-05, + "stddev": 8.917636009436424e-06, + "rounds": 10, + "median": 8.647089125588537e-05, + "iqr": 1.0083406232297426e-05, + "q1": 8.190819062292576e-05, + "q3": 9.199159685522318e-05, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 7.641681004315615e-05, + "hd15iqr": 0.00010780838783830404, + "ops": 11388.115516090125, + "total": 0.0008781084092333913, + "data": [ + 8.724178187549114e-05, + 0.00010780838783830404, + 9.199159685522318e-05, + 8.237501606345177e-05, + 8.190819062292576e-05, + 7.641681004315615e-05, + 8.09249933809042e-05, + 8.570000063627959e-05, + 8.879161905497312e-05, + 9.495001286268235e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-32-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-32-32]", + "params": { + "transform": "vjp", + "n_queries": 32, + "n_steps": 32 + }, + "param": "vjp-32-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0002226832089945674, + "max": 0.00024245840031653643, + "mean": 0.00022980500012636184, + "stddev": 6.4666154987268866e-06, + "rounds": 10, + "median": 0.00022802499588578937, + "iqr": 8.766609244048606e-06, + "q1": 0.00022420000750571488, + "q3": 0.0002329666167497635, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.0002226832089945674, + "hd15iqr": 0.00024245840031653643, + "ops": 4351.51541285061, + "total": 0.0022980500012636184, + "data": [ + 0.0002329666167497635, + 0.00022750000935047864, + 0.00023038340732455253, + 0.00024245840031653643, + 0.00022420000750571488, + 0.00022698338143527507, + 0.00022854998242110013, + 0.00023841660004109144, + 0.0002239083871245384, + 0.0002226832089945674 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-32-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-32-128]", + "params": { + "transform": "vjp", + "n_queries": 32, + "n_steps": 128 + }, + "param": "vjp-32-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0008295750012621284, + "max": 0.0008744749939069152, + "mean": 0.0008506300183944404, + "stddev": 1.4470393685599725e-05, + "rounds": 10, + "median": 0.0008487833896651864, + "iqr": 8.50840006023641e-06, + "q1": 0.0008443416096270085, + "q3": 0.0008528500096872449, + "iqr_outliers": 3, + "stddev_outliers": 4, + "outliers": "4;3", + "ld15iqr": 0.0008355917874723673, + "hd15iqr": 0.0008744499878957868, + "ops": 1175.599236301929, + "total": 0.008506300183944404, + "data": [ + 0.0008744499878957868, + 0.0008515916066244245, + 0.0008355917874723673, + 0.0008443416096270085, + 0.0008473499910905957, + 0.0008744749939069152, + 0.0008295750012621284, + 0.000845858408138156, + 0.0008528500096872449, + 0.000850216788239777 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-128-8]", + "params": { + "transform": "vjp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "vjp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.853319402784109e-05, + "max": 0.00010041680652648211, + "mean": 8.888501906767488e-05, + "stddev": 5.98312830377478e-06, + "rounds": 10, + "median": 8.841250091791154e-05, + "iqr": 6.7748129367828315e-06, + "q1": 8.554179221391678e-05, + "q3": 9.231660515069961e-05, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 7.853319402784109e-05, + "hd15iqr": 0.00010041680652648211, + "ops": 11250.489795570888, + "total": 0.0008888501906767488, + "data": [ + 9.492500685155391e-05, + 8.487498853355646e-05, + 0.00010041680652648211, + 9.231660515069961e-05, + 8.890840690582991e-05, + 8.795000612735749e-05, + 8.887499570846558e-05, + 8.554179221391678e-05, + 8.650838863104582e-05, + 7.853319402784109e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-128-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-128-32]", + "params": { + "transform": "vjp", + "n_queries": 128, + "n_steps": 32 + }, + "param": "vjp-128-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00022475840523838997, + "max": 0.0002497584093362093, + "mean": 0.00023633665638044476, + "stddev": 6.32713424580068e-06, + "rounds": 10, + "median": 0.0002366708009503782, + "iqr": 2.9999762773513902e-06, + "q1": 0.00023512500338256358, + "q3": 0.00023812497965991497, + "iqr_outliers": 3, + "stddev_outliers": 2, + "outliers": "2;3", + "ld15iqr": 0.00023512500338256358, + "hd15iqr": 0.0002497584093362093, + "ops": 4231.252211634247, + "total": 0.0023633665638044476, + "data": [ + 0.00023812497965991497, + 0.00023666659835726024, + 0.00023542498238384723, + 0.00023790819104760886, + 0.00023667500354349614, + 0.0002383918035775423, + 0.00022475840523838997, + 0.00023053318727761507, + 0.0002497584093362093, + 0.00023512500338256358 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-128-128]", + "params": { + "transform": "vjp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "vjp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0008273750077933073, + "max": 0.0008848000084981323, + "mean": 0.0008543325425125659, + "stddev": 2.096478534468521e-05, + "rounds": 10, + "median": 0.000858112599235028, + "iqr": 3.090838436037302e-05, + "q1": 0.0008340000174939632, + "q3": 0.0008649084018543362, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0008273750077933073, + "hd15iqr": 0.0008848000084981323, + "ops": 1170.5043999132126, + "total": 0.008543325425125658, + "data": [ + 0.0008629166055470705, + 0.0008833583910018205, + 0.0008273750077933073, + 0.0008579083951190114, + 0.0008409168105572463, + 0.0008848000084981323, + 0.0008340000174939632, + 0.0008649084018543362, + 0.0008288249839097262, + 0.0008583168033510447 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-primal-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-primal-8-8]", + "params": { + "explicit_no_aux": false, + "transform": "primal", + "n_queries": 8, + "n_steps": 8 + }, + "param": "auto-primal-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.9525010399520394e-05, + "max": 6.20582140982151e-05, + "mean": 5.617584101855755e-05, + "stddev": 4.025570200972419e-06, + "rounds": 10, + "median": 5.495420191437006e-05, + "iqr": 6.399978883564475e-06, + "q1": 5.417501088231802e-05, + "q3": 6.0574989765882493e-05, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 4.9525010399520394e-05, + "hd15iqr": 6.20582140982151e-05, + "ops": 17801.246618980793, + "total": 0.0005617584101855755, + "data": [ + 6.17331825196743e-05, + 5.568340420722961e-05, + 5.4283393546938895e-05, + 5.450840108096599e-05, + 5.381680093705654e-05, + 5.417501088231802e-05, + 6.20582140982151e-05, + 5.540000274777413e-05, + 4.9525010399520394e-05, + 6.0574989765882493e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-primal-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-primal-8-128]", + "params": { + "explicit_no_aux": false, + "transform": "primal", + "n_queries": 8, + "n_steps": 128 + }, + "param": "auto-primal-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00036726659163832664, + "max": 0.00042135000694543123, + "mean": 0.0003821133403107524, + "stddev": 1.5218987794258348e-05, + "rounds": 10, + "median": 0.00038018750492483375, + "iqr": 1.2108194641768943e-05, + "q1": 0.0003723250003531575, + "q3": 0.00038443319499492645, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.00036726659163832664, + "hd15iqr": 0.00042135000694543123, + "ops": 2617.024569691164, + "total": 0.003821133403107524, + "data": [ + 0.00042135000694543123, + 0.0003694084007292986, + 0.00036726659163832664, + 0.00038443319499492645, + 0.0003825749969109893, + 0.0003832418005913496, + 0.0003723250003531575, + 0.00037684999406337736, + 0.00037780001293867825, + 0.00038588340394198897 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-primal-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-primal-128-8]", + "params": { + "explicit_no_aux": false, + "transform": "primal", + "n_queries": 128, + "n_steps": 8 + }, + "param": "auto-primal-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.942500963807106e-05, + "max": 6.045820191502571e-05, + "mean": 5.495499819517135e-05, + "stddev": 4.014922190709378e-06, + "rounds": 10, + "median": 5.533751100301742e-05, + "iqr": 7.708393968641762e-06, + "q1": 5.147499032318592e-05, + "q3": 5.918338429182768e-05, + "iqr_outliers": 0, + "stddev_outliers": 5, + "outliers": "5;0", + "ld15iqr": 4.942500963807106e-05, + "hd15iqr": 6.045820191502571e-05, + "ops": 18196.7069937574, + "total": 0.0005495499819517136, + "data": [ + 5.5275019258260726e-05, + 5.270838737487793e-05, + 4.974999465048313e-05, + 5.147499032318592e-05, + 4.942500963807106e-05, + 5.9349997900426385e-05, + 6.045820191502571e-05, + 5.918338429182768e-05, + 5.652499385178089e-05, + 5.540000274777413e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-primal-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-primal-128-128]", + "params": { + "explicit_no_aux": false, + "transform": "primal", + "n_queries": 128, + "n_steps": 128 + }, + "param": "auto-primal-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0003722584107890725, + "max": 0.00041057500056922435, + "mean": 0.0003862958634272218, + "stddev": 1.2744502020137417e-05, + "rounds": 10, + "median": 0.00038288340438157324, + "iqr": 1.379998866468668e-05, + "q1": 0.0003781083971261978, + "q3": 0.0003919083857908845, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.0003722584107890725, + "hd15iqr": 0.00041057500056922435, + "ops": 2588.6893820917144, + "total": 0.0038629586342722178, + "data": [ + 0.00040428340435028076, + 0.00041057500056922435, + 0.0003781083971261978, + 0.0003788500092923641, + 0.00037928340025246144, + 0.0003919083857908845, + 0.0003870750078931451, + 0.0003722584107890725, + 0.0003741332096979022, + 0.000386483408510685 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-jvp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-jvp-8-8]", + "params": { + "explicit_no_aux": false, + "transform": "jvp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "auto-jvp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.06750138103962e-05, + "max": 8.801680523902178e-05, + "mean": 6.695000221952796e-05, + "stddev": 8.170899980274949e-06, + "rounds": 10, + "median": 6.412920774891972e-05, + "iqr": 6.816792301833635e-06, + "q1": 6.13831914961338e-05, + "q3": 6.819998379796744e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 6.06750138103962e-05, + "hd15iqr": 8.801680523902178e-05, + "ops": 14936.519295712886, + "total": 0.0006695000221952796, + "data": [ + 8.801680523902178e-05, + 6.437501870095729e-05, + 7.170001044869423e-05, + 6.388339679688215e-05, + 6.309160962700844e-05, + 6.06750138103962e-05, + 6.819998379796744e-05, + 6.684998515993357e-05, + 6.13831914961338e-05, + 6.132500711828471e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-jvp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-jvp-8-128]", + "params": { + "explicit_no_aux": false, + "transform": "jvp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "auto-jvp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006010917946696282, + "max": 0.0006297333864495158, + "mean": 0.0006180783198215067, + "stddev": 8.810841204135275e-06, + "rounds": 10, + "median": 0.000620291696395725, + "iqr": 1.3166596181690715e-05, + "q1": 0.0006112250033766031, + "q3": 0.0006243915995582938, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.0006010917946696282, + "hd15iqr": 0.0006297333864495158, + "ops": 1617.917936821967, + "total": 0.006180783198215067, + "data": [ + 0.0006204416044056415, + 0.0006221666000783444, + 0.0006243915995582938, + 0.0006010917946696282, + 0.0006297333864495158, + 0.0006201417883858085, + 0.0006189166102558375, + 0.0006251166108995676, + 0.0006075582001358271, + 0.0006112250033766031 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-jvp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-jvp-128-8]", + "params": { + "explicit_no_aux": false, + "transform": "jvp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "auto-jvp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.079999729990959e-05, + "max": 9.388341568410397e-05, + "mean": 7.028252119198442e-05, + "stddev": 9.471433048920775e-06, + "rounds": 10, + "median": 6.992919370532035e-05, + "iqr": 7.824995554983624e-06, + "q1": 6.402500439435243e-05, + "q3": 7.184999994933606e-05, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 6.079999729990959e-05, + "hd15iqr": 9.388341568410397e-05, + "ops": 14228.288670356465, + "total": 0.0007028252119198441, + "data": [ + 7.090838626027108e-05, + 6.402500439435243e-05, + 6.175001617521047e-05, + 7.184999994933606e-05, + 7.064999081194401e-05, + 6.92083965986967e-05, + 7.45665980502963e-05, + 6.518340669572353e-05, + 6.079999729990959e-05, + 9.388341568410397e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-jvp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-jvp-128-128]", + "params": { + "explicit_no_aux": false, + "transform": "jvp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "auto-jvp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006057168124243617, + "max": 0.0006833834107965231, + "mean": 0.0006319999997504056, + "stddev": 2.4496872070041066e-05, + "rounds": 10, + "median": 0.000629333290271461, + "iqr": 3.335000947117799e-05, + "q1": 0.0006109081907197833, + "q3": 0.0006442582001909613, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0006057168124243617, + "hd15iqr": 0.0006833834107965231, + "ops": 1582.2784816375442, + "total": 0.006319999997504056, + "data": [ + 0.0006833834107965231, + 0.0006109081907197833, + 0.0006442582001909613, + 0.0006306250113993883, + 0.0006280999863520264, + 0.0006581167923286557, + 0.0006057168124243617, + 0.0006305665941908955, + 0.0006224415963515639, + 0.000605883402749896 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-vjp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-vjp-8-8]", + "params": { + "explicit_no_aux": false, + "transform": "vjp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "auto-vjp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.446661427617073e-05, + "max": 7.573340553790331e-05, + "mean": 6.978916469961405e-05, + "stddev": 4.50888120651957e-06, + "rounds": 10, + "median": 7.031670538708567e-05, + "iqr": 9.47478692978621e-06, + "q1": 6.558340974152088e-05, + "q3": 7.505819667130709e-05, + "iqr_outliers": 0, + "stddev_outliers": 5, + "outliers": "5;0", + "ld15iqr": 6.446661427617073e-05, + "hd15iqr": 7.573340553790331e-05, + "ops": 14328.871885832019, + "total": 0.0006978916469961404, + "data": [ + 7.505819667130709e-05, + 7.065001409500837e-05, + 7.573340553790331e-05, + 7.062500808387994e-05, + 7.529179565608501e-05, + 7.00084026902914e-05, + 6.580820772796869e-05, + 6.558340974152088e-05, + 6.466659251600504e-05, + 6.446661427617073e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-vjp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-vjp-8-128]", + "params": { + "explicit_no_aux": false, + "transform": "vjp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "auto-vjp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006809917977079749, + "max": 0.0007332250010222196, + "mean": 0.0007097691996023059, + "stddev": 1.5913528584409317e-05, + "rounds": 10, + "median": 0.000715175096411258, + "iqr": 2.305819652974599e-05, + "q1": 0.0006935667945072055, + "q3": 0.0007166249910369515, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0006809917977079749, + "hd15iqr": 0.0007332250010222196, + "ops": 1408.9086995608075, + "total": 0.007097691996023059, + "data": [ + 0.0007161084096878767, + 0.0007095000008121132, + 0.0007166249910369515, + 0.0006935667945072055, + 0.0007243165979161859, + 0.0006809917977079749, + 0.0007153583923354745, + 0.0007149918004870415, + 0.0007332250010222196, + 0.0006930082105100155 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-vjp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-vjp-128-8]", + "params": { + "explicit_no_aux": false, + "transform": "vjp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "auto-vjp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.588341202586889e-05, + "max": 7.634998764842749e-05, + "mean": 7.045667851343751e-05, + "stddev": 3.905083674186683e-06, + "rounds": 10, + "median": 7.0320803206414e-05, + "iqr": 8.208421058952814e-06, + "q1": 6.634998135268688e-05, + "q3": 7.45584024116397e-05, + "iqr_outliers": 0, + "stddev_outliers": 6, + "outliers": "6;0", + "ld15iqr": 6.588341202586889e-05, + "hd15iqr": 7.634998764842749e-05, + "ops": 14193.118680854079, + "total": 0.000704566785134375, + "data": [ + 7.634998764842749e-05, + 7.180820684880019e-05, + 7.45584024116397e-05, + 6.945820059627295e-05, + 6.814999505877495e-05, + 6.588341202586889e-05, + 7.484180387109518e-05, + 7.118340581655503e-05, + 6.598338950425386e-05, + 6.634998135268688e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-vjp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-vjp-128-128]", + "params": { + "explicit_no_aux": false, + "transform": "vjp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "auto-vjp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0007147666066884995, + "max": 0.0008033749880269169, + "mean": 0.0007602383242920042, + "stddev": 2.910604000320605e-05, + "rounds": 10, + "median": 0.0007550000096671282, + "iqr": 4.819158930331464e-05, + "q1": 0.0007431584177538753, + "q3": 0.0007913500070571899, + "iqr_outliers": 0, + "stddev_outliers": 5, + "outliers": "5;0", + "ld15iqr": 0.0007147666066884995, + "hd15iqr": 0.0008033749880269169, + "ops": 1315.3769917233278, + "total": 0.007602383242920041, + "data": [ + 0.0007502665976062417, + 0.0007567582186311483, + 0.0007959000067785382, + 0.0007647000020369887, + 0.0007288665976375342, + 0.0008033749880269169, + 0.0007147666066884995, + 0.0007913500070571899, + 0.0007431584177538753, + 0.0007532418007031083 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-primal-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-primal-8-8]", + "params": { + "explicit_no_aux": true, + "transform": "primal", + "n_queries": 8, + "n_steps": 8 + }, + "param": "explicit-primal-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.4808403365314004e-05, + "max": 7.426678203046322e-05, + "mean": 6.24141818843782e-05, + "stddev": 7.1444567977052445e-06, + "rounds": 10, + "median": 6.11750059761107e-05, + "iqr": 1.2925011105835438e-05, + "q1": 5.626659840345383e-05, + "q3": 6.919160950928927e-05, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 5.4808403365314004e-05, + "hd15iqr": 7.426678203046322e-05, + "ops": 16021.999645088554, + "total": 0.000624141818843782, + "data": [ + 6.407501641660928e-05, + 6.919160950928927e-05, + 6.922499742358922e-05, + 5.626659840345383e-05, + 6.673340685665607e-05, + 5.827499553561211e-05, + 5.631661042571068e-05, + 5.4808403365314004e-05, + 5.4983398877084254e-05, + 7.426678203046322e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-primal-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-primal-8-128]", + "params": { + "explicit_no_aux": true, + "transform": "primal", + "n_queries": 8, + "n_steps": 128 + }, + "param": "explicit-primal-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00036546660121530297, + "max": 0.00043296660296618936, + "mean": 0.00039190081879496573, + "stddev": 2.1140475261927284e-05, + "rounds": 10, + "median": 0.00038959159282967446, + "iqr": 2.1250220015645027e-05, + "q1": 0.0003766665933653712, + "q3": 0.00039791681338101624, + "iqr_outliers": 1, + "stddev_outliers": 4, + "outliers": "4;1", + "ld15iqr": 0.00036546660121530297, + "hd15iqr": 0.00043296660296618936, + "ops": 2551.666013546093, + "total": 0.0039190081879496574, + "data": [ + 0.00043296660296618936, + 0.0003945250064134598, + 0.00038944159168750046, + 0.00038454998284578326, + 0.0004192583961412311, + 0.0003766665933653712, + 0.0003684750059619546, + 0.00036546660121530297, + 0.00039791681338101624, + 0.00038974159397184847 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-primal-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-primal-128-8]", + "params": { + "explicit_no_aux": true, + "transform": "primal", + "n_queries": 128, + "n_steps": 8 + }, + "param": "explicit-primal-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.228340160101652e-05, + "max": 6.992500275373458e-05, + "mean": 5.8631640858948226e-05, + "stddev": 5.388462867794909e-06, + "rounds": 10, + "median": 5.722919013351202e-05, + "iqr": 4.3915817514061955e-06, + "q1": 5.6108413264155385e-05, + "q3": 6.049999501556158e-05, + "iqr_outliers": 1, + "stddev_outliers": 4, + "outliers": "4;1", + "ld15iqr": 5.228340160101652e-05, + "hd15iqr": 6.992500275373458e-05, + "ops": 17055.637286456436, + "total": 0.0005863164085894823, + "data": [ + 5.7558389380574225e-05, + 6.049999501556158e-05, + 5.626659840345383e-05, + 5.6899990886449815e-05, + 5.3233210928738116e-05, + 5.228340160101652e-05, + 5.823320243507624e-05, + 6.992500275373458e-05, + 6.5308203920722e-05, + 5.6108413264155385e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-primal-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-primal-128-128]", + "params": { + "explicit_no_aux": true, + "transform": "primal", + "n_queries": 128, + "n_steps": 128 + }, + "param": "explicit-primal-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00036589999217540026, + "max": 0.000393799995072186, + "mean": 0.00038074501557275656, + "stddev": 8.852829180267407e-06, + "rounds": 10, + "median": 0.0003785791923291981, + "iqr": 1.3958406634628751e-05, + "q1": 0.0003765749977901578, + "q3": 0.00039053340442478656, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.00036589999217540026, + "hd15iqr": 0.000393799995072186, + "ops": 2626.4296552791247, + "total": 0.0038074501557275654, + "data": [ + 0.00039165839552879333, + 0.00038184160366654395, + 0.0003765749977901578, + 0.00039053340442478656, + 0.0003765749977901578, + 0.00036589999217540026, + 0.00037904998753219844, + 0.000393799995072186, + 0.0003781083971261978, + 0.00037340838462114335 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-jvp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-jvp-8-8]", + "params": { + "explicit_no_aux": true, + "transform": "jvp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "explicit-jvp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.0683395713567736e-05, + "max": 9.020839352160692e-05, + "mean": 6.588001502677798e-05, + "stddev": 9.061255370068345e-06, + "rounds": 10, + "median": 6.1775092035532e-05, + "iqr": 6.8333931267261464e-06, + "q1": 6.0825003311038016e-05, + "q3": 6.765839643776416e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 6.0683395713567736e-05, + "hd15iqr": 9.020839352160692e-05, + "ops": 15179.110077517955, + "total": 0.0006588001502677798, + "data": [ + 9.020839352160692e-05, + 6.842499133199453e-05, + 6.088321097195148e-05, + 6.195839960128069e-05, + 6.0683395713567736e-05, + 6.765839643776416e-05, + 6.076658610254526e-05, + 6.0825003311038016e-05, + 6.579998880624771e-05, + 6.159178446978331e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-jvp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-jvp-8-128]", + "params": { + "explicit_no_aux": true, + "transform": "jvp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "explicit-jvp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006025584181770683, + "max": 0.0006375165889039635, + "mean": 0.0006210724613629282, + "stddev": 1.1679141857280613e-05, + "rounds": 10, + "median": 0.0006246083881705999, + "iqr": 1.4541600830853029e-05, + "q1": 0.0006143666105344892, + "q3": 0.0006289082113653422, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.0006025584181770683, + "hd15iqr": 0.0006375165889039635, + "ops": 1610.1180815609255, + "total": 0.006210724613629282, + "data": [ + 0.0006231583887711167, + 0.0006375165889039635, + 0.0006143666105344892, + 0.0006300250068306922, + 0.0006260583875700831, + 0.0006025584181770683, + 0.0006280082045122982, + 0.0006027081981301308, + 0.0006174165988340974, + 0.0006289082113653422 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-jvp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-jvp-128-8]", + "params": { + "explicit_no_aux": true, + "transform": "jvp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "explicit-jvp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.021659355610609e-05, + "max": 7.601659744977951e-05, + "mean": 6.919251987710595e-05, + "stddev": 4.075415745772197e-06, + "rounds": 10, + "median": 6.936659337952733e-05, + "iqr": 4.091602750122558e-06, + "q1": 6.769180763512849e-05, + "q3": 7.178341038525105e-05, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 6.699180230498313e-05, + "hd15iqr": 7.601659744977951e-05, + "ops": 14452.4292766923, + "total": 0.0006919251987710595, + "data": [ + 7.601659744977951e-05, + 7.19000119715929e-05, + 6.906657945364714e-05, + 7.178341038525105e-05, + 6.860839203000068e-05, + 6.769180763512849e-05, + 6.699180230498313e-05, + 6.998339667916298e-05, + 6.966660730540752e-05, + 6.021659355610609e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-jvp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-jvp-128-128]", + "params": { + "explicit_no_aux": true, + "transform": "jvp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "explicit-jvp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006002499954774976, + "max": 0.0006460582138970494, + "mean": 0.0006222391617484391, + "stddev": 1.6198370591384277e-05, + "rounds": 10, + "median": 0.0006293916958384216, + "iqr": 2.470002509653564e-05, + "q1": 0.000606991583481431, + "q3": 0.0006316916085779666, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.0006002499954774976, + "hd15iqr": 0.0006460582138970494, + "ops": 1607.099105093426, + "total": 0.006222391617484391, + "data": [ + 0.0006460582138970494, + 0.0006369334179908038, + 0.0006022666115313768, + 0.0006303749978542328, + 0.0006083749933168292, + 0.0006316916085779666, + 0.0006284083938226104, + 0.000606991583481431, + 0.0006310418015345931, + 0.0006002499954774976 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-vjp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-vjp-8-8]", + "params": { + "explicit_no_aux": true, + "transform": "vjp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "explicit-vjp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.005000952631235e-05, + "max": 8.570838253945112e-05, + "mean": 7.669332204386592e-05, + "stddev": 5.4152732001026534e-06, + "rounds": 10, + "median": 7.530410075560213e-05, + "iqr": 1.0133394971489901e-05, + "q1": 7.265000604093075e-05, + "q3": 8.278340101242065e-05, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 7.005000952631235e-05, + "hd15iqr": 8.570838253945112e-05, + "ops": 13038.944895724228, + "total": 0.0007669332204386592, + "data": [ + 8.278340101242065e-05, + 7.257501129060983e-05, + 7.265000604093075e-05, + 7.588318549096584e-05, + 8.570838253945112e-05, + 7.47250160202384e-05, + 7.268320769071579e-05, + 7.6299998909235e-05, + 8.357500191777945e-05, + 7.005000952631235e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-vjp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-vjp-8-128]", + "params": { + "explicit_no_aux": true, + "transform": "vjp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "explicit-vjp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.000684658414684236, + "max": 0.0007257500197738409, + "mean": 0.0007041616667993367, + "stddev": 1.3738275304169125e-05, + "rounds": 10, + "median": 0.000707329111173749, + "iqr": 2.702518831938501e-05, + "q1": 0.0006867916090413928, + "q3": 0.0007138167973607778, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.000684658414684236, + "hd15iqr": 0.0007257500197738409, + "ops": 1420.1284266798461, + "total": 0.007041616667993367, + "data": [ + 0.0007060916163027286, + 0.0007257500197738409, + 0.0006867500022053718, + 0.0007085666060447693, + 0.0007086249999701977, + 0.000684658414684236, + 0.0007145331939682365, + 0.0006867916090413928, + 0.0007138167973607778, + 0.0007060334086418152 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-vjp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-vjp-128-8]", + "params": { + "explicit_no_aux": true, + "transform": "vjp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "explicit-vjp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.48499995097518e-05, + "max": 8.79582017660141e-05, + "mean": 7.989829871803522e-05, + "stddev": 4.962239800506161e-06, + "rounds": 10, + "median": 7.814159616827964e-05, + "iqr": 9.408406913280484e-06, + "q1": 7.554159965366125e-05, + "q3": 8.495000656694174e-05, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 7.48499995097518e-05, + "hd15iqr": 8.79582017660141e-05, + "ops": 12515.91105248744, + "total": 0.0007989829871803522, + "data": [ + 8.622501045465469e-05, + 8.79582017660141e-05, + 7.856660522520542e-05, + 7.515840698033572e-05, + 8.495000656694174e-05, + 7.771658711135388e-05, + 7.554159965366125e-05, + 7.617499213665723e-05, + 7.48499995097518e-05, + 8.184157777577639e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-vjp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-vjp-128-128]", + "params": { + "explicit_no_aux": true, + "transform": "vjp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "explicit-vjp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006899083964526653, + "max": 0.0007351665990427136, + "mean": 0.000712089182343334, + "stddev": 1.5123473639958897e-05, + "rounds": 10, + "median": 0.0007107042009010911, + "iqr": 1.8558418378233866e-05, + "q1": 0.0007047083927318454, + "q3": 0.0007232668111100792, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0006899083964526653, + "hd15iqr": 0.0007351665990427136, + "ops": 1404.3184825659237, + "total": 0.00712089182343334, + "data": [ + 0.0007099000038579106, + 0.000733250007033348, + 0.000692950002849102, + 0.0007138250162824989, + 0.0007232668111100792, + 0.0007064081961289048, + 0.0007351665990427136, + 0.0006899083964526653, + 0.0007115083979442715, + 0.0007047083927318454 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_batched_adaptive_dense_output", + "fullname": "benchmarks/test_aux_dense_output.py::test_batched_adaptive_dense_output", + "params": null, + "param": null, + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0009911665925756096, + "max": 0.0010288916062563657, + "mean": 0.0010091666388325393, + "stddev": 1.4808636405048942e-05, + "rounds": 10, + "median": 0.00100404170807451, + "iqr": 2.7449778281152335e-05, + "q1": 0.0009984834119677543, + "q3": 0.0010259331902489066, + "iqr_outliers": 0, + "stddev_outliers": 5, + "outliers": "5;0", + "ld15iqr": 0.0009911665925756096, + "hd15iqr": 0.0010288916062563657, + "ops": 990.9166251837815, + "total": 0.010091666388325394, + "data": [ + 0.0010288916062563657, + 0.0010190665954723955, + 0.0010259331902489066, + 0.0010020000161603093, + 0.0010060833999887108, + 0.0009918249910697342, + 0.0010274665895849467, + 0.0009911665925756096, + 0.0009984834119677543, + 0.0010007499950006604 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-rk4]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "rk4" + }, + "param": "primal-scalar-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.491605795919895e-06, + "max": 6.3540996052324775e-06, + "mean": 5.0791655667126175e-06, + "stddev": 4.4992174377717673e-07, + "rounds": 20, + "median": 5.0103990361094475e-06, + "iqr": 6.00004568696022e-07, + "q1": 4.743743920698762e-06, + "q3": 5.343748489394784e-06, + "iqr_outliers": 1, + "stddev_outliers": 5, + "outliers": "5;1", + "ld15iqr": 4.491605795919895e-06, + "hd15iqr": 6.3540996052324775e-06, + "ops": 196882.733367408, + "total": 0.00010158331133425236, + "data": [ + 6.3540996052324775e-06, + 4.7041918151080605e-06, + 4.98750014230609e-06, + 4.675006493926048e-06, + 5.633302498608827e-06, + 5.200004670768976e-06, + 5.495897494256497e-06, + 4.9915979616343975e-06, + 4.533410537987947e-06, + 5.491706542670727e-06, + 4.783296026289463e-06, + 4.525005351752043e-06, + 4.491605795919895e-06, + 5.1667098887264725e-06, + 5.487492308020591e-06, + 5.0166971050202845e-06, + 5.024997517466545e-06, + 5.024997517466545e-06, + 5.0041009671986105e-06, + 4.991691093891859e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-tsit5]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "tsit5" + }, + "param": "primal-scalar-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.549995694309473e-06, + "max": 7.72910425439477e-06, + "mean": 5.873134941793978e-06, + "stddev": 5.551428853642471e-07, + "rounds": 20, + "median": 5.656247958540917e-06, + "iqr": 2.8329086489975503e-07, + "q1": 5.6083605159074065e-06, + "q3": 5.8916513808071615e-06, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 5.549995694309473e-06, + "hd15iqr": 7.108401041477918e-06, + "ops": 170266.818302415, + "total": 0.00011746269883587957, + "data": [ + 7.72910425439477e-06, + 5.87500398978591e-06, + 5.762488581240177e-06, + 5.7167024351656435e-06, + 6.05420209467411e-06, + 5.662499461323023e-06, + 5.654199048876762e-06, + 5.64169604331255e-06, + 5.587504711002112e-06, + 5.575001705437899e-06, + 5.549995694309473e-06, + 5.924992728978396e-06, + 7.108401041477918e-06, + 5.5916956625878814e-06, + 5.908298771828413e-06, + 5.624990444630385e-06, + 5.658296868205071e-06, + 5.612510722130537e-06, + 5.604210309684277e-06, + 5.620904266834259e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-rodas5p]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "rodas5p" + }, + "param": "primal-scalar-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.151250373572111e-05, + "max": 3.0345795676112174e-05, + "mean": 2.4647907121106983e-05, + "stddev": 2.802090715939401e-06, + "rounds": 20, + "median": 2.3358350154012443e-05, + "iqr": 4.481250653043385e-06, + "q1": 2.2577052004635337e-05, + "q3": 2.7058302657678722e-05, + "iqr_outliers": 0, + "stddev_outliers": 5, + "outliers": "5;0", + "ld15iqr": 2.151250373572111e-05, + "hd15iqr": 3.0345795676112174e-05, + "ops": 40571.39598451587, + "total": 0.0004929581424221397, + "data": [ + 2.708750544115901e-05, + 2.3033306933939458e-05, + 2.162089804187417e-05, + 2.1875009406358003e-05, + 2.151250373572111e-05, + 2.942080609500408e-05, + 2.3495894856750966e-05, + 2.246659714728594e-05, + 2.197920111939311e-05, + 2.322080545127392e-05, + 2.268750686198473e-05, + 3.0345795676112174e-05, + 2.2945809178054333e-05, + 2.7266598772257565e-05, + 2.5024998467415572e-05, + 2.7029099874198438e-05, + 2.8958299662917852e-05, + 2.370000584051013e-05, + 2.313329605385661e-05, + 2.6154203806072473e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-em]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "em" + }, + "param": "primal-scalar-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.9167039580643175e-06, + "max": 1.1008302681148053e-05, + "mean": 8.204379701055587e-06, + "stddev": 1.2921904644409378e-06, + "rounds": 20, + "median": 7.810397073626519e-06, + "iqr": 1.2958480510860698e-06, + "q1": 7.606251165270805e-06, + "q3": 8.902099216356875e-06, + "iqr_outliers": 1, + "stddev_outliers": 7, + "outliers": "7;1", + "ld15iqr": 5.9167039580643175e-06, + "hd15iqr": 1.1008302681148053e-05, + "ops": 121886.11893125068, + "total": 0.00016408759402111172, + "data": [ + 7.833295967429876e-06, + 6.904208566993475e-06, + 6.9667003117501736e-06, + 7.737497799098492e-06, + 8.629204239696265e-06, + 7.77500681579113e-06, + 7.845903746783734e-06, + 7.487495895475149e-06, + 7.787498179823161e-06, + 9.174994193017483e-06, + 5.9167039580643175e-06, + 6.77499920129776e-06, + 9.533390402793884e-06, + 1.1008302681148053e-05, + 1.0695797391235828e-05, + 9.766698349267245e-06, + 7.783295586705208e-06, + 7.725006435066462e-06, + 8.304091170430184e-06, + 8.437503129243851e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-dae]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "dae" + }, + "param": "primal-scalar-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.1662504877895117e-05, + "max": 2.567080082371831e-05, + "mean": 2.2628752631135285e-05, + "stddev": 1.0017298244212376e-06, + "rounds": 20, + "median": 2.232504775747657e-05, + "iqr": 1.2394913937896517e-06, + "q1": 2.1858350373804568e-05, + "q3": 2.309784176759422e-05, + "iqr_outliers": 1, + "stddev_outliers": 3, + "outliers": "3;1", + "ld15iqr": 2.1662504877895117e-05, + "hd15iqr": 2.567080082371831e-05, + "ops": 44191.56531960507, + "total": 0.0004525750526227057, + "data": [ + 2.4049996864050626e-05, + 2.2383395116776227e-05, + 2.2083392832428216e-05, + 2.3845897521823646e-05, + 2.2133404854685068e-05, + 2.1887500770390035e-05, + 2.1829199977219104e-05, + 2.295828890055418e-05, + 2.324579982087016e-05, + 2.3216591216623783e-05, + 2.181249437853694e-05, + 2.251670230180025e-05, + 2.226670039817691e-05, + 2.1754100453108548e-05, + 2.1662504877895117e-05, + 2.181249437853694e-05, + 2.2425001952797173e-05, + 2.567080082371831e-05, + 2.2979092318564653e-05, + 2.204169286414981e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-rodas5p_dae]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "rodas5p_dae" + }, + "param": "primal-scalar-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.6816700119525196e-05, + "max": 3.775829682126641e-05, + "mean": 2.8575428877957166e-05, + "stddev": 2.8516244779962307e-06, + "rounds": 20, + "median": 2.7406297158449887e-05, + "iqr": 1.7083482816815417e-06, + "q1": 2.715419977903366e-05, + "q3": 2.88625480607152e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 2.6816700119525196e-05, + "hd15iqr": 3.5033293534070255e-05, + "ops": 34995.10031051157, + "total": 0.0005715085775591433, + "data": [ + 3.775829682126641e-05, + 2.9154191724956036e-05, + 2.704169601202011e-05, + 2.6895792689174414e-05, + 2.756250323727727e-05, + 2.7054199017584323e-05, + 2.7312501333653928e-05, + 2.698330208659172e-05, + 2.7358403895050287e-05, + 2.745419042184949e-05, + 2.7349998708814384e-05, + 2.6816700119525196e-05, + 2.727910177782178e-05, + 3.5033293534070255e-05, + 2.762089716270566e-05, + 2.9712507966905832e-05, + 2.9770901892334223e-05, + 2.7254200540482997e-05, + 2.8570904396474363e-05, + 2.752499422058463e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-sdae]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "sdae" + }, + "param": "primal-scalar-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.304579390212894e-05, + "max": 7.03207915648818e-05, + "mean": 6.195145833771676e-05, + "stddev": 5.4976328739558265e-06, + "rounds": 20, + "median": 6.347920279949903e-05, + "iqr": 9.870796930044883e-06, + "q1": 5.576040130108595e-05, + "q3": 6.563119823113083e-05, + "iqr_outliers": 0, + "stddev_outliers": 9, + "outliers": "9;0", + "ld15iqr": 5.304579390212894e-05, + "hd15iqr": 7.03207915648818e-05, + "ops": 16141.670056396211, + "total": 0.0012390291667543352, + "data": [ + 6.402080180123448e-05, + 6.484159966930747e-05, + 6.79041026160121e-05, + 6.28334004431963e-05, + 6.732919719070196e-05, + 7.03207915648818e-05, + 6.257909117266536e-05, + 5.5770797189325094e-05, + 5.43624977581203e-05, + 5.4062495473772286e-05, + 5.304579390212894e-05, + 5.374589236453176e-05, + 5.5750005412846806e-05, + 6.368339527398347e-05, + 6.341669941321016e-05, + 6.354170618578791e-05, + 6.373750511556864e-05, + 6.642079679295421e-05, + 6.914590485394002e-05, + 6.251669256016613e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-rk4]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "rk4" + }, + "param": "primal-vector16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.39999857917428e-06, + "max": 5.741696804761887e-06, + "mean": 4.5506295282393695e-06, + "stddev": 2.8735929205981665e-07, + "rounds": 20, + "median": 4.470848944038153e-06, + "iqr": 1.0000658221542784e-07, + "q1": 4.437495954334736e-06, + "q3": 4.537502536550164e-06, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 4.39999857917428e-06, + "hd15iqr": 5.741696804761887e-06, + "ops": 219749.81566712997, + "total": 9.101259056478738e-05, + "data": [ + 5.741696804761887e-06, + 4.6333065256476406e-06, + 4.591699689626694e-06, + 4.566693678498268e-06, + 4.549999721348285e-06, + 4.525005351752043e-06, + 4.525005351752043e-06, + 4.5166932977735995e-06, + 4.441698547452688e-06, + 4.51250234618783e-06, + 4.46659978479147e-06, + 4.412501584738493e-06, + 4.466692917048931e-06, + 4.445796366780996e-06, + 4.437495954334736e-06, + 4.475004971027374e-06, + 4.429207183420658e-06, + 4.437495954334736e-06, + 4.39999857917428e-06, + 4.437495954334736e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-tsit5]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "tsit5" + }, + "param": "primal-vector16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.112498860806227e-06, + "max": 1.667909091338515e-05, + "mean": 8.781038341112435e-06, + "stddev": 2.6891472615139983e-06, + "rounds": 20, + "median": 7.649953477084637e-06, + "iqr": 1.5250057913362977e-06, + "q1": 7.212493801489473e-06, + "q3": 8.73749959282577e-06, + "iqr_outliers": 4, + "stddev_outliers": 4, + "outliers": "4;4", + "ld15iqr": 7.112498860806227e-06, + "hd15iqr": 1.1504197027534247e-05, + "ops": 113881.74850780962, + "total": 0.00017562076682224869, + "data": [ + 1.667909091338515e-05, + 1.3916695024818182e-05, + 8.079200051724911e-06, + 7.854204159229994e-06, + 7.266702596098185e-06, + 7.287494372576475e-06, + 7.266690954566002e-06, + 7.187493611127138e-06, + 7.679208647459745e-06, + 7.233396172523499e-06, + 7.15409405529499e-06, + 7.133395411074162e-06, + 7.191591430455447e-06, + 7.112498860806227e-06, + 8.02910653874278e-06, + 7.645797450095414e-06, + 1.1504197027534247e-05, + 1.2350000906735658e-05, + 9.39579913392663e-06, + 7.654109504073859e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-rodas5p]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "rodas5p" + }, + "param": "primal-vector16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.7299992982298136e-05, + "max": 5.134169477969408e-05, + "mean": 4.215312423184514e-05, + "stddev": 3.7085629129184214e-06, + "rounds": 20, + "median": 4.163954872637987e-05, + "iqr": 5.00429887324572e-06, + "q1": 3.928535152226686e-05, + "q3": 4.428965039551258e-05, + "iqr_outliers": 0, + "stddev_outliers": 5, + "outliers": "5;0", + "ld15iqr": 3.7299992982298136e-05, + "hd15iqr": 5.134169477969408e-05, + "ops": 23723.034015223402, + "total": 0.0008430624846369028, + "data": [ + 5.134169477969408e-05, + 4.510000580921769e-05, + 4.7687499318271875e-05, + 4.181249532848596e-05, + 4.394589923322201e-05, + 4.152910551056266e-05, + 3.7299992982298136e-05, + 3.934160340577364e-05, + 3.825420280918479e-05, + 3.95124894566834e-05, + 3.8837501779198644e-05, + 3.922909963876009e-05, + 3.990830155089498e-05, + 4.424590151757002e-05, + 4.433339927345514e-05, + 3.92083078622818e-05, + 3.967499360442161e-05, + 4.776669666171074e-05, + 4.2283302173018454e-05, + 4.1749991942197086e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-em]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "em" + }, + "param": "primal-vector16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.3495894856750966e-05, + "max": 3.4508295357227325e-05, + "mean": 2.712688292376697e-05, + "stddev": 3.1034580983721916e-06, + "rounds": 20, + "median": 2.6187498588114976e-05, + "iqr": 3.7416524719446884e-06, + "q1": 2.455625217407942e-05, + "q3": 2.8297904646024107e-05, + "iqr_outliers": 1, + "stddev_outliers": 6, + "outliers": "6;1", + "ld15iqr": 2.3495894856750966e-05, + "hd15iqr": 3.4508295357227325e-05, + "ops": 36863.80048936102, + "total": 0.0005425376584753394, + "data": [ + 3.4508295357227325e-05, + 3.102500922977924e-05, + 2.8241705149412154e-05, + 2.8091599233448505e-05, + 2.5287503376603127e-05, + 3.30875045619905e-05, + 2.7837511152029037e-05, + 2.8308306355029345e-05, + 2.6124995201826096e-05, + 2.6091700419783592e-05, + 2.963340375572443e-05, + 2.4425005540251733e-05, + 2.401249948889017e-05, + 2.828750293701887e-05, + 2.6250001974403857e-05, + 2.3495894856750966e-05, + 2.5104207452386618e-05, + 2.4412502534687518e-05, + 2.3625011090189217e-05, + 2.4687498807907104e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-dae]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "dae" + }, + "param": "primal-vector16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00010595000348985195, + "max": 0.00013029170222580432, + "mean": 0.00011071897170040756, + "stddev": 5.478652863898532e-06, + "rounds": 20, + "median": 0.00010967495618388056, + "iqr": 5.364557728171343e-06, + "q1": 0.00010700209531933069, + "q3": 0.00011236665304750204, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.00010595000348985195, + "hd15iqr": 0.00013029170222580432, + "ops": 9031.875790048716, + "total": 0.0022143794340081513, + "data": [ + 0.00013029170222580432, + 0.00011345830280333758, + 0.0001135458005592227, + 0.00011584999738261104, + 0.00010672499192878603, + 0.00010696669341996312, + 0.00011017080396413803, + 0.00011095419758930803, + 0.00011127500329166651, + 0.00010917910840362311, + 0.0001088708988390863, + 0.00010633750353008508, + 0.00010836670408025384, + 0.00010640840046107768, + 0.0001105459057725966, + 0.00011491670738905668, + 0.00011017920915037393, + 0.00010735000250861049, + 0.00010703749721869826, + 0.00010595000348985195 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-rodas5p_dae]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "rodas5p_dae" + }, + "param": "primal-vector16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.286250427365304e-05, + "max": 8.440419333055615e-05, + "mean": 6.728521839249879e-05, + "stddev": 4.575262076300052e-06, + "rounds": 20, + "median": 6.608955445699393e-05, + "iqr": 2.808310091495522e-06, + "q1": 6.521879113279282e-05, + "q3": 6.802710122428834e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 6.286250427365304e-05, + "hd15iqr": 7.227919995784759e-05, + "ops": 14862.105286879529, + "total": 0.0013457043678499758, + "data": [ + 8.440419333055615e-05, + 7.227919995784759e-05, + 6.705829873681069e-05, + 6.286250427365304e-05, + 6.351660704240203e-05, + 6.384169682860374e-05, + 6.612080615013838e-05, + 6.444168975576759e-05, + 6.585419178009033e-05, + 6.917919963598252e-05, + 6.841670256108046e-05, + 6.497089052572846e-05, + 6.763749988749623e-05, + 6.638750201091171e-05, + 6.668330170214176e-05, + 6.54666917398572e-05, + 6.60583027638495e-05, + 6.577919702976942e-05, + 6.596669554710388e-05, + 6.877919659018517e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-sdae]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "sdae" + }, + "param": "primal-vector16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0002535457955673337, + "max": 0.00027629999676719307, + "mean": 0.0002606981236021966, + "stddev": 5.035679584375278e-06, + "rounds": 20, + "median": 0.000259843748062849, + "iqr": 4.445848753675851e-06, + "q1": 0.00025775624671950934, + "q3": 0.0002622020954731852, + "iqr_outliers": 1, + "stddev_outliers": 3, + "outliers": "3;1", + "ld15iqr": 0.0002535457955673337, + "hd15iqr": 0.00027629999676719307, + "ops": 3835.854229338129, + "total": 0.005213962472043932, + "data": [ + 0.00027629999676719307, + 0.00026881670346483587, + 0.0002650249982252717, + 0.00026127499295398594, + 0.00026032079476863147, + 0.00025980420177802445, + 0.0002535457955673337, + 0.0002598582999780774, + 0.00025982919614762066, + 0.0002564749913290143, + 0.00026312919799238444, + 0.0002606209018267691, + 0.000256341602653265, + 0.00025852080434560774, + 0.0002635166049003601, + 0.00025835830019786953, + 0.0002604458946734667, + 0.00025862089823931457, + 0.0002571541932411492, + 0.00025600410299375653 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-rk4]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "rk4" + }, + "param": "primal-tree16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.675002466887236e-06, + "max": 7.508392445743084e-06, + "mean": 6.007925840094686e-06, + "stddev": 4.310951280368421e-07, + "rounds": 20, + "median": 5.858350777998567e-06, + "iqr": 2.5841291062533855e-07, + "q1": 5.770794814452529e-06, + "q3": 6.0292077250778675e-06, + "iqr_outliers": 3, + "stddev_outliers": 3, + "outliers": "3;3", + "ld15iqr": 5.675002466887236e-06, + "hd15iqr": 6.458396092057228e-06, + "ops": 166446.794886576, + "total": 0.00012015851680189372, + "data": [ + 7.508392445743084e-06, + 6.087508518248797e-06, + 5.970906931906938e-06, + 5.966704338788986e-06, + 5.8916979469358924e-06, + 5.929102189838886e-06, + 5.858298391103745e-06, + 5.858403164893389e-06, + 5.754106678068638e-06, + 5.770800635218621e-06, + 5.745899397879839e-06, + 5.799997597932815e-06, + 5.733303260058164e-06, + 5.787506233900786e-06, + 5.770788993686437e-06, + 5.7916971854865554e-06, + 5.675002466887236e-06, + 6.150000263005495e-06, + 6.65000407025218e-06, + 6.458396092057228e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-tsit5]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "tsit5" + }, + "param": "primal-tree16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 9.600003249943256e-06, + "max": 2.6741588953882456e-05, + "mean": 1.9618129008449615e-05, + "stddev": 5.146638221602803e-06, + "rounds": 20, + "median": 2.1868746262043715e-05, + "iqr": 4.54994151368737e-06, + "q1": 1.793335541151464e-05, + "q3": 2.248329692520201e-05, + "iqr_outliers": 3, + "stddev_outliers": 5, + "outliers": "5;3", + "ld15iqr": 1.1200003791600466e-05, + "hd15iqr": 2.6741588953882456e-05, + "ops": 50973.26047602682, + "total": 0.00039236258016899227, + "data": [ + 1.7879204824566842e-05, + 1.860000193119049e-05, + 1.0241696145385504e-05, + 2.1891691721975805e-05, + 2.269999822601676e-05, + 2.2358400747179986e-05, + 2.221670001745224e-05, + 2.2470799740403892e-05, + 2.2495794110000133e-05, + 2.1845800802111626e-05, + 2.240830799564719e-05, + 2.1483399905264378e-05, + 2.3316696751862764e-05, + 2.170410007238388e-05, + 2.464589197188616e-05, + 2.6741588953882456e-05, + 1.798750599846244e-05, + 1.1200003791600466e-05, + 1.0574993211776018e-05, + 9.600003249943256e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-rodas5p]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "rodas5p" + }, + "param": "primal-tree16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.3274997733533385e-05, + "max": 5.415830528363585e-05, + "mean": 4.581292625516653e-05, + "stddev": 3.269763577508173e-06, + "rounds": 20, + "median": 4.434170550666749e-05, + "iqr": 3.34584037773311e-06, + "q1": 4.3712503975257276e-05, + "q3": 4.7058344352990386e-05, + "iqr_outliers": 2, + "stddev_outliers": 4, + "outliers": "4;2", + "ld15iqr": 4.3274997733533385e-05, + "hd15iqr": 5.2137509919703005e-05, + "ops": 21827.900589240915, + "total": 0.0009162585251033306, + "data": [ + 5.0474994350224736e-05, + 4.447500687092543e-05, + 4.457499599084258e-05, + 4.941250663250685e-05, + 4.8779195640236137e-05, + 4.487920086830855e-05, + 4.5337493065744636e-05, + 5.2137509919703005e-05, + 5.415830528363585e-05, + 4.3937505688518284e-05, + 4.4854194857180116e-05, + 4.361250903457403e-05, + 4.339580191299319e-05, + 4.3274997733533385e-05, + 4.420840414240956e-05, + 4.350000526756048e-05, + 4.3933303095400335e-05, + 4.381249891594052e-05, + 4.359589656814933e-05, + 4.39041992649436e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-em]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "em" + }, + "param": "primal-tree16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.408329794183373e-05, + "max": 5.872079636901617e-05, + "mean": 3.8937905337661504e-05, + "stddev": 5.642600795597319e-06, + "rounds": 20, + "median": 3.68645996786654e-05, + "iqr": 4.735443508252504e-06, + "q1": 3.5770807880908254e-05, + "q3": 4.050625138916076e-05, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 3.408329794183373e-05, + "hd15iqr": 5.872079636901617e-05, + "ops": 25681.915637942147, + "total": 0.0007787581067532301, + "data": [ + 5.872079636901617e-05, + 4.1125004645437e-05, + 4.068330163136125e-05, + 3.611670108512044e-05, + 3.7874991539865734e-05, + 3.645409597083926e-05, + 3.4683302510529755e-05, + 3.658749628812075e-05, + 3.7483300548046825e-05, + 3.610000712797046e-05, + 3.408329794183373e-05, + 3.5329104866832496e-05, + 3.544160863384604e-05, + 3.4941697958856824e-05, + 3.619159106165171e-05, + 3.714170306921005e-05, + 4.032920114696026e-05, + 4.320420557633042e-05, + 4.6725000720471145e-05, + 3.954169806092977e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-dae]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "dae" + }, + "param": "primal-tree16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00011294579599052668, + "max": 0.00012781659606844186, + "mean": 0.00011769394506700337, + "stddev": 3.624562272312289e-06, + "rounds": 20, + "median": 0.00011671459651552141, + "iqr": 3.4812488593161187e-06, + "q1": 0.00011541455169208347, + "q3": 0.00011889580055139959, + "iqr_outliers": 2, + "stddev_outliers": 4, + "outliers": "4;2", + "ld15iqr": 0.00011294579599052668, + "hd15iqr": 0.00012501670280471445, + "ops": 8496.613818414347, + "total": 0.0023538789013400675, + "data": [ + 0.00012781659606844186, + 0.00011558750411495566, + 0.00012501670280471445, + 0.00011755829909816384, + 0.00011294579599052668, + 0.00011690419632941485, + 0.00011391249718144536, + 0.00011827499838545918, + 0.00011559580452740193, + 0.00012128750095143914, + 0.00011901659891009331, + 0.0001162333064712584, + 0.00011509159812703729, + 0.00011470830067992211, + 0.0001152415992692113, + 0.00011911670444533228, + 0.00011839589569717646, + 0.00011877500219270587, + 0.00011652499670162797, + 0.00011587500339373946 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-rodas5p_dae]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "rodas5p_dae" + }, + "param": "primal-tree16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.034169975668192e-05, + "max": 0.00010079588973894715, + "mean": 7.909854990430176e-05, + "stddev": 7.395811925976487e-06, + "rounds": 20, + "median": 7.826249930076301e-05, + "iqr": 7.1334128733724274e-06, + "q1": 7.36812420655042e-05, + "q3": 8.081465493887663e-05, + "iqr_outliers": 1, + "stddev_outliers": 6, + "outliers": "6;1", + "ld15iqr": 7.034169975668192e-05, + "hd15iqr": 0.00010079588973894715, + "ops": 12642.456798637406, + "total": 0.0015819709980860353, + "data": [ + 0.00010079588973894715, + 7.995419437065721e-05, + 8.838330395519734e-05, + 8.891250472515821e-05, + 7.969159632921219e-05, + 7.510000141337514e-05, + 7.637920789420605e-05, + 7.793749682605267e-05, + 7.858750177547336e-05, + 8.023340487852692e-05, + 7.869580294936896e-05, + 8.139590499922633e-05, + 8.5725006647408e-05, + 7.767500355839729e-05, + 7.379999151453376e-05, + 7.301250007003545e-05, + 7.356249261647463e-05, + 7.062499644234776e-05, + 7.034169975668192e-05, + 7.11624976247549e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-sdae]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "sdae" + }, + "param": "primal-tree16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0002743041957728565, + "max": 0.0002958041033707559, + "mean": 0.0002781033469364047, + "stddev": 4.856162879362568e-06, + "rounds": 20, + "median": 0.00027639585314318536, + "iqr": 4.529202124103882e-06, + "q1": 0.0002752666478045285, + "q3": 0.00027979584992863236, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.0002743041957728565, + "hd15iqr": 0.0002958041033707559, + "ops": 3595.785563230474, + "total": 0.0055620669387280944, + "data": [ + 0.0002958041033707559, + 0.0002805209020152688, + 0.0002794833038933575, + 0.00027604589704424145, + 0.00027667080285027624, + 0.0002752874977886677, + 0.00027855000225827096, + 0.0002765250043012202, + 0.00027626670198515056, + 0.0002801083959639072, + 0.00027492500375956295, + 0.0002751375082880259, + 0.00028108750702813266, + 0.0002753834007307887, + 0.00027565000345930457, + 0.00027720420621335506, + 0.0002746499958448112, + 0.00027524579782038926, + 0.00028321670833975077, + 0.0002743041957728565 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-rk4]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "rk4" + }, + "param": "jvp-scalar-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.287502426654101e-06, + "max": 7.262500002980232e-06, + "mean": 5.6585401762276886e-06, + "stddev": 5.787574060615959e-07, + "rounds": 20, + "median": 5.379196954891085e-06, + "iqr": 3.312481567263605e-07, + "q1": 5.318754119798541e-06, + "q3": 5.6500022765249016e-06, + "iqr_outliers": 4, + "stddev_outliers": 4, + "outliers": "4;4", + "ld15iqr": 5.287502426654101e-06, + "hd15iqr": 6.2666949816048145e-06, + "ops": 176724.02578338818, + "total": 0.00011317080352455378, + "data": [ + 7.262500002980232e-06, + 5.675002466887236e-06, + 5.562498699873686e-06, + 6.716698408126831e-06, + 5.40000619366765e-06, + 5.4415897466242315e-06, + 5.358399357646704e-06, + 6.633298471570015e-06, + 5.35829458385706e-06, + 5.399994552135467e-06, + 5.3292023949325085e-06, + 5.312508437782526e-06, + 5.308305844664574e-06, + 5.324999801814556e-06, + 5.291705019772053e-06, + 5.2916002459824085e-06, + 5.625002086162567e-06, + 6.2666949816048145e-06, + 5.287502426654101e-06, + 5.324999801814556e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-tsit5]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "tsit5" + }, + "param": "jvp-scalar-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.908407133072614e-06, + "max": 2.0529096946120263e-05, + "mean": 1.0597929358482361e-05, + "stddev": 3.758542200514938e-06, + "rounds": 20, + "median": 8.710403926670552e-06, + "iqr": 4.712498048320411e-06, + "q1": 8.045852882787586e-06, + "q3": 1.2758350931107997e-05, + "iqr_outliers": 1, + "stddev_outliers": 4, + "outliers": "4;1", + "ld15iqr": 7.908407133072614e-06, + "hd15iqr": 2.0529096946120263e-05, + "ops": 94358.05487792018, + "total": 0.0002119585871696472, + "data": [ + 1.8204201478511094e-05, + 1.4649995137006044e-05, + 9.97500028461218e-06, + 1.4658400323241949e-05, + 2.0529096946120263e-05, + 8.645898196846246e-06, + 8.087500464171172e-06, + 7.96669628471136e-06, + 7.929198909550906e-06, + 7.908407133072614e-06, + 1.3566692359745502e-05, + 1.1950009502470494e-05, + 8.274998981505632e-06, + 8.004205301404e-06, + 7.962493691593409e-06, + 8.537492249161005e-06, + 8.833291940391063e-06, + 8.700008038431406e-06, + 8.720799814909697e-06, + 8.854200132191181e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-rodas5p]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "rodas5p" + }, + "param": "jvp-scalar-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.8325000312179326e-05, + "max": 5.2791601046919825e-05, + "mean": 3.211437549907714e-05, + "stddev": 6.270680530974166e-06, + "rounds": 20, + "median": 2.8985395329073074e-05, + "iqr": 5.077192327007651e-06, + "q1": 2.842285321094096e-05, + "q3": 3.350004553794861e-05, + "iqr_outliers": 2, + "stddev_outliers": 3, + "outliers": "3;2", + "ld15iqr": 2.8325000312179326e-05, + "hd15iqr": 4.139590309932828e-05, + "ops": 31138.70297831999, + "total": 0.0006422875099815428, + "data": [ + 3.946250071749091e-05, + 2.9516604263335468e-05, + 2.8533407021313906e-05, + 2.9220792930573226e-05, + 2.8325000312179326e-05, + 2.841660752892494e-05, + 2.8391694650053977e-05, + 2.841660752892494e-05, + 2.8429098892956973e-05, + 2.8383301105350257e-05, + 2.856670180335641e-05, + 2.95999925583601e-05, + 3.3404200803488496e-05, + 5.2791601046919825e-05, + 4.139590309932828e-05, + 3.3595890272408724e-05, + 3.6691699642688035e-05, + 3.1933397985994814e-05, + 2.874999772757292e-05, + 2.8462510090321303e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-em]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "em" + }, + "param": "jvp-scalar-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.450006574392318e-06, + "max": 1.680420245975256e-05, + "mean": 6.245424738153815e-06, + "stddev": 2.491928882609441e-06, + "rounds": 20, + "median": 5.658355075865984e-06, + "iqr": 2.5209737941622734e-07, + "q1": 5.566648906096816e-06, + "q3": 5.8187462855130436e-06, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 5.450006574392318e-06, + "hd15iqr": 1.680420245975256e-05, + "ops": 160117.21250772863, + "total": 0.0001249084947630763, + "data": [ + 1.680420245975256e-05, + 6.03341031819582e-06, + 5.745794624090195e-06, + 5.720800254493952e-06, + 5.675002466887236e-06, + 5.8916979469358924e-06, + 5.683396011590958e-06, + 5.599996075034141e-06, + 6.137497257441282e-06, + 5.6417076848447325e-06, + 5.53330173715949e-06, + 5.612499080598354e-06, + 5.537504330277443e-06, + 5.633395630866289e-06, + 5.595793481916189e-06, + 5.52500132471323e-06, + 5.450006574392318e-06, + 5.725002847611904e-06, + 5.908391904085874e-06, + 5.4540927521884445e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-dae]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "dae" + }, + "param": "jvp-scalar-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.0449999030679464e-05, + "max": 3.9570801891386506e-05, + "mean": 3.2719175214879216e-05, + "stddev": 2.5325411080863566e-06, + "rounds": 20, + "median": 3.201459767296911e-05, + "iqr": 2.4895009119063643e-06, + "q1": 3.093545092269778e-05, + "q3": 3.342495183460415e-05, + "iqr_outliers": 2, + "stddev_outliers": 3, + "outliers": "3;2", + "ld15iqr": 3.0449999030679464e-05, + "hd15iqr": 3.78916971385479e-05, + "ops": 30563.117604053932, + "total": 0.0006543835042975843, + "data": [ + 3.9570801891386506e-05, + 3.78916971385479e-05, + 3.6216701846569774e-05, + 3.104170318692923e-05, + 3.082919865846634e-05, + 3.147920360788703e-05, + 3.067089710384607e-05, + 3.064170014113188e-05, + 3.0512502416968345e-05, + 3.120420733466744e-05, + 3.2937503419816494e-05, + 3.0449999030679464e-05, + 3.1274999491870405e-05, + 3.36041091941297e-05, + 3.227499546483159e-05, + 3.1849998049438e-05, + 3.221249207854271e-05, + 3.3245794475078584e-05, + 3.217919729650021e-05, + 3.429580247029662e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-rodas5p_dae]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "rodas5p_dae" + }, + "param": "jvp-scalar-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.434589598327875e-05, + "max": 4.894579760730267e-05, + "mean": 3.820042591542005e-05, + "stddev": 4.1074971760016085e-06, + "rounds": 20, + "median": 3.671250306069851e-05, + "iqr": 4.420842742547386e-06, + "q1": 3.531455295160413e-05, + "q3": 3.9735395694151515e-05, + "iqr_outliers": 1, + "stddev_outliers": 3, + "outliers": "3;1", + "ld15iqr": 3.434589598327875e-05, + "hd15iqr": 4.894579760730267e-05, + "ops": 26177.718599633154, + "total": 0.0007640085183084011, + "data": [ + 3.9745797403156756e-05, + 3.587090177461505e-05, + 3.447920316830277e-05, + 3.434589598327875e-05, + 3.6737509071826933e-05, + 3.487500362098217e-05, + 3.504580818116665e-05, + 3.684170078486204e-05, + 3.6687497049570085e-05, + 3.565420629456639e-05, + 4.186669830232859e-05, + 3.766249865293503e-05, + 4.3758400715887545e-05, + 4.894579760730267e-05, + 4.6258291695266963e-05, + 3.972499398514628e-05, + 3.498750738799572e-05, + 3.593750298023224e-05, + 3.9000005926936865e-05, + 3.558329772204161e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-sdae]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "sdae" + }, + "param": "jvp-scalar-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.287919288501143e-05, + "max": 9.626250248402357e-05, + "mean": 8.14783206442371e-05, + "stddev": 5.695879547415713e-06, + "rounds": 20, + "median": 8.222085307352245e-05, + "iqr": 7.010408444330091e-06, + "q1": 7.745414623059333e-05, + "q3": 8.446455467492342e-05, + "iqr_outliers": 1, + "stddev_outliers": 6, + "outliers": "6;1", + "ld15iqr": 7.287919288501143e-05, + "hd15iqr": 9.626250248402357e-05, + "ops": 12273.20337597961, + "total": 0.001629566412884742, + "data": [ + 7.930001011118293e-05, + 7.71957915276289e-05, + 8.297079475596547e-05, + 8.857500506564975e-05, + 8.532910142093897e-05, + 9.626250248402357e-05, + 8.646249771118164e-05, + 7.88999954238534e-05, + 7.481250213459134e-05, + 7.386249490082264e-05, + 7.287919288501143e-05, + 7.533750031143426e-05, + 7.897079922258854e-05, + 8.237080182880164e-05, + 8.360000792890787e-05, + 8.359160274267197e-05, + 8.209580555558204e-05, + 8.234590059146285e-05, + 8.699160534888505e-05, + 7.771250093355775e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-rk4]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "rk4" + }, + "param": "jvp-vector16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.670799873769284e-06, + "max": 7.366703357547522e-06, + "mean": 5.985216703265906e-06, + "stddev": 4.96699057528812e-07, + "rounds": 20, + "median": 5.752104334533214e-06, + "iqr": 2.812943421304221e-07, + "q1": 5.7041528634727005e-06, + "q3": 5.9854472056031225e-06, + "iqr_outliers": 3, + "stddev_outliers": 3, + "outliers": "3;3", + "ld15iqr": 5.670799873769284e-06, + "hd15iqr": 6.491690874099731e-06, + "ops": 167078.3280836495, + "total": 0.00011970433406531811, + "data": [ + 7.366703357547522e-06, + 6.033398676663637e-06, + 5.937495734542608e-06, + 5.908403545618058e-06, + 5.849997978657484e-06, + 6.237498018890619e-06, + 7.237505633383989e-06, + 5.816598422825336e-06, + 5.7292054407298565e-06, + 5.758402403444052e-06, + 5.712499842047691e-06, + 5.695805884897709e-06, + 6.491690874099731e-06, + 5.745806265622377e-06, + 5.737505853176117e-06, + 5.675002466887236e-06, + 5.670799873769284e-06, + 5.695805884897709e-06, + 5.687505472451449e-06, + 5.7167024351656435e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-tsit5]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "tsit5" + }, + "param": "jvp-vector16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 8.245802018791436e-06, + "max": 2.5229190941900016e-05, + "mean": 1.1521874694153666e-05, + "stddev": 5.108392366784818e-06, + "rounds": 20, + "median": 9.229202987626195e-06, + "iqr": 2.8354523237794644e-06, + "q1": 8.629151852801443e-06, + "q3": 1.1464604176580907e-05, + "iqr_outliers": 3, + "stddev_outliers": 3, + "outliers": "3;3", + "ld15iqr": 8.245802018791436e-06, + "hd15iqr": 1.8204201478511094e-05, + "ops": 86791.43165021675, + "total": 0.00023043749388307333, + "data": [ + 2.5229190941900016e-05, + 1.5712494496256112e-05, + 2.3462506942451e-05, + 9.841704741120339e-06, + 8.841592352837324e-06, + 8.687505032867194e-06, + 8.558295667171478e-06, + 8.966599125415087e-06, + 9.845802560448647e-06, + 8.570798672735692e-06, + 9.13339899852872e-06, + 9.32500697672367e-06, + 1.3083405792713166e-05, + 9.6249976195395e-06, + 8.816597983241081e-06, + 1.8204201478511094e-05, + 8.31669894978404e-06, + 8.483394049108029e-06, + 8.245802018791436e-06, + 9.487499482929707e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-rodas5p]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "rodas5p" + }, + "param": "jvp-vector16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.2837503608316184e-05, + "max": 8.520000847056508e-05, + "mean": 6.963124498724937e-05, + "stddev": 6.83246627038081e-06, + "rounds": 20, + "median": 7.020204793661833e-05, + "iqr": 6.481207674369219e-06, + "q1": 6.709794979542494e-05, + "q3": 7.357915746979416e-05, + "iqr_outliers": 3, + "stddev_outliers": 4, + "outliers": "4;3", + "ld15iqr": 6.27624918706715e-05, + "hd15iqr": 8.520000847056508e-05, + "ops": 14361.368954168727, + "total": 0.0013926248997449876, + "data": [ + 5.7241704780608416e-05, + 5.2837503608316184e-05, + 6.27624918706715e-05, + 6.936669815331698e-05, + 6.832079961895942e-05, + 6.907079368829727e-05, + 6.655000615864992e-05, + 7.470420096069574e-05, + 7.347500650212169e-05, + 7.277909899130463e-05, + 7.368330843746663e-05, + 7.41582945920527e-05, + 8.520000847056508e-05, + 7.633749628439545e-05, + 7.03666009940207e-05, + 7.093329913914204e-05, + 6.764589343219996e-05, + 6.640839856117964e-05, + 7.003749487921596e-05, + 7.074580062180758e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-em]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "em" + }, + "param": "jvp-vector16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.364160656929016e-05, + "max": 4.9870798829942944e-05, + "mean": 3.7800405407324434e-05, + "stddev": 3.5879697721722804e-06, + "rounds": 20, + "median": 3.705205162987113e-05, + "iqr": 2.822896931320422e-06, + "q1": 3.577500465326011e-05, + "q3": 3.8597901584580535e-05, + "iqr_outliers": 1, + "stddev_outliers": 4, + "outliers": "4;1", + "ld15iqr": 3.364160656929016e-05, + "hd15iqr": 4.9870798829942944e-05, + "ops": 26454.742726283934, + "total": 0.0007560081081464887, + "data": [ + 4.9870798829942944e-05, + 4.071249859407544e-05, + 4.172079497948289e-05, + 4.1454192250967024e-05, + 3.740830579772592e-05, + 3.736249636858702e-05, + 3.937080036848783e-05, + 3.7825002800673245e-05, + 3.609999548643827e-05, + 3.474170807749033e-05, + 3.675830084830523e-05, + 3.693749895319343e-05, + 3.7304195575416085e-05, + 3.364160656929016e-05, + 3.562080673873425e-05, + 3.7166604306548835e-05, + 3.516670549288392e-05, + 3.592920256778598e-05, + 3.605409292504191e-05, + 3.4862500615417955e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-dae]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "dae" + }, + "param": "jvp-vector16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0001449667033739388, + "max": 0.00016320409486070275, + "mean": 0.00014965582930017262, + "stddev": 4.740682678870297e-06, + "rounds": 20, + "median": 0.00014832710148766638, + "iqr": 3.722950350493209e-06, + "q1": 0.00014673539553768932, + "q3": 0.00015045834588818253, + "iqr_outliers": 3, + "stddev_outliers": 3, + "outliers": "3;3", + "ld15iqr": 0.0001449667033739388, + "hd15iqr": 0.00015672920271754266, + "ops": 6681.998320254182, + "total": 0.0029931165860034525, + "data": [ + 0.00015715420013293624, + 0.00015672920271754266, + 0.0001477167010307312, + 0.00014715420547872782, + 0.00014525409787893295, + 0.00016320409486070275, + 0.0001490416005253792, + 0.00014909999445080757, + 0.00014868329744786025, + 0.00014853329630568624, + 0.0001467082998715341, + 0.00014732079580426216, + 0.00015435420209541917, + 0.0001481209066696465, + 0.00014508749591186644, + 0.00014676249120384454, + 0.00014889170415699482, + 0.00015181669732555747, + 0.0001449667033739388, + 0.0001465165987610817 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-rodas5p_dae]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "rodas5p_dae" + }, + "param": "jvp-vector16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 9.007080225273967e-05, + "max": 0.00012213329318910837, + "mean": 9.847125387750566e-05, + "stddev": 7.691727016758376e-06, + "rounds": 20, + "median": 9.677920024842024e-05, + "iqr": 8.306250674650062e-06, + "q1": 9.29645961150527e-05, + "q3": 0.00010127084678970277, + "iqr_outliers": 1, + "stddev_outliers": 3, + "outliers": "3;1", + "ld15iqr": 9.007080225273967e-05, + "hd15iqr": 0.00012213329318910837, + "ops": 10155.247959409153, + "total": 0.0019694250775501134, + "data": [ + 0.00012213329318910837, + 9.53792012296617e-05, + 9.348340099677444e-05, + 9.371669730171562e-05, + 9.817919926717878e-05, + 9.977499721571803e-05, + 0.00011098749237135053, + 0.00010150419548153878, + 9.244579123333097e-05, + 9.101249743252993e-05, + 9.243340464308858e-05, + 9.169160621240735e-05, + 9.472079109400511e-05, + 0.00010103749809786677, + 9.840839775279164e-05, + 0.0001017916016280651, + 0.00010053330333903432, + 0.00010523750679567457, + 9.488340001553297e-05, + 9.007080225273967e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-sdae]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "sdae" + }, + "param": "jvp-vector16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00033907080069184303, + "max": 0.0003607499995268881, + "mean": 0.00034726103069260717, + "stddev": 5.836186124463197e-06, + "rounds": 20, + "median": 0.00034506875090301037, + "iqr": 7.2437513154000694e-06, + "q1": 0.0003436332975979894, + "q3": 0.0003508770489133895, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.00033907080069184303, + "hd15iqr": 0.0003607499995268881, + "ops": 2879.67814299668, + "total": 0.006945220613852143, + "data": [ + 0.00035212499788030984, + 0.0003496290999464691, + 0.00034458750160411, + 0.00033907080069184303, + 0.0003607499995268881, + 0.00034153750166296957, + 0.00035215000389143825, + 0.00034419160801917313, + 0.00034458329901099205, + 0.00034799999557435515, + 0.00034143330994993446, + 0.00034657919313758613, + 0.000343000004068017, + 0.00034417499555274846, + 0.0003455500002019107, + 0.00034660419914871453, + 0.0003436374943703413, + 0.0003436291008256376, + 0.0003551666042767465, + 0.00035882090451195837 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-rk4]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "rk4" + }, + "param": "jvp-tree16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.708300836384297e-06, + "max": 9.716697968542576e-06, + "mean": 8.320209453813731e-06, + "stddev": 4.7209678270014714e-07, + "rounds": 20, + "median": 8.252146653831004e-06, + "iqr": 4.583562258630991e-07, + "q1": 8.022895781323313e-06, + "q3": 8.481252007186412e-06, + "iqr_outliers": 2, + "stddev_outliers": 3, + "outliers": "3;2", + "ld15iqr": 7.708300836384297e-06, + "hd15iqr": 9.233306627720594e-06, + "ops": 120189.28195871683, + "total": 0.00016640418907627464, + "data": [ + 9.716697968542576e-06, + 9.233306627720594e-06, + 8.120900020003319e-06, + 8.087500464171172e-06, + 8.016696665436029e-06, + 8.029094897210597e-06, + 7.954100146889686e-06, + 8.258398156613112e-06, + 7.870793342590333e-06, + 7.920898497104645e-06, + 8.637493010610342e-06, + 8.295802399516105e-06, + 8.437503129243851e-06, + 8.279108442366123e-06, + 8.374999742954969e-06, + 8.525000885128975e-06, + 8.608296047896146e-06, + 7.708300836384297e-06, + 8.245895151048898e-06, + 8.083402644842862e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-tsit5]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "tsit5" + }, + "param": "jvp-tree16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.1304201800376178e-05, + "max": 2.85874935798347e-05, + "mean": 2.6245415210723876e-05, + "stddev": 2.0036714063049655e-06, + "rounds": 20, + "median": 2.703754580579698e-05, + "iqr": 8.37439438328149e-07, + "q1": 2.6352109853178262e-05, + "q3": 2.718954929150641e-05, + "iqr_outliers": 5, + "stddev_outliers": 5, + "outliers": "5;5", + "ld15iqr": 2.5800010189414024e-05, + "hd15iqr": 2.85874935798347e-05, + "ops": 38101.89292000227, + "total": 0.0005249083042144775, + "data": [ + 2.7116609271615743e-05, + 2.1304201800376178e-05, + 2.7112499810755254e-05, + 2.721250057220459e-05, + 2.361249644309282e-05, + 2.6916596107184886e-05, + 2.6945804711431266e-05, + 2.5800010189414024e-05, + 2.7179101016372444e-05, + 2.7004198636859654e-05, + 2.69042095169425e-05, + 2.7070892974734308e-05, + 2.7549988590180875e-05, + 2.719999756664038e-05, + 2.691249828785658e-05, + 2.707920502871275e-05, + 2.85874935798347e-05, + 2.300409832969308e-05, + 2.2295897360891102e-05, + 2.810000441968441e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-rodas5p]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "rodas5p" + }, + "param": "jvp-tree16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.489169947803021e-05, + "max": 9.702909737825393e-05, + "mean": 7.985333970282226e-05, + "stddev": 6.114403679127279e-06, + "rounds": 20, + "median": 7.787710055708885e-05, + "iqr": 3.2479467336088446e-06, + "q1": 7.618960225954651e-05, + "q3": 7.943754899315536e-05, + "iqr_outliers": 3, + "stddev_outliers": 3, + "outliers": "3;3", + "ld15iqr": 7.489169947803021e-05, + "hd15iqr": 8.739579934626817e-05, + "ops": 12522.957758830678, + "total": 0.0015970667940564454, + "data": [ + 9.702909737825393e-05, + 8.739579934626817e-05, + 7.817080477252602e-05, + 7.489169947803021e-05, + 7.604999700561166e-05, + 7.631250191479922e-05, + 7.670000195503235e-05, + 7.895829621702432e-05, + 7.742500165477395e-05, + 9.472910314798356e-05, + 8.060840191319585e-05, + 7.95917003415525e-05, + 7.524589309468866e-05, + 7.606670260429382e-05, + 7.604999700561166e-05, + 7.697080727666616e-05, + 7.758339634165168e-05, + 7.87292025052011e-05, + 7.927499245852232e-05, + 7.928339764475822e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-em]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "em" + }, + "param": "jvp-tree16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.817079123109579e-05, + "max": 5.387499695643783e-05, + "mean": 4.185020923614502e-05, + "stddev": 4.646022272495341e-06, + "rounds": 20, + "median": 4.021250642836094e-05, + "iqr": 2.8978975024074316e-06, + "q1": 3.9152102544903755e-05, + "q3": 4.205000004731119e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 3.817079123109579e-05, + "hd15iqr": 5.372499581426382e-05, + "ops": 23894.74313873499, + "total": 0.0008370041847229004, + "data": [ + 5.387499695643783e-05, + 4.609579918906093e-05, + 4.2362499516457317e-05, + 4.1658396366983655e-05, + 4.173750057816506e-05, + 5.372499581426382e-05, + 4.600828979164362e-05, + 4.012080607935786e-05, + 4.042090149596334e-05, + 3.902500029653311e-05, + 3.95582988858223e-05, + 3.949999809265137e-05, + 3.9358402136713264e-05, + 4.0304206777364016e-05, + 3.92792047932744e-05, + 3.8704194594174623e-05, + 4.036250757053494e-05, + 3.817079123109579e-05, + 3.8354098796844484e-05, + 3.838329575955868e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-dae]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "dae" + }, + "param": "jvp-tree16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00018447909969836472, + "max": 0.00020864169346168637, + "mean": 0.00019149916479364038, + "stddev": 7.172343001342081e-06, + "rounds": 20, + "median": 0.00018866040045395494, + "iqr": 8.437503129243834e-06, + "q1": 0.00018649374833330513, + "q3": 0.00019493125146254897, + "iqr_outliers": 1, + "stddev_outliers": 3, + "outliers": "3;1", + "ld15iqr": 0.00018447909969836472, + "hd15iqr": 0.00020864169346168637, + "ops": 5221.9548898691055, + "total": 0.0038299832958728075, + "data": [ + 0.00020475409692153335, + 0.00018863329896703362, + 0.00019020839827135205, + 0.0001938625006005168, + 0.00018815830117091537, + 0.00018690419383347035, + 0.00020864169346168637, + 0.0001906333025544882, + 0.0001867291983217001, + 0.0001853749970905483, + 0.00018868750194087625, + 0.00019600000232458114, + 0.00018852920038625598, + 0.00018625829834491016, + 0.0002051208051852882, + 0.00019617499783635138, + 0.0001901125069707632, + 0.00018478339770808816, + 0.00018447909969836472, + 0.00018593750428408384 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-rodas5p_dae]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "rodas5p_dae" + }, + "param": "jvp-tree16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00013379580341279506, + "max": 0.0001535625080578029, + "mean": 0.0001382745918817818, + "stddev": 5.1706619659629675e-06, + "rounds": 20, + "median": 0.00013616880169138313, + "iqr": 4.8770511057228175e-06, + "q1": 0.00013546459958888588, + "q3": 0.0001403416506946087, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 0.00013379580341279506, + "hd15iqr": 0.00015007921028882266, + "ops": 7231.98663175193, + "total": 0.0027654918376356363, + "data": [ + 0.0001535625080578029, + 0.00014020829694345595, + 0.00013590420130640268, + 0.0001363708986900747, + 0.00014079160755500197, + 0.0001373333972878754, + 0.00013542090309783816, + 0.00014076250372454523, + 0.00013432078994810582, + 0.00013587920693680644, + 0.00013379580341279506, + 0.00015007921028882266, + 0.00013744999887421727, + 0.0001339583075605333, + 0.00013442919589579105, + 0.00013572500320151447, + 0.00013596670469269158, + 0.00013550829607993363, + 0.0001375499996356666, + 0.00014047500444576145 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-sdae]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "sdae" + }, + "param": "jvp-tree16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00038887499831616876, + "max": 0.00042071250500157474, + "mean": 0.00039956542139407247, + "stddev": 9.335405776289053e-06, + "rounds": 20, + "median": 0.00039709790144115686, + "iqr": 1.1868751607835271e-05, + "q1": 0.00039213125128298996, + "q3": 0.00040400000289082523, + "iqr_outliers": 0, + "stddev_outliers": 5, + "outliers": "5;0", + "ld15iqr": 0.00038887499831616876, + "hd15iqr": 0.00042071250500157474, + "ops": 2502.719070411619, + "total": 0.00799130842788145, + "data": [ + 0.0004136958974413574, + 0.00041945830453187226, + 0.0003964458010159433, + 0.00039659159956499933, + 0.00039840840036049486, + 0.00042071250500157474, + 0.0003953459090553224, + 0.000392212497536093, + 0.00039779589278623464, + 0.00040339169790968297, + 0.00039193329866975545, + 0.00039456250378862024, + 0.00040460830787196754, + 0.0004072624957188964, + 0.0003920041024684906, + 0.00038887499831616876, + 0.0003976042033173144, + 0.00039205000502988695, + 0.0003989625023677945, + 0.0003893875051289797 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-rk4]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "rk4" + }, + "param": "vjp-scalar-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.083403084427118e-06, + "max": 6.66249543428421e-06, + "mean": 5.5781332775950435e-06, + "stddev": 5.525389902618989e-07, + "rounds": 20, + "median": 5.3104013204574585e-06, + "iqr": 9.208510164171461e-07, + "q1": 5.168747156858444e-06, + "q3": 6.08959817327559e-06, + "iqr_outliers": 0, + "stddev_outliers": 5, + "outliers": "5;0", + "ld15iqr": 5.083403084427118e-06, + "hd15iqr": 6.66249543428421e-06, + "ops": 179271.44265565847, + "total": 0.00011156266555190086, + "data": [ + 6.66249543428421e-06, + 5.483394488692284e-06, + 5.283299833536148e-06, + 6.574997678399086e-06, + 6.2874983996152874e-06, + 5.1790964789688585e-06, + 5.270796827971936e-06, + 5.445803981274366e-06, + 6.400002166628837e-06, + 5.8916979469358924e-06, + 5.15420688316226e-06, + 5.099992267787456e-06, + 5.083403084427118e-06, + 5.341693758964539e-06, + 5.337502807378769e-06, + 5.266699008643627e-06, + 5.212496034801006e-06, + 6.337498780339956e-06, + 5.15839783474803e-06, + 5.091691855341196e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-tsit5]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "tsit5" + }, + "param": "vjp-scalar-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.0374997984617948e-05, + "max": 3.041670424863696e-05, + "mean": 2.4191029951907693e-05, + "stddev": 2.248888421507677e-06, + "rounds": 20, + "median": 2.4110398953780532e-05, + "iqr": 1.926993718370792e-06, + "q1": 2.3320852778851987e-05, + "q3": 2.524784649722278e-05, + "iqr_outliers": 2, + "stddev_outliers": 5, + "outliers": "5;2", + "ld15iqr": 2.056659432128072e-05, + "hd15iqr": 3.041670424863696e-05, + "ops": 41337.63638786865, + "total": 0.00048382059903815387, + "data": [ + 2.6116601657122373e-05, + 2.056659432128072e-05, + 2.090419875457883e-05, + 2.448749728500843e-05, + 2.0374997984617948e-05, + 3.041670424863696e-05, + 2.590829972177744e-05, + 2.4512503296136855e-05, + 2.3300002794712782e-05, + 2.4066597688943148e-05, + 2.46790936216712e-05, + 2.4154200218617916e-05, + 2.334170276299119e-05, + 2.3674999829381706e-05, + 2.457090886309743e-05, + 2.3783301003277302e-05, + 2.5816599372774362e-05, + 2.6504090055823325e-05, + 2.357499906793237e-05, + 2.3066706489771605e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-rodas5p]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "rodas5p" + }, + "param": "vjp-scalar-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.050409188494086e-05, + "max": 4.992920439690351e-05, + "mean": 4.454958543647081e-05, + "stddev": 2.525182967230968e-06, + "rounds": 20, + "median": 4.508955171331763e-05, + "iqr": 4.266650648787618e-06, + "q1": 4.210209590382874e-05, + "q3": 4.636874655261636e-05, + "iqr_outliers": 0, + "stddev_outliers": 7, + "outliers": "7;0", + "ld15iqr": 4.050409188494086e-05, + "hd15iqr": 4.992920439690351e-05, + "ops": 22446.897994730687, + "total": 0.0008909917087294161, + "data": [ + 4.646249581128359e-05, + 4.6424998436123134e-05, + 4.992920439690351e-05, + 4.438330652192235e-05, + 4.631249466910958e-05, + 4.4583401177078485e-05, + 4.403750644996762e-05, + 4.050409188494086e-05, + 4.1437498293817046e-05, + 4.1629199404269454e-05, + 4.2574992403388026e-05, + 4.1266705375164746e-05, + 4.058330086991191e-05, + 4.679170669987798e-05, + 4.562910180538893e-05, + 4.5216595754027364e-05, + 4.7429197002202274e-05, + 4.557090578600764e-05, + 4.526249831542373e-05, + 4.49625076726079e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-em]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "em" + }, + "param": "vjp-scalar-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.3166958019137383e-06, + "max": 4.554097540676594e-06, + "mean": 3.425205359235406e-06, + "stddev": 2.713094385995179e-07, + "rounds": 20, + "median": 3.3458520192652942e-06, + "iqr": 5.834153853356855e-08, + "q1": 3.3312535379081964e-06, + "q3": 3.389595076441765e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 3.3166958019137383e-06, + "hd15iqr": 3.541703335940838e-06, + "ops": 291953.29772087757, + "total": 6.850410718470812e-05, + "data": [ + 4.554097540676594e-06, + 3.541703335940838e-06, + 3.4124939702451227e-06, + 3.4374999813735487e-06, + 3.4415978007018564e-06, + 3.362505231052637e-06, + 3.3374992199242117e-06, + 3.366696182638407e-06, + 3.345904406160116e-06, + 3.345799632370472e-06, + 3.341701813042164e-06, + 3.3209100365638735e-06, + 3.3250078558921812e-06, + 3.3416901715099813e-06, + 3.320805262774229e-06, + 3.3166958019137383e-06, + 3.3249962143599987e-06, + 3.3541000448167324e-06, + 3.3666030503809454e-06, + 3.345799632370472e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-dae]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "dae" + }, + "param": "vjp-scalar-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.8875005450099704e-05, + "max": 5.779169732704759e-05, + "mean": 5.2751250332221386e-05, + "stddev": 1.7790152364746307e-06, + "rounds": 20, + "median": 5.262914928607643e-05, + "iqr": 1.6728998161852333e-06, + "q1": 5.192914977669716e-05, + "q3": 5.360204959288239e-05, + "iqr_outliers": 2, + "stddev_outliers": 4, + "outliers": "4;2", + "ld15iqr": 5.076250527054071e-05, + "hd15iqr": 5.779169732704759e-05, + "ops": 18956.896636612655, + "total": 0.0010550250066444279, + "data": [ + 5.342500517144799e-05, + 5.1916600205004217e-05, + 5.779169732704759e-05, + 5.152499070391059e-05, + 4.8875005450099704e-05, + 5.1220809109508994e-05, + 5.076250527054071e-05, + 5.19416993483901e-05, + 5.20500005222857e-05, + 5.251250695437193e-05, + 5.211670650169253e-05, + 5.2745791617780927e-05, + 5.239589372649789e-05, + 5.364579847082496e-05, + 5.355830071493983e-05, + 5.276669980958104e-05, + 5.394589388743043e-05, + 5.3933297749608755e-05, + 5.297920433804393e-05, + 5.491659976541996e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-rodas5p_dae]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "rodas5p_dae" + }, + "param": "vjp-scalar-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.115840420126915e-05, + "max": 5.365000106394291e-05, + "mean": 4.7112504835240545e-05, + "stddev": 4.109227578424952e-06, + "rounds": 20, + "median": 4.790830425918102e-05, + "iqr": 7.80625268816948e-06, + "q1": 4.234999651089311e-05, + "q3": 5.015624919906259e-05, + "iqr_outliers": 0, + "stddev_outliers": 9, + "outliers": "9;0", + "ld15iqr": 4.115840420126915e-05, + "hd15iqr": 5.365000106394291e-05, + "ops": 21225.787155600177, + "total": 0.0009422500967048109, + "data": [ + 5.1624991465359925e-05, + 4.70208004117012e-05, + 4.980829544365406e-05, + 4.220840055495501e-05, + 4.2154197581112383e-05, + 4.158340161666274e-05, + 4.20207972638309e-05, + 4.249159246683121e-05, + 4.115840420126915e-05, + 4.678340628743172e-05, + 4.879580810666084e-05, + 5.004579434171319e-05, + 5.007500294595957e-05, + 5.031670443713665e-05, + 5.0175003707408905e-05, + 5.0137494690716265e-05, + 5.2312505431473255e-05, + 5.365000106394291e-05, + 4.6158395707607267e-05, + 4.3729098979383704e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-sdae]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "sdae" + }, + "param": "vjp-scalar-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 8.078749524429441e-05, + "max": 9.973749984055757e-05, + "mean": 8.811688050627708e-05, + "stddev": 5.348070098027911e-06, + "rounds": 20, + "median": 8.71854485012591e-05, + "iqr": 7.622904377058148e-06, + "q1": 8.44270980451256e-05, + "q3": 9.205000242218375e-05, + "iqr_outliers": 0, + "stddev_outliers": 7, + "outliers": "7;0", + "ld15iqr": 8.078749524429441e-05, + "hd15iqr": 9.973749984055757e-05, + "ops": 11348.56334285193, + "total": 0.0017623376101255418, + "data": [ + 8.792080916464329e-05, + 8.409590227529407e-05, + 8.815840119495988e-05, + 9.126249933615327e-05, + 9.283750550821423e-05, + 9.343329584226013e-05, + 9.748750599101186e-05, + 9.480000007897616e-05, + 8.475829381495714e-05, + 8.234999841079116e-05, + 8.078749524429441e-05, + 8.260830072686076e-05, + 9.006250184029341e-05, + 8.547919569537043e-05, + 9.973749984055757e-05, + 8.764170343056321e-05, + 8.168750209733844e-05, + 8.522500284016132e-05, + 8.527500322088599e-05, + 8.672919357195496e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-rk4]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "rk4" + }, + "param": "vjp-vector16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.033297929912805e-06, + "max": 6.633298471570015e-06, + "mean": 5.394805339165032e-06, + "stddev": 4.720452950080341e-07, + "rounds": 20, + "median": 5.168747156858444e-06, + "iqr": 3.979483153671033e-07, + "q1": 5.127099575474858e-06, + "q3": 5.525047890841961e-06, + "iqr_outliers": 2, + "stddev_outliers": 3, + "outliers": "3;2", + "ld15iqr": 5.033297929912805e-06, + "hd15iqr": 6.5792002715170385e-06, + "ops": 185363.500095218, + "total": 0.00010789610678330064, + "data": [ + 6.5792002715170385e-06, + 5.962501745671034e-06, + 5.566701292991638e-06, + 5.150004290044307e-06, + 5.370902363210916e-06, + 5.137501284480095e-06, + 5.091703496873379e-06, + 5.120807327330113e-06, + 5.133298691362142e-06, + 5.5167009122669695e-06, + 6.633298471570015e-06, + 5.18749002367258e-06, + 5.033297929912805e-06, + 5.533394869416952e-06, + 5.187501665204764e-06, + 5.1292008720338345e-06, + 5.1292008720338345e-06, + 5.191704258322716e-06, + 5.1166978664696215e-06, + 5.124998278915882e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-tsit5]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "tsit5" + }, + "param": "vjp-vector16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.0616606343537568e-05, + "max": 3.1358306296169756e-05, + "mean": 2.3343958891928194e-05, + "stddev": 2.709437514983475e-06, + "rounds": 20, + "median": 2.252914709970355e-05, + "iqr": 2.4041510187089443e-06, + "q1": 2.154789981432259e-05, + "q3": 2.3952050833031534e-05, + "iqr_outliers": 2, + "stddev_outliers": 4, + "outliers": "4;2", + "ld15iqr": 2.0616606343537568e-05, + "hd15iqr": 2.7658394537866114e-05, + "ops": 42837.635408352995, + "total": 0.00046687917783856393, + "data": [ + 3.1358306296169756e-05, + 2.3920799139887095e-05, + 2.7658394537866114e-05, + 2.3870798759162427e-05, + 2.3145799059420823e-05, + 2.1704193204641343e-05, + 2.1095795091241598e-05, + 2.1833297796547414e-05, + 2.1720898803323508e-05, + 2.15000007301569e-05, + 2.0616606343537568e-05, + 2.0808400586247443e-05, + 2.0999996922910214e-05, + 2.1912495139986276e-05, + 2.1595798898488283e-05, + 2.4587498046457767e-05, + 2.695840084925294e-05, + 2.3983302526175976e-05, + 2.371249720454216e-05, + 2.3895897902548314e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-rodas5p]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "rodas5p" + }, + "param": "vjp-vector16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00012297090142965317, + "max": 0.00014456250937655568, + "mean": 0.00012760271260049195, + "stddev": 5.342659833163296e-06, + "rounds": 20, + "median": 0.00012657289626076816, + "iqr": 4.8166024498641545e-06, + "q1": 0.00012381250271573663, + "q3": 0.0001286291051656008, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 0.00012297090142965317, + "hd15iqr": 0.00013795830309391022, + "ops": 7836.823995512339, + "total": 0.002552054252009839, + "data": [ + 0.00014456250937655568, + 0.00012896660482510924, + 0.00012627079850062727, + 0.00012687499402090906, + 0.0001282916055060923, + 0.00013795830309391022, + 0.00012698339996859432, + 0.00012300419621169567, + 0.0001308542094193399, + 0.00012421250576153398, + 0.00012772500049322842, + 0.00012598340399563312, + 0.00012391660129651427, + 0.00012297090142965317, + 0.00012350409524515272, + 0.000123708404134959, + 0.00012343750568106772, + 0.00012693750904873012, + 0.00013035000301897526, + 0.00012554170098155737 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-em]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "em" + }, + "param": "vjp-vector16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.5832985304296016e-06, + "max": 5.745899397879839e-06, + "mean": 3.7660443922504784e-06, + "stddev": 4.7014804968962127e-07, + "rounds": 20, + "median": 3.65209998562932e-06, + "iqr": 9.154900908470171e-08, + "q1": 3.6187993828207254e-06, + "q3": 3.710348391905427e-06, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 3.5832985304296016e-06, + "hd15iqr": 5.745899397879839e-06, + "ops": 265530.5928038807, + "total": 7.532088784500957e-05, + "data": [ + 5.745899397879839e-06, + 3.845803439617157e-06, + 3.7334044463932515e-06, + 3.7166988477110864e-06, + 3.6749988794326782e-06, + 3.716605715453625e-06, + 3.687501884996891e-06, + 3.7040910683572294e-06, + 3.654195461422205e-06, + 3.6792014725506304e-06, + 3.63329891115427e-06, + 3.608397673815489e-06, + 3.5832985304296016e-06, + 3.6041950806975364e-06, + 3.587501123547554e-06, + 3.6500045098364352e-06, + 3.5958015359938146e-06, + 3.6374898627400397e-06, + 3.629201091825962e-06, + 3.63329891115427e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-dae]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "dae" + }, + "param": "vjp-vector16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0005084417061880231, + "max": 0.0006210334016941488, + "mean": 0.0005617612530477345, + "stddev": 2.1696224466966302e-05, + "rounds": 20, + "median": 0.0005629208928439767, + "iqr": 1.1039542732760332e-05, + "q1": 0.0005575750023126602, + "q3": 0.0005686145450454205, + "iqr_outliers": 3, + "stddev_outliers": 3, + "outliers": "3;3", + "ld15iqr": 0.0005537083023227751, + "hd15iqr": 0.0006210334016941488, + "ops": 1780.1156533575077, + "total": 0.011235225060954689, + "data": [ + 0.0005084417061880231, + 0.0005197583930566906, + 0.000573941704351455, + 0.0006210334016941488, + 0.0005707707954570651, + 0.0005720707937143743, + 0.0005781583022326231, + 0.0005553875002078712, + 0.0005597625044174492, + 0.000560679193586111, + 0.0005605582962743938, + 0.0005626083933748305, + 0.0005632333923131227, + 0.000566458294633776, + 0.00055394999217242, + 0.0005618833005428314, + 0.0005650915903970599, + 0.0005644584074616432, + 0.0005537083023227751, + 0.0005632707965560257 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-rodas5p_dae]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "rodas5p_dae" + }, + "param": "vjp-vector16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00021750830346718432, + "max": 0.00025087079266086223, + "mean": 0.00022886812395881862, + "stddev": 8.413609912284101e-06, + "rounds": 20, + "median": 0.00022732290090061725, + "iqr": 1.2083351612091086e-05, + "q1": 0.00022158959764055907, + "q3": 0.00023367294925265015, + "iqr_outliers": 0, + "stddev_outliers": 6, + "outliers": "6;0", + "ld15iqr": 0.00021750830346718432, + "hd15iqr": 0.00025087079266086223, + "ops": 4369.328426792781, + "total": 0.004577362479176372, + "data": [ + 0.00025087079266086223, + 0.0002336750039830804, + 0.0002283541951328516, + 0.00024281250080093741, + 0.00023373329313471913, + 0.00022702909773215653, + 0.00021750830346718432, + 0.00023756249574944377, + 0.00022630420280620456, + 0.0002336708945222199, + 0.00023271669633686542, + 0.00021969160297885537, + 0.00022077499888837338, + 0.0002214042004197836, + 0.00022037499584257603, + 0.00022761670406907798, + 0.00022368329809978603, + 0.00022177499486133456, + 0.0002266000024974346, + 0.00023120420519262552 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-sdae]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "sdae" + }, + "param": "vjp-vector16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00046918330481275915, + "max": 0.0005132291000336409, + "mean": 0.0004868166701635346, + "stddev": 1.1879193730999954e-05, + "rounds": 20, + "median": 0.00048357709893025457, + "iqr": 1.3870856491848826e-05, + "q1": 0.0004782687465194613, + "q3": 0.0004921396030113101, + "iqr_outliers": 1, + "stddev_outliers": 4, + "outliers": "4;1", + "ld15iqr": 0.00046918330481275915, + "hd15iqr": 0.0005132291000336409, + "ops": 2054.1613738577885, + "total": 0.009736333403270691, + "data": [ + 0.0004893625038675964, + 0.0004939625039696693, + 0.00048358329804614185, + 0.0004797667032107711, + 0.00047568329609930514, + 0.0004835708998143673, + 0.00048085839953273537, + 0.00046918330481275915, + 0.0004768374958075583, + 0.00048000420210883024, + 0.0005079500027932226, + 0.000476866599638015, + 0.0004777124966494739, + 0.000506774999666959, + 0.00047882499638944863, + 0.0004897041944786906, + 0.0004843084025196731, + 0.0005132291000336409, + 0.0004903167020529509, + 0.0004978333017788827 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-rk4]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "rk4" + }, + "param": "vjp-tree16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.795802619308233e-06, + "max": 8.929206524044276e-06, + "mean": 7.125413976609707e-06, + "stddev": 5.456255852154782e-07, + "rounds": 20, + "median": 6.9416477344930175e-06, + "iqr": 2.8125359676778367e-07, + "q1": 6.831245264038443e-06, + "q3": 7.112498860806227e-06, + "iqr_outliers": 3, + "stddev_outliers": 2, + "outliers": "2;3", + "ld15iqr": 6.795802619308233e-06, + "hd15iqr": 7.641699630767107e-06, + "ops": 140342.72300285392, + "total": 0.00014250827953219414, + "data": [ + 8.929206524044276e-06, + 7.12500186637044e-06, + 7.099995855242014e-06, + 7.029203698039055e-06, + 6.941601168364287e-06, + 6.954197306185961e-06, + 6.941694300621748e-06, + 6.895791739225388e-06, + 6.874999962747097e-06, + 6.833299994468689e-06, + 7.129099685698748e-06, + 8.237501606345177e-06, + 7.641699630767107e-06, + 6.808293983340264e-06, + 6.962497718632221e-06, + 6.8291905336081985e-06, + 6.795802619308233e-06, + 6.837502587586641e-06, + 6.816699169576168e-06, + 6.824999582022429e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-tsit5]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "tsit5" + }, + "param": "vjp-tree16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.81583983451128e-05, + "max": 4.261669237166643e-05, + "mean": 3.0576247372664514e-05, + "stddev": 3.530204830498051e-06, + "rounds": 20, + "median": 2.911664778366685e-05, + "iqr": 3.01874824799597e-06, + "q1": 2.8420850867405534e-05, + "q3": 3.1439599115401504e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 2.81583983451128e-05, + "hd15iqr": 3.636250039562583e-05, + "ops": 32705.125250066187, + "total": 0.0006115249474532902, + "data": [ + 2.9933301266282798e-05, + 2.874999772757292e-05, + 2.8258294332772493e-05, + 2.8562499210238457e-05, + 2.816249616444111e-05, + 2.9345799703150988e-05, + 3.147500101476908e-05, + 3.243749961256981e-05, + 3.1404197216033936e-05, + 2.871248871088028e-05, + 3.2891693990677595e-05, + 4.261669237166643e-05, + 3.636250039562583e-05, + 3.081249305978417e-05, + 2.9504101257771252e-05, + 2.8887495864182712e-05, + 2.8262496925890446e-05, + 2.827920252457261e-05, + 2.81583983451128e-05, + 2.870829775929451e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-rodas5p]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "rodas5p" + }, + "param": "vjp-tree16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00012805000878870487, + "max": 0.0001515000010840595, + "mean": 0.00013560791383497415, + "stddev": 5.132878689066559e-06, + "rounds": 20, + "median": 0.00013460414484143255, + "iqr": 5.541701102629315e-06, + "q1": 0.00013239374966360628, + "q3": 0.0001379354507662356, + "iqr_outliers": 1, + "stddev_outliers": 5, + "outliers": "5;1", + "ld15iqr": 0.00012805000878870487, + "hd15iqr": 0.0001515000010840595, + "ops": 7374.200898163906, + "total": 0.0027121582766994833, + "data": [ + 0.0001515000010840595, + 0.0001409791992045939, + 0.00014162498991936444, + 0.00013932089786976575, + 0.00013310000067576767, + 0.00013398750452324747, + 0.00013448329409584402, + 0.00013254169607535005, + 0.00013224580325186253, + 0.00013819170417264103, + 0.0001347249955870211, + 0.00013223750283941627, + 0.00013144999975338577, + 0.0001355165964923799, + 0.0001349917030893266, + 0.00013767919735983015, + 0.00013345829211175442, + 0.00012805000878870487, + 0.00012967908987775444, + 0.00013639579992741346 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-em]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "em" + }, + "param": "vjp-tree16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.9166963435709475e-06, + "max": 7.01660756021738e-06, + "mean": 5.103964358568192e-06, + "stddev": 4.576467061673306e-07, + "rounds": 20, + "median": 4.979153163731098e-06, + "iqr": 1.1874362826347351e-07, + "q1": 4.939601058140398e-06, + "q3": 5.058344686403871e-06, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 4.9166963435709475e-06, + "hd15iqr": 7.01660756021738e-06, + "ops": 195926.1330501392, + "total": 0.00010207928717136383, + "data": [ + 7.01660756021738e-06, + 5.220901221036911e-06, + 5.058292299509049e-06, + 5.037500523030758e-06, + 5.058397073298693e-06, + 4.975008778274059e-06, + 5.008303560316563e-06, + 4.974997136741877e-06, + 4.9584079533815386e-06, + 4.983297549188137e-06, + 4.970794543623925e-06, + 4.991702735424042e-06, + 5.062494892627001e-06, + 5.183299072086811e-06, + 4.941702354699373e-06, + 4.933297168463468e-06, + 4.9166963435709475e-06, + 4.93339030072093e-06, + 4.937499761581421e-06, + 4.9166963435709475e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-dae]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "dae" + }, + "param": "vjp-tree16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006549375015310943, + "max": 0.0007312958012335002, + "mean": 0.0006814970751293003, + "stddev": 1.863332677448673e-05, + "rounds": 20, + "median": 0.0006777937524020672, + "iqr": 1.3827049406245373e-05, + "q1": 0.0006710645975545049, + "q3": 0.0006848916469607502, + "iqr_outliers": 3, + "stddev_outliers": 5, + "outliers": "5;3", + "ld15iqr": 0.0006549375015310943, + "hd15iqr": 0.0007077457965351641, + "ops": 1467.3577282929207, + "total": 0.013629941502586007, + "data": [ + 0.0007312958012335002, + 0.0007162666996009647, + 0.0006910666008479894, + 0.0006688624969683587, + 0.0006682583014480769, + 0.0006863082991912961, + 0.0006769125000573694, + 0.0006834749947302043, + 0.0007077457965351641, + 0.0006569207995198667, + 0.0006806750083342194, + 0.0006777625065296888, + 0.0006776584079489112, + 0.0006785125005990267, + 0.0006549375015310943, + 0.0006830082973465323, + 0.000673266698140651, + 0.0006734499940648675, + 0.0006778249982744456, + 0.0006657332996837795 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-rodas5p_dae]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "rodas5p_dae" + }, + "param": "vjp-tree16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0002934583928436041, + "max": 0.0003386916010640562, + "mean": 0.00031459977850317955, + "stddev": 1.4263743396620755e-05, + "rounds": 20, + "median": 0.0003125729039311409, + "iqr": 2.3391598369926247e-05, + "q1": 0.0003037500486243516, + "q3": 0.00032714164699427785, + "iqr_outliers": 0, + "stddev_outliers": 9, + "outliers": "9;0", + "ld15iqr": 0.0002934583928436041, + "hd15iqr": 0.0003386916010640562, + "ops": 3178.641780225835, + "total": 0.006291995570063591, + "data": [ + 0.0003320290939882398, + 0.00030537089332938194, + 0.0003253082977607846, + 0.0003386916010640562, + 0.00031755409436300396, + 0.0003071832936257124, + 0.0002952708047814667, + 0.00031510000117123126, + 0.00033572079846635463, + 0.0003021292039193213, + 0.0002988875028677285, + 0.0003076291992329061, + 0.0002984958002343774, + 0.00032897499622777107, + 0.0003229124937206507, + 0.0003074124921113253, + 0.0003123000031337142, + 0.0003128458047285676, + 0.0002934583928436041, + 0.0003347208024933934 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-sdae]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "sdae" + }, + "param": "vjp-tree16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006151125067844987, + "max": 0.0006609249976463616, + "mean": 0.0006286843650741503, + "stddev": 1.2646792525212591e-05, + "rounds": 20, + "median": 0.0006268562457989902, + "iqr": 1.6081193462014133e-05, + "q1": 0.0006187792052514852, + "q3": 0.0006348603987134993, + "iqr_outliers": 1, + "stddev_outliers": 5, + "outliers": "5;1", + "ld15iqr": 0.0006151125067844987, + "hd15iqr": 0.0006609249976463616, + "ops": 1590.6233009024406, + "total": 0.012573687301483005, + "data": [ + 0.0006415833020582795, + 0.0006609249976463616, + 0.0006151125067844987, + 0.0006286249961704015, + 0.000621920800767839, + 0.0006192250060848892, + 0.0006313082994893193, + 0.000618333404418081, + 0.0006171290995553135, + 0.0006285957992076874, + 0.0006167292012833059, + 0.0006267666933126748, + 0.0006384124979376792, + 0.0006214249995537102, + 0.0006520916009321809, + 0.000620329100638628, + 0.0006293124984949827, + 0.00064268329879269, + 0.0006269457982853055, + 0.0006162334000691771 + ], + "iterations": 10 + } + } + ], + "datetime": "2026-07-21T20:45:23.351868+00:00", + "version": "5.2.3" +} \ No newline at end of file diff --git a/benchmarks/results/2026-07-21_failed-ad-integration-stable-baseline.csv b/benchmarks/results/2026-07-21_failed-ad-integration-stable-baseline.csv new file mode 100644 index 0000000..187db8a --- /dev/null +++ b/benchmarks/results/2026-07-21_failed-ad-integration-stable-baseline.csv @@ -0,0 +1,40 @@ +suite,case,transform,median_us +root,dae-scalar,primal,22.463751 +root,dae-scalar,jvp,31.935000 +root,dae-scalar,vjp,52.809160 +root,dae-vector16,primal,110.327080 +root,dae-vector16,jvp,148.572080 +root,dae-vector16,vjp,573.171249 +root,dae-tree16,primal,118.876250 +root,dae-tree16,jvp,183.833750 +root,dae-tree16,vjp,677.592501 +root,rodas5p_dae-scalar,primal,29.839999 +root,rodas5p_dae-scalar,jvp,44.295830 +root,rodas5p_dae-scalar,vjp,50.241250 +root,rodas5p_dae-vector16,primal,64.589999 +root,rodas5p_dae-vector16,jvp,97.880421 +root,rodas5p_dae-vector16,vjp,225.979580 +root,rodas5p_dae-tree16,primal,79.727080 +root,rodas5p_dae-tree16,jvp,137.011670 +root,rodas5p_dae-tree16,vjp,313.472920 +root,sdae-scalar,primal,60.968749 +root,sdae-scalar,jvp,81.112500 +root,sdae-scalar,vjp,85.711250 +root,sdae-vector16,primal,258.137500 +root,sdae-vector16,jvp,367.752500 +root,sdae-vector16,vjp,475.548330 +root,sdae-tree16,primal,277.095831 +root,sdae-tree16,jvp,392.334170 +root,sdae-tree16,vjp,614.903751 +aux,aux-8-8,primal,60.549161 +aux,aux-8-8,jvp,76.040830 +aux,aux-8-8,vjp,85.342081 +aux,aux-32-8,primal,134.540000 +aux,aux-32-8,jvp,201.189170 +aux,aux-32-8,vjp,228.052919 +aux,noaux-auto-8-8,primal,51.991671 +aux,noaux-auto-8-8,jvp,68.486660 +aux,noaux-auto-8-8,vjp,74.074171 +aux,noaux-explicit-8-8,primal,52.182500 +aux,noaux-explicit-8-8,jvp,67.952910 +aux,noaux-explicit-8-8,vjp,74.628330 diff --git a/benchmarks/results/2026-07-21_failed-ad-integration-stable-post.csv b/benchmarks/results/2026-07-21_failed-ad-integration-stable-post.csv new file mode 100644 index 0000000..02e6d4a --- /dev/null +++ b/benchmarks/results/2026-07-21_failed-ad-integration-stable-post.csv @@ -0,0 +1,40 @@ +suite,case,transform,median_us +root,dae-scalar,primal,21.622910 +root,dae-scalar,jvp,32.046250 +root,dae-scalar,vjp,51.554580 +root,dae-vector16,primal,104.813330 +root,dae-vector16,jvp,142.267080 +root,dae-vector16,vjp,560.019590 +root,dae-tree16,primal,115.926671 +root,dae-tree16,jvp,185.392090 +root,dae-tree16,vjp,676.074580 +root,rodas5p_dae-scalar,primal,26.462501 +root,rodas5p_dae-scalar,jvp,36.225830 +root,rodas5p_dae-scalar,vjp,44.442500 +root,rodas5p_dae-vector16,primal,67.090830 +root,rodas5p_dae-vector16,jvp,92.822921 +root,rodas5p_dae-vector16,vjp,218.519589 +root,rodas5p_dae-tree16,primal,73.885840 +root,rodas5p_dae-tree16,jvp,133.818750 +root,rodas5p_dae-tree16,vjp,309.406250 +root,sdae-scalar,primal,58.644171 +root,sdae-scalar,jvp,79.582500 +root,sdae-scalar,vjp,85.244579 +root,sdae-vector16,primal,254.236250 +root,sdae-vector16,jvp,345.871249 +root,sdae-vector16,vjp,471.972080 +root,sdae-tree16,primal,277.009590 +root,sdae-tree16,jvp,394.253751 +root,sdae-tree16,vjp,616.255001 +aux,aux-8-8,primal,56.091670 +aux,aux-8-8,jvp,69.191670 +aux,aux-8-8,vjp,77.688331 +aux,aux-32-8,primal,135.067500 +aux,aux-32-8,jvp,196.960419 +aux,aux-32-8,vjp,228.086249 +aux,noaux-auto-8-8,primal,46.539170 +aux,noaux-auto-8-8,jvp,61.243341 +aux,noaux-auto-8-8,vjp,66.650420 +aux,noaux-explicit-8-8,primal,47.337500 +aux,noaux-explicit-8-8,jvp,61.646670 +aux,noaux-explicit-8-8,vjp,66.801250 diff --git a/benchmarks/results/2026-07-21_failed-ad-integration-stable-raw-crossings.csv b/benchmarks/results/2026-07-21_failed-ad-integration-stable-raw-crossings.csv new file mode 100644 index 0000000..4c42838 --- /dev/null +++ b/benchmarks/results/2026-07-21_failed-ad-integration-stable-raw-crossings.csv @@ -0,0 +1,10 @@ +case,transform,baseline_us,post_us +aux-8-8,primal,55.882090,55.019170 +aux-128-8,primal,462.615000,460.960419 +aux-32-32,primal,129.064999,136.681660 +aux-128-128,primal,461.462911,457.999579 +aux-8-128,jvp,68.364170,70.695000 +noaux-auto-8-8,primal,47.334580,49.216250 +noaux-auto-128-128,vjp,696.938330,714.708749 +noaux-explicit-8-8,primal,47.100410,47.717080 +noaux-explicit-8-128,vjp,67.085830,67.904580 diff --git a/docs/aux.md b/docs/aux.md index 17233bd..b3adad6 100644 --- a/docs/aux.md +++ b/docs/aux.md @@ -143,4 +143,7 @@ For batched differentiation where inactive lanes may leave the model domain, `failure_ad_reference` supplies a finite point used only for safe linearization. ODE/SDE references have the form `(x, t, p)`; DAE/SDAE references have `(y, z, t, p)`. Without one, tinydiffeq uses an all-ones -best-effort reference. +best-effort reference. For DAE/SDAE roots, it is substituted before nlls only +after a lane is already inactive. A newly attempted root and its model context +must be JVP-safe at the actual initial point; the reference is not a post-hoc +replacement for an active failure. diff --git a/docs/dae.md b/docs/dae.md index 33e4a8c..4a9202f 100644 --- a/docs/dae.md +++ b/docs/dae.md @@ -94,6 +94,7 @@ from tinydiffeq import LMRootSolver root_solver = LMRootSolver( max_steps=8, + max_steps_is_success=True, atol=None, # 1e-6 float32, 1e-10 float64 gtol=0.0, # disabled xtol=0.0, # disabled @@ -112,7 +113,11 @@ one dense LU factorization per attempted time step. Root tolerances are independent of the outer controller tolerances. The `atol`, `gtol`, and `xtol` fields pass to the nlls solve; zero disables the -corresponding test. The nlls constructor controls are also explicit fields on +corresponding test. By default, exhausting `root_solver.max_steps` accepts the +last root iterate and uses its implicit derivative even though nlls retains the +diagnostic `MAX_STEPS` status. Set `max_steps_is_success=False` to require +`CONVERGED`; the failed root then has zero implicit tangent. The nlls +constructor controls are also explicit fields on `LMRootSolver`: damping and maximum damping, forward solver and Jacobian mode, iterative solver tolerances/preconditioners, AD solver tolerances, preconditioner and penalty, solve dtypes, metrics/factories, and recycling. @@ -156,21 +161,28 @@ the initial and accepted nodes, so an invalid value freezes the previous valid prefix. Endpoint mode evaluates saved aux only after integration; an invalid final value retains the endpoint state, returns zero aux, and sets `ok=False`. -An adaptive stage-root or Rodas5P linear failure rejects the time-step attempt -and asks the controller for a smaller step. A fixed-step failure terminates. +With strict root status enabled, an adaptive stage-root failure rejects the +time-step attempt and asks the controller for a smaller step; a fixed-step +failure terminates. Rodas5P linear failures follow the same controller policy. In either case `sol.ok` is false if the endpoint is not reached with valid algebraic states. tinydiffeq delegates each root and its implicit JVP/VJP to -nlls-gram; nonconverged roots receive a zero implicit tangent, and aux at a -failed initial root is a zero pytree of the declared shape. Callers that want -to retain successful-lane JVPs/VJPs from a mixed-success `vmap` batch should pass +nlls-gram; statuses rejected by the configured policy receive a zero implicit +tangent, and aux at a failed initial root is a zero pytree of the declared +shape. Callers that want to retain successful-lane JVPs/VJPs after another +lane has already become inactive should pass `failure_ad_reference=(y_ref, z_ref, t_ref, p_ref)`, choosing a point where the residual, context, and saved-aux maps are finite and differentiable. -The corresponding `(z_ref, args, (y_ref, t_ref, p_ref))` reference is passed -to nlls so inactive lanes are linearized safely before their tangents are -zeroed. It never affects a successful lane or the primal solve. Without an -explicit reference, an all-ones best-effort default is used; gradients of a -batch containing failures are not guaranteed if the model is undefined there. -A failed lane itself is never a valid solution. +tinydiffeq substitutes this point into an already-inactive root call before +entering nlls, and also uses it for inactive algebraic aux, saved aux, and +differential-field evaluations. It is not an nlls solve argument and never +changes an active root attempt. + +Every newly attempted root must therefore be JVP-safe at its actual +`(y, z_guess, t, p)`: the residual and any model context evaluated there must +have valid derivatives. The reference cannot rescue an intrinsically invalid +active attempt after the fact. Without an explicit reference, an all-ones +best-effort default is used for inactive work; gradients are not guaranteed if +the model is undefined there. A failed lane itself is never a valid solution. ## Saving output diff --git a/docs/llms.txt b/docs/llms.txt index 38006dd..1bda9b6 100644 --- a/docs/llms.txt +++ b/docs/llms.txt @@ -1,6 +1,6 @@ # tinydiffeq -> Tiny ODE/SDE/DAE/SDAE solvers and finite-state Markov tools for JAX. Euler, RK4, adaptive Tsit5, and the SciML-derived linearly implicit Rodas5P use bounded lax.scan loops with static shapes and forward/reverse AD, including reverse-over-forward. Rodas5P supports stiff ODEs and semi-explicit index-1 DAEs with exact dense JAX Jacobians, one reused LU factorization per attempt, an embedded estimator, and its published stiff-aware fourth-order dense output. See https://github.com/SciML/OrdinaryDiffEq.jl/tree/master/lib/OrdinaryDiffEqRosenbrock and https://doi.org/10.1007/s10543-023-00967-x. RK4/Tsit5 DAEs use nlls-gram LM roots at every stage; the square primal defaults to normal Cholesky and implicit AD defaults to a direct nonsymmetric solve. Rodas5P uses LM only for initial consistency. Finite-state DTMC/CTMC sampling is primal-only and offers sequential and associative parallel-prefix methods. Deterministic distribution forecasts are differentiable in their initial mass: DTMC endpoints use binary matrix powers, dense CTMCs use matrix exponentials, and matrix-free CTMCs use fixed or residual-controlled adaptive Arnoldi time slicing over array or pytree probabilities. The adaptive method keeps the Krylov dimension static and bounds accepted plus rejected attempts with max_steps. The Krylov design follows SciML ExponentialUtilities.expv, stores basis vectors as contiguous rows, defaults to stable two-pass reorthogonalization, and offers an explicitly selected one-pass performance mode. ODE fields and stochastic drifts may return (value, saved_aux), a real-floating pytree saved with the solution and differentiated through JVP/VJP. DAE/SDAE algebraic functions may separately return (residual, algebraic_aux); that internal array pytree is passed to the differential fields but is not itself stored or interpolated. Requested-grid deterministic saved aux uses cubic Hermite interpolation and no query-time nonlinear solves. Fixed-step solve_semi_explicit_sdae applies Euler-Maruyama to the reduced Ito SDE. States may be arrays or arbitrary JAX pytrees; state leaves share one real floating dtype and saved-aux leaves may use different floating dtypes. Adaptive ODE/DAE defaults are rtol=1e-4, atol=1e-6 for float32 and rtol=1e-7, atol=1e-9 for float64; adaptive Krylov defaults are rtol=1e-5, atol=1e-7 and rtol=1e-10, atol=1e-12 respectively. Use SciML/diffrax for general mass matrices, fully implicit or higher-index DAEs, adaptive stochastic stepping, events, continuous solution objects, or specialized adjoints. +> Tiny ODE/SDE/DAE/SDAE solvers and finite-state Markov tools for JAX. Euler, RK4, adaptive Tsit5, and the SciML-derived linearly implicit Rodas5P use bounded lax.scan loops with static shapes and forward/reverse AD, including reverse-over-forward. Rodas5P supports stiff ODEs and semi-explicit index-1 DAEs with exact dense JAX Jacobians, one reused LU factorization per attempt, an embedded estimator, and its published stiff-aware fourth-order dense output. See https://github.com/SciML/OrdinaryDiffEq.jl/tree/master/lib/OrdinaryDiffEqRosenbrock and https://doi.org/10.1007/s10543-023-00967-x. RK4/Tsit5 DAEs use nlls-gram LM roots at every stage; the square primal defaults to normal Cholesky, implicit AD defaults to a direct nonsymmetric solve, and MAX_STEPS is accepted unless LMRootSolver.max_steps_is_success is false. Rodas5P uses LM only for initial consistency. Finite-state DTMC/CTMC sampling is primal-only and offers sequential and associative parallel-prefix methods. Deterministic distribution forecasts are differentiable in their initial mass: DTMC endpoints use binary matrix powers, dense CTMCs use matrix exponentials, and matrix-free CTMCs use fixed or residual-controlled adaptive Arnoldi time slicing over array or pytree probabilities. The adaptive method keeps the Krylov dimension static and bounds accepted plus rejected attempts with max_steps. The Krylov design follows SciML ExponentialUtilities.expv, stores basis vectors as contiguous rows, defaults to stable two-pass reorthogonalization, and offers an explicitly selected one-pass performance mode. ODE fields and stochastic drifts may return (value, saved_aux), a real-floating pytree saved with the solution and differentiated through JVP/VJP. DAE/SDAE algebraic functions may separately return (residual, algebraic_aux); that internal array pytree is passed to the differential fields but is not itself stored or interpolated. Requested-grid deterministic saved aux uses cubic Hermite interpolation and no query-time nonlinear solves. Fixed-step solve_semi_explicit_sdae applies Euler-Maruyama to the reduced Ito SDE. States may be arrays or arbitrary JAX pytrees; state leaves share one real floating dtype and saved-aux leaves may use different floating dtypes. Adaptive ODE/DAE defaults are rtol=1e-4, atol=1e-6 for float32 and rtol=1e-7, atol=1e-9 for float64; adaptive Krylov defaults are rtol=1e-5, atol=1e-7 and rtol=1e-10, atol=1e-12 respectively. Use SciML/diffrax for general mass matrices, fully implicit or higher-index DAEs, adaptive stochastic stepping, events, continuous solution objects, or specialized adjoints. ## Docs diff --git a/docs/sdae.md b/docs/sdae.md index dd01684..fe6a19a 100644 --- a/docs/sdae.md +++ b/docs/sdae.md @@ -86,6 +86,9 @@ random numbers. The key is not differentiable. Algebraic solves use the same nlls-gram 2.4 `LMRootSolver` configuration and implicit-AD contract as deterministic DAEs; see [Nonlinear-solve and AD contract](dae.md#nonlinear-solve-and-ad-contract). +`MAX_STEPS` is accepted by default; use +`LMRootSolver(max_steps_is_success=False)` when every stochastic node must +report nlls `CONVERGED`. The algebraic function may return `(residual, algebraic_aux)`; that internal context is passed to both drift and diffusion but is not stored. The drift may return `(drift_value, saved_aux)`, and only that saved aux becomes `sol.aux`. @@ -100,14 +103,16 @@ endpoint state, returns zero aux, and sets `ok=False`. Only `SaveAt(t_1=True)` and `SaveAt(steps=True)` are supported. Stochastic paths are rough, so deterministic dense interpolation between nodes would be -mathematically wrong. A root failure freezes the last consistent prefix, +mathematically wrong. A root status rejected by the configured policy freezes +the last consistent prefix, sets `ok=False`, and pads the remaining static buffer. Failed roots have zero implicit tangents, and aux at a failed initial root is zero-filled, so masked lanes can preserve successful JVPs or VJPs under `vmap`. For that contract, pass `failure_ad_reference=(y_ref, z_ref, t_ref, p_ref)` at a point where the residual, context, and saved-aux maps are finite and differentiable. The -reference is used only to linearize inactive lanes before zeroing their -tangents. Without one, -an all-ones best-effort default is used and a batch containing failures has no -gradient guarantee. Outputs and gradients from the failed lane are not a -valid solution. +reference is substituted before nlls only for already-inactive lanes and is +also used by inactive context, drift, diffusion, and saved-aux evaluation. A +newly attempted root must be JVP-safe at its actual initial point; the +reference cannot repair an invalid active attempt after it fails. Without one, +an all-ones best-effort default is used for inactive work. Outputs and +gradients from a failed lane are not a valid solution. diff --git a/src/tinydiffeq/dae.py b/src/tinydiffeq/dae.py index fa17aa3..ce8d67b 100644 --- a/src/tinydiffeq/dae.py +++ b/src/tinydiffeq/dae.py @@ -89,10 +89,12 @@ class LMRootSolver: uses ``ad_solver="auto"``, which resolves every square constraint to the general nonsymmetric direct solve. ``max_steps`` counts nonlinear iterations for one algebraic root and is - independent of the integration's time-step ``max_steps``. ``atol=None`` - selects ``1e-6`` in float32 and ``1e-10`` in float64. ``gtol`` and - ``xtol`` default to zero (disabled); root tolerances are deliberately - independent of the outer integration tolerances. + independent of the integration's time-step ``max_steps``. + ``max_steps_is_success=True`` accepts the final iterate when that budget is + exhausted; set it to ``False`` to require an nlls ``CONVERGED`` status. + ``atol=None`` selects ``1e-6`` in float32 and ``1e-10`` in float64. + ``gtol`` and ``xtol`` default to zero (disabled); root tolerances are + deliberately independent of the outer integration tolerances. The remaining fields pass directly to ``LevenbergMarquardt``. Algebraic residuals do not expose nlls aux, Jacobian caching is disabled because @@ -100,6 +102,7 @@ class LMRootSolver: """ max_steps: int = field(default=8, metadata=dict(static=True)) + max_steps_is_success: bool = field(default=True, metadata=dict(static=True)) atol: float | None = field(default=None, metadata=dict(static=True)) gtol: float = field(default=0.0, metadata=dict(static=True)) xtol: float = field(default=0.0, metadata=dict(static=True)) @@ -133,6 +136,8 @@ def __post_init__(self): raise ValueError("LMRootSolver.max_steps must be a positive int") if self.max_steps <= 0: raise ValueError("LMRootSolver.max_steps must be a positive int") + if not isinstance(self.max_steps_is_success, bool): + raise TypeError("LMRootSolver.max_steps_is_success must be a bool") if self.atol is not None and self.atol < 0: raise ValueError("LMRootSolver.atol must be nonnegative or None") if self.gtol < 0: @@ -273,6 +278,22 @@ def _get_algebraic_solver(g, config, has_algebraic_aux=False): return _build_algebraic_solver(g, config, has_algebraic_aux) +@jax.custom_jvp +def _inactive_safe_inputs(active, inputs, reference): + return jax.tree.map( + lambda value, reference_value: jnp.where(active, value, reference_value), + inputs, + reference, + ) + + +@_inactive_safe_inputs.defjvp +def _inactive_safe_inputs_jvp(primals, tangents): + active, inputs, reference = primals + _, inputs_dot, _ = tangents + return _inactive_safe_inputs(active, inputs, reference), inputs_dot + + def _prepare_failure_ad_reference(reference, y, z, t, p): """Validate a derivative-only reference point for inactive vmap lanes.""" @@ -351,19 +372,31 @@ def algebraic_auxiliary(inputs): y, z, t, p = inputs return split_algebraic_output(algebraic_output(y, z, t, p), True)[1] - def solve_root(y, t, z_guess, p, failure_ad_reference): - y_ref, z_ref, t_ref, p_ref = failure_ad_reference + def solve_root(y, t, z_guess, p, active, failure_ad_reference): + # The enclosing root-result mask supplies exact zero AD for inactive + # lanes. Make this domain-safe primal substitution value-only so its + # redundant selector cotangents do not accumulate across DAE stages. + y_initial, z_initial, t_initial, p_initial = _inactive_safe_inputs( + active, + (y, z_guess, t, p), + failure_ad_reference, + ) result = algebraic_solver.solve( - z_guess, + z_initial, args, - p=(y, t, p), + p=(y_initial, t_initial, p_initial), max_steps=root_solver.max_steps, + max_steps_is_success=root_solver.max_steps_is_success, atol=root_atol, gtol=root_solver.gtol, xtol=root_solver.xtol, - failure_ad_reference=(z_ref, args, (y_ref, t_ref, p_ref)), ) ok = result.status == jnp.asarray(LMStatus.CONVERGED, result.status.dtype) + if root_solver.max_steps_is_success: + ok = ok | ( + result.status == jnp.asarray(LMStatus.MAX_STEPS, result.status.dtype) + ) + ok = active & ok value, dtype = asarray_state(result.x, "algebraic root") assert_same_structure(z_reference, value, "algebraic root") if dtype != z_dtype: @@ -779,7 +812,9 @@ def solve_semi_explicit_dae( explicit ``False`` selects the minimal paths without those traces. ``failure_ad_reference=(y, z, t, p)`` may provide a domain-safe point for - retaining successful-lane derivatives when other ``vmap`` lanes fail. + already-inactive ``vmap`` lanes and model aux/field evaluation. A newly + attempted root still requires its actual ``(y, z_guess, t, p)`` to be + JVP-safe; the reference does not replace an active root after it fails. A nonfinite inexact algebraic-aux leaf at initialization prevents all time-step work. Saved aux is checked at the initial and accepted nodes in prefix/grid modes; endpoint mode checks it only after integration and @@ -887,8 +922,8 @@ def evaluate_aux(y, z, t, p_value, active, failure_reference): else: evaluate_aux = None - def solve_root(y, t, z_guess): - return solve_root_ad(y, t, z_guess, p, failure_ad_reference) + def solve_root(y, t, z_guess, active): + return solve_root_ad(y, t, z_guess, p, active, failure_ad_reference) def differential(y, z, t, active=None): if active is None: @@ -961,7 +996,7 @@ def residual_y_t(y_value, t_value): aux_dot = where(active, aux_dot, zeros_like(aux_dot)) return z_dot, aux_dot - z_initial, initial_root_ok = solve_root(y_0, t_0, z_0) + z_initial, initial_root_ok = solve_root(y_0, t_0, z_0, jnp.asarray(True)) if has_algebraic_aux: _, initial_context_ok = evaluate_context( y_0, z_initial, t_0, p, initial_root_ok @@ -1069,7 +1104,7 @@ def combined_values(y, z, t, active): def stage(y_stage, t_stage, z_guess, active, need_derivative=True): def evaluate(): - z_stage, root_ok = solve_root(y_stage, t_stage, z_guess) + z_stage, root_ok = solve_root(y_stage, t_stage, z_guess, active) if need_derivative: k_stage, field_ok = jax.lax.cond( root_ok, diff --git a/src/tinydiffeq/sdae.py b/src/tinydiffeq/sdae.py index 8cc2622..1344a47 100644 --- a/src/tinydiffeq/sdae.py +++ b/src/tinydiffeq/sdae.py @@ -75,7 +75,9 @@ def solve_semi_explicit_sdae( one common-random-number path for JVP/VJP with respect to ``y_0`` and ``p``. ``z_0`` is only a root guess and has zero tangent by contract. ``failure_ad_reference=(y, z, t, p)`` may provide a domain-safe point for - retaining successful-lane derivatives when other ``vmap`` lanes fail. + already-inactive ``vmap`` lanes and model aux/field evaluation. A newly + attempted root still requires its actual ``(y, z_guess, t, p)`` to be + JVP-safe; the reference does not replace an active root after it fails. A nonfinite inexact algebraic-aux leaf at initialization prevents all stochastic time-step work. Saved aux is checked at every node in steps mode; endpoint mode checks it only after integration and retains the @@ -183,8 +185,8 @@ def evaluate_aux(y, z, t, active): else: evaluate_aux = None - def solve_root(y, t, z_guess): - return solve_root_ad(y, t, z_guess, p, failure_ad_reference) + def solve_root(y, t, z_guess, active): + return solve_root_ad(y, t, z_guess, p, active, failure_ad_reference) def checked_value(output, name): value, dtype = asarray_state(output, name) @@ -193,7 +195,7 @@ def checked_value(output, name): raise TypeError(f"{name} must preserve the y dtype") return value - z_initial, initial_root_ok = solve_root(y_0, t_0, z_0) + z_initial, initial_root_ok = solve_root(y_0, t_0, z_0, jnp.asarray(True)) if has_algebraic_aux: context_initial, initial_context_ok = evaluate_context( y_0, z_initial, t_0, initial_root_ok @@ -246,7 +248,7 @@ def attempt_step(carry, inputs): (dt, drift_value), (1.0, multiply(diffusion_value, d_w_step)), ) - z_candidate, root_ok = solve_root(y_candidate, t_next, z) + z_candidate, root_ok = solve_root(y_candidate, t_next, z, active) if has_algebraic_aux: context_candidate, context_ok = evaluate_context( y_candidate, z_candidate, t_next, root_ok & active diff --git a/tests/test_aux.py b/tests/test_aux.py index 1605e64..aee7ef5 100644 --- a/tests/test_aux.py +++ b/tests/test_aux.py @@ -308,6 +308,7 @@ def differential(y, z, t, args, p, algebraic_aux): max_steps=1, save_at=save_at, has_aux=True, + root_solver=LMRootSolver(max_steps_is_success=False), failure_ad_reference=(1.0, 1.0, 0.0, 0.0), ) diff --git a/tests/test_dae.py b/tests/test_dae.py index 16b0b45..3a828f4 100644 --- a/tests/test_dae.py +++ b/tests/test_dae.py @@ -44,6 +44,7 @@ def constraint(y, z, t, args, p): return z - y defaults = _build_algebraic_solver(constraint, LMRootSolver(), False) + assert LMRootSolver().max_steps_is_success assert defaults.linear_solver == "auto" assert defaults.jacobian_mode == "auto" assert defaults.ad_solver == "auto" @@ -87,6 +88,50 @@ def constraint(y, z, t, args, p): assert configured.ad_solver_penalty == 1e-8 +def test_max_steps_policy_and_strict_batched_derivative(): + def one_lane(z_0, p, max_steps_is_success): + return solve_semi_explicit_dae( + lambda y, z: jnp.zeros_like(y), + lambda y, z, t, args, p: z - p, + RK4(), + 0.0, + 0.1, + jnp.asarray(0.0), + z_0, + p=p, + dt_0=0.1, + max_steps=1, + root_solver=LMRootSolver( + max_steps=1, + max_steps_is_success=max_steps_is_success, + atol=1e-12, + ), + ) + + p = jnp.asarray(1.0) + forgiving = one_lane(jnp.asarray(0.0), p, True) + strict = one_lane(jnp.asarray(0.0), p, False) + assert bool(forgiving.ok) + assert not bool(strict.ok) + + def strict_batch(parameter): + return jax.vmap(lambda z_0: one_lane(z_0, parameter, False))( + jnp.asarray([1.0, 0.0]) + ) + + def endpoint(parameter): + result = strict_batch(parameter) + return jnp.where(result.ok, result.zs, 0.0) + + result = strict_batch(p) + value, tangent = jax.jvp(endpoint, (p,), (jnp.ones_like(p),)) + _, pullback = jax.vjp(endpoint, p) + assert jnp.array_equal(result.ok, jnp.asarray([True, False])) + assert jnp.array_equal(value, jnp.asarray([1.0, 0.0])) + assert jnp.array_equal(tangent, jnp.asarray([1.0, 0.0])) + assert jnp.array_equal(pullback(jnp.ones_like(value))[0], jnp.asarray(1.0)) + + def test_rk4_initial_consistency_and_endpoint_accuracy(): sol = solve_linear( jnp.asarray(1.0), @@ -441,6 +486,7 @@ def test_initial_root_failure_and_time_budget_failure(): jnp.asarray(0.0), dt_0=0.1, max_steps=10, + root_solver=LMRootSolver(max_steps_is_success=False), ) assert not bool(failed_root.ok) assert int(failed_root.num_accepted) == 0 @@ -473,7 +519,7 @@ def test_adaptive_stage_root_failure_retries_with_smaller_step(): jnp.asarray(0.0), dt_0=0.005, controller=IController(), - root_solver=LMRootSolver(max_steps=1, atol=1e-6), + root_solver=LMRootSolver(max_steps=1, max_steps_is_success=False, atol=1e-6), max_steps=64, save_at=SaveAt(steps=True), ) @@ -499,6 +545,7 @@ def one_lane(y, z, p): p=p, dt_0=0.1, max_steps=1, + root_solver=LMRootSolver(max_steps_is_success=False), failure_ad_reference=(1.0, 1.0, 0.0, 0.0), ) @@ -573,6 +620,8 @@ def test_validation(): ) with pytest.raises(ValueError, match="positive int"): LMRootSolver(max_steps=0) + with pytest.raises(TypeError, match="max_steps_is_success must be a bool"): + LMRootSolver(max_steps_is_success=1) with pytest.raises(ValueError, match="gtol must be nonnegative"): LMRootSolver(gtol=-1.0) with pytest.raises(ValueError, match="xtol must be nonnegative"): diff --git a/tests/test_sdae.py b/tests/test_sdae.py index 42b7fb9..003238a 100644 --- a/tests/test_sdae.py +++ b/tests/test_sdae.py @@ -5,6 +5,7 @@ from tinydiffeq import ( EulerMaruyama, + LMRootSolver, SaveAt, solve_sde, solve_semi_explicit_sdae, @@ -199,6 +200,7 @@ def stochastic(y, z, t, args, p, algebraic_aux): save_at=SaveAt(steps=True), has_aux=True, has_algebraic_aux=True, + root_solver=LMRootSolver(max_steps_is_success=False), ) assert not bool(sol.ok) assert int(sol.accepted.sum()) == int(sol.num_accepted) + 1 @@ -239,6 +241,7 @@ def zero_diffusion(y, z, t, args, p, algebraic_aux): save_at=save_at, has_aux=True, has_algebraic_aux=True, + root_solver=LMRootSolver(max_steps_is_success=False), failure_ad_reference=(1.0, 1.0, 0.0, 0.0), ) From 1c77318766c9a21f81fc70f77f5b1b4dce18cb04 Mon Sep 17 00:00:00 2001 From: Jesse Perla Date: Tue, 21 Jul 2026 15:42:49 -0700 Subject: [PATCH 3/3] chore: prepare tinydiffeq 2.2.0 release --- ...-07-21_failed-ad-integration-comparison.md | 24 + .../2026-07-21_nlls-2.4.0-release-stable.csv | 40 + ...-21_nlls-2.4.0-release-tree-jvp-repeat.csv | 8 + .../2026-07-21_nlls-2.4.0-release.json | 6558 +++++++++++++++++ pyproject.toml | 5 +- uv.lock | 24 +- 6 files changed, 6637 insertions(+), 22 deletions(-) create mode 100644 benchmarks/results/2026-07-21_nlls-2.4.0-release-stable.csv create mode 100644 benchmarks/results/2026-07-21_nlls-2.4.0-release-tree-jvp-repeat.csv create mode 100644 benchmarks/results/2026-07-21_nlls-2.4.0-release.json diff --git a/benchmarks/results/2026-07-21_failed-ad-integration-comparison.md b/benchmarks/results/2026-07-21_failed-ad-integration-comparison.md index 7615aae..96eb68f 100644 --- a/benchmarks/results/2026-07-21_failed-ad-integration-comparison.md +++ b/benchmarks/results/2026-07-21_failed-ad-integration-comparison.md @@ -103,3 +103,27 @@ JAX_PLATFORMS=cpu JAX_ENABLE_X64=1 \ The baseline/post JSON, cold-compilation CSVs, JVP-strategy CSVs, stable matrix CSVs, and targeted raw-crossing CSV are stored alongside this report. + +## Published nlls-gram 2.4.0 verification + +The release candidate was retested after replacing the local editable nlls-gram +source with the published PyPI wheel. The lockfile resolves `nlls-gram` 2.4.0 +from the registry while the tinydiffeq package metadata retains the public +requirement `nlls-gram>=2.4.0`. + +The full released-dependency benchmark completed all 115 cases. Its only raw +short-round crossing was the unrelated Tsit5 tree-state primal case (21.869 to +23.608 us); no JVP or VJP case crossed the gate. + +The corresponding 39-case higher-stability root/aux matrix initially showed +one 5.74% sample increase for the DAE tree-state JVP (185.392 to 196.033 us). +Seven immediate repetitions of that exact 15-round by 100-dispatch measurement +ranged from 174.412 to 182.578 us, all faster than the reference. It was thus a +transient timing sample rather than a released-package regression. Every other +stable JVP/VJP case passed on the first release run. + +Release verification artifacts: + +- `2026-07-21_nlls-2.4.0-release.json` +- `2026-07-21_nlls-2.4.0-release-stable.csv` +- `2026-07-21_nlls-2.4.0-release-tree-jvp-repeat.csv` diff --git a/benchmarks/results/2026-07-21_nlls-2.4.0-release-stable.csv b/benchmarks/results/2026-07-21_nlls-2.4.0-release-stable.csv new file mode 100644 index 0000000..6b1d7b2 --- /dev/null +++ b/benchmarks/results/2026-07-21_nlls-2.4.0-release-stable.csv @@ -0,0 +1,40 @@ +suite,case,transform,median_us +root,dae-scalar,primal,20.670419 +root,dae-scalar,jvp,30.473330 +root,dae-scalar,vjp,49.375001 +root,dae-vector16,primal,102.250000 +root,dae-vector16,jvp,140.765831 +root,dae-vector16,vjp,537.690420 +root,dae-tree16,primal,113.839160 +root,dae-tree16,jvp,196.033330 +root,dae-tree16,vjp,695.462920 +root,rodas5p_dae-scalar,primal,25.943749 +root,rodas5p_dae-scalar,jvp,32.850830 +root,rodas5p_dae-scalar,vjp,40.124580 +root,rodas5p_dae-vector16,primal,65.218330 +root,rodas5p_dae-vector16,jvp,90.635831 +root,rodas5p_dae-vector16,vjp,215.512500 +root,rodas5p_dae-tree16,primal,70.490830 +root,rodas5p_dae-tree16,jvp,131.628340 +root,rodas5p_dae-tree16,vjp,304.557080 +root,sdae-scalar,primal,56.066670 +root,sdae-scalar,jvp,74.043750 +root,sdae-scalar,vjp,80.674581 +root,sdae-vector16,primal,249.288330 +root,sdae-vector16,jvp,336.084580 +root,sdae-vector16,vjp,455.740000 +root,sdae-tree16,primal,265.151249 +root,sdae-tree16,jvp,381.315000 +root,sdae-tree16,vjp,602.862911 +aux,aux-8-8,primal,53.879170 +aux,aux-8-8,jvp,65.197500 +aux,aux-8-8,vjp,73.312910 +aux,aux-32-8,primal,131.317080 +aux,aux-32-8,jvp,188.217091 +aux,aux-32-8,vjp,218.937090 +aux,noaux-auto-8-8,primal,43.511250 +aux,noaux-auto-8-8,jvp,56.330001 +aux,noaux-auto-8-8,vjp,62.932090 +aux,noaux-explicit-8-8,primal,44.663751 +aux,noaux-explicit-8-8,jvp,57.499590 +aux,noaux-explicit-8-8,vjp,63.890419 diff --git a/benchmarks/results/2026-07-21_nlls-2.4.0-release-tree-jvp-repeat.csv b/benchmarks/results/2026-07-21_nlls-2.4.0-release-tree-jvp-repeat.csv new file mode 100644 index 0000000..5ecac53 --- /dev/null +++ b/benchmarks/results/2026-07-21_nlls-2.4.0-release-tree-jvp-repeat.csv @@ -0,0 +1,8 @@ +repeat,median_us,min_us,max_us +1,174.412080,169.900000,248.293340 +2,182.578340,170.005830,220.346670 +3,178.512500,176.859170,231.281250 +4,178.836670,174.198750,179.925000 +5,179.291670,178.316250,181.085420 +6,179.721250,177.506660,216.472500 +7,180.504580,179.176250,184.510840 diff --git a/benchmarks/results/2026-07-21_nlls-2.4.0-release.json b/benchmarks/results/2026-07-21_nlls-2.4.0-release.json new file mode 100644 index 0000000..aca8179 --- /dev/null +++ b/benchmarks/results/2026-07-21_nlls-2.4.0-release.json @@ -0,0 +1,6558 @@ +{ + "machine_info": { + "node": "dh4.econ.ubc.ca", + "processor": "arm", + "machine": "arm64", + "python_compiler": "Clang 20.1.0 ", + "python_implementation": "CPython", + "python_implementation_version": "3.13.2", + "python_version": "3.13.2", + "python_build": [ + "main", + "Mar 17 2025 21:26:38" + ], + "release": "25.5.0", + "system": "Darwin", + "cpu": { + "python_version": "3.13.2.final.0 (64 bit)", + "cpuinfo_version": [ + 9, + 0, + 0 + ], + "cpuinfo_version_string": "9.0.0", + "arch": "ARM_8", + "bits": 64, + "count": 16, + "arch_string_raw": "arm64", + "brand_raw": "Apple M4 Max" + } + }, + "commit_info": { + "id": "47570afda96d3c2ea9d3993e1e289b25de564de1", + "time": "2026-07-21T13:52:05-07:00", + "author_time": "2026-07-21T13:52:05-07:00", + "dirty": true, + "project": "tinydiffeq", + "branch": "agent/nlls-2.4-direct-ad" + }, + "benchmarks": [ + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-8-8]", + "params": { + "transform": "primal", + "n_queries": 8, + "n_steps": 8 + }, + "param": "primal-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.420001689344644e-05, + "max": 6.316660437732935e-05, + "mean": 5.600003758445382e-05, + "stddev": 2.61767179504085e-06, + "rounds": 10, + "median": 5.5429188068956134e-05, + "iqr": 1.1166092008352253e-06, + "q1": 5.465839058160782e-05, + "q3": 5.5774999782443044e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 5.420001689344644e-05, + "hd15iqr": 6.316660437732935e-05, + "ops": 17857.13087231231, + "total": 0.0005600003758445382, + "data": [ + 6.316660437732935e-05, + 5.5424985475838184e-05, + 5.4249982349574565e-05, + 5.5774999782443044e-05, + 5.574179813265801e-05, + 5.6458404287695885e-05, + 5.489180330187082e-05, + 5.465839058160782e-05, + 5.543339066207409e-05, + 5.420001689344644e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-8-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-8-32]", + "params": { + "transform": "primal", + "n_queries": 8, + "n_steps": 32 + }, + "param": "primal-8-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00012743340339511634, + "max": 0.00013950001448392868, + "mean": 0.00012992500327527523, + "stddev": 3.547881390022342e-06, + "rounds": 10, + "median": 0.00012890411308035253, + "iqr": 1.5750061720609882e-06, + "q1": 0.00012809159234166144, + "q3": 0.00012966659851372243, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.00012743340339511634, + "hd15iqr": 0.00013950001448392868, + "ops": 7696.747929890568, + "total": 0.0012992500327527524, + "data": [ + 0.00013950001448392868, + 0.00013127499260008336, + 0.00012743340339511634, + 0.00012958338484168053, + 0.00012966659851372243, + 0.00012809159234166144, + 0.00012818342074751853, + 0.00012890000361949206, + 0.00012890822254121303, + 0.00012770839966833592 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-8-128]", + "params": { + "transform": "primal", + "n_queries": 8, + "n_steps": 128 + }, + "param": "primal-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0004348249873146415, + "max": 0.0004691416164860129, + "mean": 0.00044509497936815026, + "stddev": 1.0062381526207674e-05, + "rounds": 10, + "median": 0.0004436957999132574, + "iqr": 7.966579869389577e-06, + "q1": 0.000438483408652246, + "q3": 0.00044644998852163555, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.0004348249873146415, + "hd15iqr": 0.0004691416164860129, + "ops": 2246.711480366694, + "total": 0.0044509497936815025, + "data": [ + 0.0004691416164860129, + 0.00044644998852163555, + 0.00043795821256935595, + 0.0004348249873146415, + 0.00045419998932629826, + 0.0004439583979547024, + 0.000438483408652246, + 0.00044377499725669625, + 0.0004385415930300951, + 0.0004436166025698185 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-32-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-32-8]", + "params": { + "transform": "primal", + "n_queries": 32, + "n_steps": 8 + }, + "param": "primal-32-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.5750017054378986e-05, + "max": 6.436679977923631e-05, + "mean": 5.764583824202418e-05, + "stddev": 2.8341689642309384e-06, + "rounds": 10, + "median": 5.6420802138745785e-05, + "iqr": 8.167931810021346e-07, + "q1": 5.616659764200449e-05, + "q3": 5.698339082300663e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 5.5750017054378986e-05, + "hd15iqr": 6.1224983073771e-05, + "ops": 17347.30607613914, + "total": 0.0005764583824202418, + "data": [ + 6.436679977923631e-05, + 6.1224983073771e-05, + 5.698339082300663e-05, + 5.6291790679097174e-05, + 5.631658714264631e-05, + 5.652501713484526e-05, + 5.609160289168358e-05, + 5.5750017054378986e-05, + 5.6741596199572084e-05, + 5.616659764200449e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-32-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-32-32]", + "params": { + "transform": "primal", + "n_queries": 32, + "n_steps": 32 + }, + "param": "primal-32-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00012660820502787828, + "max": 0.00013749180361628533, + "mean": 0.00012948332354426384, + "stddev": 3.2101395899036972e-06, + "rounds": 10, + "median": 0.00012819580733776094, + "iqr": 3.0831666663289016e-06, + "q1": 0.0001275834161788225, + "q3": 0.00013066658284515141, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.00012660820502787828, + "hd15iqr": 0.00013749180361628533, + "ops": 7723.002257183723, + "total": 0.0012948332354426385, + "data": [ + 0.00013749180361628533, + 0.00013066658284515141, + 0.00013169159647077321, + 0.00012660820502787828, + 0.00012910000514239074, + 0.00012852500658482312, + 0.00012786660809069872, + 0.00012781659606844186, + 0.00012748341541737317, + 0.0001275834161788225 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-32-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-32-128]", + "params": { + "transform": "primal", + "n_queries": 32, + "n_steps": 128 + }, + "param": "primal-32-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0004426582017913461, + "max": 0.00046586659736931325, + "mean": 0.00044701249804347755, + "stddev": 6.972058657048439e-06, + "rounds": 10, + "median": 0.0004447291023097933, + "iqr": 4.191813059151162e-06, + "q1": 0.00044312498066574336, + "q3": 0.0004473167937248945, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.0004426582017913461, + "hd15iqr": 0.00046586659736931325, + "ops": 2237.073917120629, + "total": 0.004470124980434776, + "data": [ + 0.00046586659736931325, + 0.0004473167937248945, + 0.0004449333995580673, + 0.0004426582017913461, + 0.0004497834015637636, + 0.00044312498066574336, + 0.0004447166109457612, + 0.0004447415936738253, + 0.00044293340761214495, + 0.0004440499935299158 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-128-8]", + "params": { + "transform": "primal", + "n_queries": 128, + "n_steps": 8 + }, + "param": "primal-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.717501044273376e-05, + "max": 6.817500106990338e-05, + "mean": 5.992500111460686e-05, + "stddev": 3.1757637128648234e-06, + "rounds": 10, + "median": 5.9833296108990905e-05, + "iqr": 2.6334077119827257e-06, + "q1": 5.7725002989172935e-05, + "q3": 6.035841070115566e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 5.717501044273376e-05, + "hd15iqr": 6.817500106990338e-05, + "ops": 16687.52576387099, + "total": 0.0005992500111460686, + "data": [ + 6.817500106990338e-05, + 5.992499645799398e-05, + 6.035841070115566e-05, + 5.993340164422989e-05, + 5.9741595759987834e-05, + 5.8074994012713435e-05, + 6.0683395713567736e-05, + 5.7725002989172935e-05, + 5.745820235460997e-05, + 5.717501044273376e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-128-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-128-32]", + "params": { + "transform": "primal", + "n_queries": 128, + "n_steps": 32 + }, + "param": "primal-128-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00013030818663537503, + "max": 0.00014055001083761453, + "mean": 0.0001323591358959675, + "stddev": 3.272932074893339e-06, + "rounds": 10, + "median": 0.0001306916936300695, + "iqr": 1.96660403162241e-06, + "q1": 0.00013041659258306026, + "q3": 0.00013238319661468267, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.00013030818663537503, + "hd15iqr": 0.00014055001083761453, + "ops": 7555.201937749025, + "total": 0.0013235913589596747, + "data": [ + 0.00014055001083761453, + 0.00013529998250305653, + 0.00013238319661468267, + 0.00013230000622570514, + 0.00013041659258306026, + 0.00013077498879283668, + 0.00013039999175816773, + 0.00013060839846730233, + 0.00013055000454187393, + 0.00013030818663537503 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[primal-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[primal-128-128]", + "params": { + "transform": "primal", + "n_queries": 128, + "n_steps": 128 + }, + "param": "primal-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0004394750110805035, + "max": 0.00046949179377406833, + "mean": 0.0004464399628341198, + "stddev": 8.571959886978887e-06, + "rounds": 10, + "median": 0.00044363751076161864, + "iqr": 5.849986337125301e-06, + "q1": 0.00044220821000635625, + "q3": 0.00044805819634348155, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.0004394750110805035, + "hd15iqr": 0.00046949179377406833, + "ops": 2239.9428439419576, + "total": 0.004464399628341198, + "data": [ + 0.00046949179377406833, + 0.0004488666076213121, + 0.00044352500699460504, + 0.0004436166025698185, + 0.00044408319517970086, + 0.0004414165858179331, + 0.0004436584189534187, + 0.00044220821000635625, + 0.0004394750110805035, + 0.00044805819634348155 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-8-8]", + "params": { + "transform": "jvp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "jvp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.58916076645255e-05, + "max": 7.65250064432621e-05, + "mean": 6.794332060962916e-05, + "stddev": 3.1719612851354037e-06, + "rounds": 10, + "median": 6.698330398648977e-05, + "iqr": 1.8251826986670575e-06, + "q1": 6.619160994887352e-05, + "q3": 6.801679264754057e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 6.58916076645255e-05, + "hd15iqr": 7.65250064432621e-05, + "ops": 14718.150232096203, + "total": 0.0006794332060962915, + "data": [ + 7.65250064432621e-05, + 6.899998988956213e-05, + 6.754158530384303e-05, + 6.682500243186951e-05, + 6.62500038743019e-05, + 6.619160994887352e-05, + 6.801679264754057e-05, + 6.58916076645255e-05, + 6.714160554111004e-05, + 6.605000235140323e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-8-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-8-32]", + "params": { + "transform": "jvp", + "n_queries": 8, + "n_steps": 32 + }, + "param": "jvp-8-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00018599999602884055, + "max": 0.00019761680159717797, + "mean": 0.0001903625437989831, + "stddev": 3.419435302214678e-06, + "rounds": 10, + "median": 0.00019002091139554977, + "iqr": 3.958190791308891e-06, + "q1": 0.00018811679910868406, + "q3": 0.00019207498989999295, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.00018599999602884055, + "hd15iqr": 0.00019761680159717797, + "ops": 5253.134256579218, + "total": 0.001903625437989831, + "data": [ + 0.00019761680159717797, + 0.00018811679910868406, + 0.00018675820901989937, + 0.00018599999602884055, + 0.00018853340297937394, + 0.00019207498989999295, + 0.00018915000837296247, + 0.00019176681526005267, + 0.0001927166013047099, + 0.00019089181441813707 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-8-128]", + "params": { + "transform": "jvp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "jvp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006926916074007749, + "max": 0.0007185917813330889, + "mean": 0.0007029391941614449, + "stddev": 9.21057509634168e-06, + "rounds": 10, + "median": 0.00070113759720698, + "iqr": 1.4541787095367908e-05, + "q1": 0.0006960165919736028, + "q3": 0.0007105583790689707, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.0006926916074007749, + "hd15iqr": 0.0007185917813330889, + "ops": 1422.5981540166172, + "total": 0.007029391941614449, + "data": [ + 0.0007185917813330889, + 0.0007015833863988519, + 0.0007006918080151081, + 0.0006969915935769677, + 0.0007016249932348728, + 0.0007105583790689707, + 0.000716550019569695, + 0.0006940917810425162, + 0.0006960165919736028, + 0.0006926916074007749 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-32-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-32-8]", + "params": { + "transform": "jvp", + "n_queries": 32, + "n_steps": 8 + }, + "param": "jvp-32-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.658320780843497e-05, + "max": 7.744159083813428e-05, + "mean": 6.873416015878319e-05, + "stddev": 3.1978011527352475e-06, + "rounds": 10, + "median": 6.782510317862033e-05, + "iqr": 1.9331928342580795e-06, + "q1": 6.695000920444726e-05, + "q3": 6.888320203870534e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 6.658320780843497e-05, + "hd15iqr": 7.744159083813428e-05, + "ops": 14548.806556883708, + "total": 0.000687341601587832, + "data": [ + 7.744159083813428e-05, + 6.888320203870534e-05, + 6.760840769857169e-05, + 6.695000920444726e-05, + 6.939179729670286e-05, + 6.804179865866899e-05, + 6.658320780843497e-05, + 6.834999658167362e-05, + 6.662500090897084e-05, + 6.746659055352211e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-32-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-32-32]", + "params": { + "transform": "jvp", + "n_queries": 32, + "n_steps": 32 + }, + "param": "jvp-32-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00018744159024208784, + "max": 0.00020206659100949765, + "mean": 0.0001914383564144373, + "stddev": 5.260982599866187e-06, + "rounds": 10, + "median": 0.0001892334083095193, + "iqr": 5.275197327136977e-06, + "q1": 0.00018766659777611495, + "q3": 0.00019294179510325192, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.00018744159024208784, + "hd15iqr": 0.00020206659100949765, + "ops": 5223.613588883618, + "total": 0.001914383564144373, + "data": [ + 0.00019963339436799288, + 0.00019039998296648263, + 0.00018906681798398496, + 0.00018744159024208784, + 0.00018744179978966713, + 0.00018766659777611495, + 0.00018939999863505365, + 0.00020206659100949765, + 0.00019294179510325192, + 0.00018832499627023934 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-32-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-32-128]", + "params": { + "transform": "jvp", + "n_queries": 32, + "n_steps": 128 + }, + "param": "jvp-32-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006782999960705637, + "max": 0.0006951166084036231, + "mean": 0.0006840608385391534, + "stddev": 4.891411952889869e-06, + "rounds": 10, + "median": 0.0006832374958321453, + "iqr": 5.183182656765006e-06, + "q1": 0.000680958409793675, + "q3": 0.00068614159245044, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.0006782999960705637, + "hd15iqr": 0.0006951166084036231, + "ops": 1461.8582787688165, + "total": 0.0068406083853915335, + "data": [ + 0.0006951166084036231, + 0.0006883583962917327, + 0.0006842250004410744, + 0.000680958409793675, + 0.0006828333949670196, + 0.0006836415966972708, + 0.0006782999960705637, + 0.000681091588921845, + 0.00068614159245044, + 0.000679941801354289 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-128-8]", + "params": { + "transform": "jvp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "jvp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.820817943662406e-05, + "max": 7.652498316019773e-05, + "mean": 7.023165468126536e-05, + "stddev": 2.4217989323820087e-06, + "rounds": 10, + "median": 6.949580274522305e-05, + "iqr": 1.5915837138891329e-06, + "q1": 6.865840405225753e-05, + "q3": 7.024998776614667e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 6.820817943662406e-05, + "hd15iqr": 7.652498316019773e-05, + "ops": 14238.59375858839, + "total": 0.0007023165468126536, + "data": [ + 7.652498316019773e-05, + 7.019180338829756e-05, + 7.162499241530895e-05, + 7.024998776614667e-05, + 6.935000419616699e-05, + 6.96416012942791e-05, + 6.922499742358922e-05, + 6.864159367978573e-05, + 6.865840405225753e-05, + 6.820817943662406e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-128-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-128-32]", + "params": { + "transform": "jvp", + "n_queries": 128, + "n_steps": 32 + }, + "param": "jvp-128-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00018562499899417163, + "max": 0.00019803340546786785, + "mean": 0.00019032749813050032, + "stddev": 4.461323752459311e-06, + "rounds": 10, + "median": 0.0001884666969999671, + "iqr": 7.900013588368876e-06, + "q1": 0.0001873999834060669, + "q3": 0.00019529999699443578, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.00018562499899417163, + "hd15iqr": 0.00019803340546786785, + "ops": 5254.101534578772, + "total": 0.0019032749813050031, + "data": [ + 0.00019803340546786785, + 0.0001887749880552292, + 0.00019643320702016353, + 0.00019529999699443578, + 0.000188858387991786, + 0.0001873999834060669, + 0.00018729160074144603, + 0.000188158405944705, + 0.00018562499899417163, + 0.00018740000668913127 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[jvp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[jvp-128-128]", + "params": { + "transform": "jvp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "jvp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006856916006654501, + "max": 0.0007046082057058812, + "mean": 0.0006913449778221547, + "stddev": 6.196792690153675e-06, + "rounds": 10, + "median": 0.0006888749892823398, + "iqr": 4.900200292468114e-06, + "q1": 0.0006870582001283765, + "q3": 0.0006919584004208446, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 0.0006856916006654501, + "hd15iqr": 0.000700208405032754, + "ops": 1446.4558680243213, + "total": 0.006913449778221547, + "data": [ + 0.0007046082057058812, + 0.000700208405032754, + 0.0006888249889016151, + 0.0006870582001283765, + 0.0006919584004208446, + 0.0006906250026077032, + 0.0006888583768159152, + 0.0006856916006654501, + 0.0006867249961942434, + 0.0006888916017487645 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-8-8]", + "params": { + "transform": "vjp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "vjp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.364160846918821e-05, + "max": 8.647500071674585e-05, + "mean": 7.738832151517272e-05, + "stddev": 4.384391437144147e-06, + "rounds": 10, + "median": 7.571669993922114e-05, + "iqr": 7.116585038602352e-06, + "q1": 7.423341739922761e-05, + "q3": 8.135000243782997e-05, + "iqr_outliers": 0, + "stddev_outliers": 2, + "outliers": "2;0", + "ld15iqr": 7.364160846918821e-05, + "hd15iqr": 8.647500071674585e-05, + "ops": 12921.846351247461, + "total": 0.0007738832151517272, + "data": [ + 8.135000243782997e-05, + 7.470818236470223e-05, + 8.647500071674585e-05, + 8.217499125748873e-05, + 7.593338377773762e-05, + 7.364160846918821e-05, + 7.372500840574503e-05, + 7.550001610070466e-05, + 7.614160422235728e-05, + 7.423341739922761e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-8-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-8-32]", + "params": { + "transform": "vjp", + "n_queries": 8, + "n_steps": 32 + }, + "param": "vjp-8-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00021478338167071342, + "max": 0.0002316082129254937, + "mean": 0.0002220791601575911, + "stddev": 5.470557823892605e-06, + "rounds": 10, + "median": 0.00022181670647114515, + "iqr": 1.0324991308152676e-05, + "q1": 0.00021641659550368785, + "q3": 0.00022674158681184052, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.00021478338167071342, + "hd15iqr": 0.0002316082129254937, + "ops": 4502.898873043212, + "total": 0.0022207916015759112, + "data": [ + 0.00022681660484522582, + 0.0002316082129254937, + 0.00022674158681184052, + 0.0002245584037154913, + 0.00022235000506043434, + 0.00021579181775450708, + 0.00022044158540666104, + 0.00021641659550368785, + 0.00022128340788185596, + 0.00021478338167071342 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-8-128]", + "params": { + "transform": "vjp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "vjp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0008042168105021119, + "max": 0.0008362666005268693, + "mean": 0.0008176266821101308, + "stddev": 1.0705976408139229e-05, + "rounds": 10, + "median": 0.0008129333029501141, + "iqr": 1.599977258592844e-05, + "q1": 0.00081175840459764, + "q3": 0.0008277581771835684, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 0.0008042168105021119, + "hd15iqr": 0.0008362666005268693, + "ops": 1223.052062610286, + "total": 0.008176266821101308, + "data": [ + 0.0008362666005268693, + 0.0008327834075316787, + 0.0008277581771835684, + 0.0008122000144794583, + 0.0008136665914207697, + 0.0008101168088614941, + 0.0008154666051268577, + 0.0008120334008708596, + 0.00081175840459764, + 0.0008042168105021119 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-32-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-32-8]", + "params": { + "transform": "vjp", + "n_queries": 32, + "n_steps": 8 + }, + "param": "vjp-32-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.426661904901266e-05, + "max": 8.865820709615945e-05, + "mean": 7.872497895732522e-05, + "stddev": 5.365011280445422e-06, + "rounds": 10, + "median": 7.685819873586297e-05, + "iqr": 8.074985817074787e-06, + "q1": 7.444180082529783e-05, + "q3": 8.251678664237261e-05, + "iqr_outliers": 0, + "stddev_outliers": 2, + "outliers": "2;0", + "ld15iqr": 7.426661904901266e-05, + "hd15iqr": 8.865820709615945e-05, + "ops": 12702.448615985964, + "total": 0.0007872497895732522, + "data": [ + 8.655840065330267e-05, + 8.865820709615945e-05, + 8.251678664237261e-05, + 7.80331902205944e-05, + 7.816660217940807e-05, + 7.568320725113154e-05, + 7.459998596459627e-05, + 7.444180082529783e-05, + 7.426661904901266e-05, + 7.432498969137669e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-32-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-32-32]", + "params": { + "transform": "vjp", + "n_queries": 32, + "n_steps": 32 + }, + "param": "vjp-32-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00021454999223351477, + "max": 0.0002305584028363228, + "mean": 0.00022000331897288562, + "stddev": 5.283148238782297e-06, + "rounds": 10, + "median": 0.00021925829350948333, + "iqr": 7.5917923822999e-06, + "q1": 0.00021554159466177225, + "q3": 0.00022313338704407215, + "iqr_outliers": 0, + "stddev_outliers": 2, + "outliers": "2;0", + "ld15iqr": 0.00021454999223351477, + "hd15iqr": 0.0002305584028363228, + "ops": 4545.385972669101, + "total": 0.002200033189728856, + "data": [ + 0.00022313338704407215, + 0.0002305584028363228, + 0.00022217498626559974, + 0.00022235000506043434, + 0.00022419160231947898, + 0.00021519160363823176, + 0.00021600001491606236, + 0.00021634160075336694, + 0.00021554159466177225, + 0.00021454999223351477 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-32-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-32-128]", + "params": { + "transform": "vjp", + "n_queries": 32, + "n_steps": 128 + }, + "param": "vjp-32-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0008022917900234461, + "max": 0.0008347250055521727, + "mean": 0.0008084175363183021, + "stddev": 9.789452766686172e-06, + "rounds": 10, + "median": 0.0008045624941587447, + "iqr": 6.4002117142081694e-06, + "q1": 0.0008035165956243873, + "q3": 0.0008099168073385954, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.0008022917900234461, + "hd15iqr": 0.0008347250055521727, + "ops": 1236.9845470624048, + "total": 0.00808417536318302, + "data": [ + 0.0008347250055521727, + 0.0008121917955577374, + 0.0008099168073385954, + 0.0008061749860644341, + 0.0008047499926760793, + 0.0008039415813982486, + 0.0008043749956414103, + 0.0008035165956243873, + 0.0008022917900234461, + 0.0008022918133065105 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-128-8]", + "params": { + "transform": "vjp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "vjp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.63749936595559e-05, + "max": 8.859161753207445e-05, + "mean": 8.011166471987962e-05, + "stddev": 4.138439698887243e-06, + "rounds": 10, + "median": 7.822500774636864e-05, + "iqr": 4.833401180803787e-06, + "q1": 7.727500051259994e-05, + "q3": 8.210840169340373e-05, + "iqr_outliers": 0, + "stddev_outliers": 2, + "outliers": "2;0", + "ld15iqr": 7.63749936595559e-05, + "hd15iqr": 8.859161753207445e-05, + "ops": 12482.576707107812, + "total": 0.0008011166471987962, + "data": [ + 8.581660222262144e-05, + 7.727500051259994e-05, + 7.63749936595559e-05, + 8.859161753207445e-05, + 7.990840822458267e-05, + 8.210840169340373e-05, + 7.786659989506006e-05, + 7.684160955250263e-05, + 7.774999830871821e-05, + 7.858341559767723e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-128-32]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-128-32]", + "params": { + "transform": "vjp", + "n_queries": 128, + "n_steps": 32 + }, + "param": "vjp-128-32", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00021319161169230938, + "max": 0.00023008340504020451, + "mean": 0.00021827745949849487, + "stddev": 5.749992591768429e-06, + "rounds": 10, + "median": 0.00021624990040436387, + "iqr": 3.349990583956236e-06, + "q1": 0.00021502499002963306, + "q3": 0.0002183749806135893, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 0.00021319161169230938, + "hd15iqr": 0.0002273166086524725, + "ops": 4581.325081836476, + "total": 0.0021827745949849486, + "data": [ + 0.00023008340504020451, + 0.0002273166086524725, + 0.0002183749806135893, + 0.00021663319785147905, + 0.0002158666029572487, + 0.00021343319676816463, + 0.00021719159558415414, + 0.0002156584057956934, + 0.00021502499002963306, + 0.00021319161169230938 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_aux_dense_output_crossover[vjp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_aux_dense_output_crossover[vjp-128-128]", + "params": { + "transform": "vjp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "vjp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0008055581944063306, + "max": 0.0008367168018594384, + "mean": 0.0008161941613070667, + "stddev": 9.019870329766636e-06, + "rounds": 10, + "median": 0.0008140375139191747, + "iqr": 8.183415047824383e-06, + "q1": 0.0008101749932393432, + "q3": 0.0008183584082871676, + "iqr_outliers": 1, + "stddev_outliers": 3, + "outliers": "3;1", + "ld15iqr": 0.0008055581944063306, + "hd15iqr": 0.0008367168018594384, + "ops": 1225.1986689032224, + "total": 0.008161941613070666, + "data": [ + 0.0008367168018594384, + 0.0008154749870300293, + 0.0008254666114225984, + 0.000813075015321374, + 0.0008183584082871676, + 0.0008055581944063306, + 0.0008128749905154109, + 0.0008101749932393432, + 0.0008092415984719992, + 0.0008150000125169754 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-primal-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-primal-8-8]", + "params": { + "explicit_no_aux": false, + "transform": "primal", + "n_queries": 8, + "n_steps": 8 + }, + "param": "auto-primal-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.784159827977419e-05, + "max": 5.651661194860935e-05, + "mean": 4.9913316033780574e-05, + "stddev": 2.4024972402827934e-06, + "rounds": 10, + "median": 4.927499685436487e-05, + "iqr": 8.584000170230838e-07, + "q1": 4.894158337265253e-05, + "q3": 4.9799983389675615e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 4.784159827977419e-05, + "hd15iqr": 5.651661194860935e-05, + "ops": 20034.733803765215, + "total": 0.0004991331603378058, + "data": [ + 5.651661194860935e-05, + 4.784159827977419e-05, + 4.9799983389675615e-05, + 4.9533392302691934e-05, + 4.901660140603781e-05, + 5.003339610993862e-05, + 4.894158337265253e-05, + 4.9008196219801904e-05, + 4.964179825037718e-05, + 4.879999905824661e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-primal-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-primal-8-128]", + "params": { + "explicit_no_aux": false, + "transform": "primal", + "n_queries": 8, + "n_steps": 128 + }, + "param": "auto-primal-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0003646583994850516, + "max": 0.000392233207821846, + "mean": 0.00037161580054089426, + "stddev": 7.987539971321986e-06, + "rounds": 10, + "median": 0.00036911250790581105, + "iqr": 6.099999882280837e-06, + "q1": 0.00036755818873643873, + "q3": 0.00037365818861871957, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.0003646583994850516, + "hd15iqr": 0.000392233207821846, + "ops": 2690.9512419667835, + "total": 0.0037161580054089426, + "data": [ + 0.000392233207821846, + 0.00037365818861871957, + 0.0003646583994850516, + 0.0003698584157973528, + 0.00036836660001426935, + 0.0003720334032550454, + 0.00037486660294234754, + 0.000367600005120039, + 0.00036755818873643873, + 0.00036532499361783264 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-primal-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-primal-128-8]", + "params": { + "explicit_no_aux": false, + "transform": "primal", + "n_queries": 128, + "n_steps": 8 + }, + "param": "auto-primal-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.809999372810125e-05, + "max": 5.858340300619602e-05, + "mean": 5.149500677362084e-05, + "stddev": 2.9460899738691685e-06, + "rounds": 10, + "median": 5.1012507174164054e-05, + "iqr": 1.7001992091536495e-06, + "q1": 4.9641611985862256e-05, + "q3": 5.1341811195015906e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 4.809999372810125e-05, + "hd15iqr": 5.413321778178215e-05, + "ops": 19419.358548609147, + "total": 0.0005149500677362085, + "data": [ + 5.858340300619602e-05, + 5.413321778178215e-05, + 5.1175011321902275e-05, + 5.1316595636308195e-05, + 5.1341811195015906e-05, + 5.0300010479986666e-05, + 4.809999372810125e-05, + 5.085000302642584e-05, + 4.9641611985862256e-05, + 4.9508409574627876e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-primal-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-primal-128-128]", + "params": { + "explicit_no_aux": false, + "transform": "primal", + "n_queries": 128, + "n_steps": 128 + }, + "param": "auto-primal-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00035847499966621397, + "max": 0.0003816499840468168, + "mean": 0.0003637583600357175, + "stddev": 7.630493941485662e-06, + "rounds": 10, + "median": 0.0003602834069170058, + "iqr": 4.92483377456665e-06, + "q1": 0.00035906678531318905, + "q3": 0.0003639916190877557, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 0.00035847499966621397, + "hd15iqr": 0.000372950010932982, + "ops": 2749.077711648496, + "total": 0.003637583600357175, + "data": [ + 0.0003816499840468168, + 0.000372950010932982, + 0.0003639916190877557, + 0.0003627334022894502, + 0.0003606584155932069, + 0.00035847499966621397, + 0.00035885837860405445, + 0.0003599083982408047, + 0.00035906678531318905, + 0.0003592916065827012 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-jvp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-jvp-8-8]", + "params": { + "explicit_no_aux": false, + "transform": "jvp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "auto-jvp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.845001433044672e-05, + "max": 6.8174977786839e-05, + "mean": 6.044334033504129e-05, + "stddev": 2.8421437390904146e-06, + "rounds": 10, + "median": 5.996670806780457e-05, + "iqr": 1.675216481089592e-06, + "q1": 5.866659339517355e-05, + "q3": 6.034180987626314e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 5.845001433044672e-05, + "hd15iqr": 6.8174977786839e-05, + "ops": 16544.419855966535, + "total": 0.0006044334033504129, + "data": [ + 6.8174977786839e-05, + 6.0999998822808266e-05, + 6.034180987626314e-05, + 5.924159195274115e-05, + 5.996681284159422e-05, + 5.866659339517355e-05, + 5.996660329401493e-05, + 6.002499721944332e-05, + 5.845001433044672e-05, + 5.8600003831088544e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-jvp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-jvp-8-128]", + "params": { + "explicit_no_aux": false, + "transform": "jvp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "auto-jvp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0005896500078961253, + "max": 0.0006128250155597925, + "mean": 0.0005968116410076618, + "stddev": 6.94260696670881e-06, + "rounds": 10, + "median": 0.0005940623930655419, + "iqr": 7.63339921832089e-06, + "q1": 0.0005934915971010923, + "q3": 0.0006011249963194132, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.0005896500078961253, + "hd15iqr": 0.0006128250155597925, + "ops": 1675.5705339654426, + "total": 0.005968116410076618, + "data": [ + 0.0006128250155597925, + 0.0005936166038736701, + 0.0005945081822574139, + 0.0005934915971010923, + 0.0005896500078961253, + 0.0006030415883287787, + 0.0005916249938309193, + 0.0005947084166109562, + 0.0005935250082984567, + 0.0006011249963194132 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-jvp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-jvp-128-8]", + "params": { + "explicit_no_aux": false, + "transform": "jvp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "auto-jvp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.055838894098997e-05, + "max": 7.259999401867389e-05, + "mean": 6.296335719525814e-05, + "stddev": 3.6264415031104235e-06, + "rounds": 10, + "median": 6.161670899018645e-05, + "iqr": 3.0167866498231888e-06, + "q1": 6.0616596601903436e-05, + "q3": 6.363338325172662e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 6.055838894098997e-05, + "hd15iqr": 7.259999401867389e-05, + "ops": 15882.253497043695, + "total": 0.0006296335719525814, + "data": [ + 7.259999401867389e-05, + 6.416679825633764e-05, + 6.363338325172662e-05, + 6.300839595496655e-05, + 6.15500146523118e-05, + 6.0616596601903436e-05, + 6.124160718172789e-05, + 6.055838894098997e-05, + 6.16834033280611e-05, + 6.0574989765882493e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-jvp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-jvp-128-128]", + "params": { + "explicit_no_aux": false, + "transform": "jvp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "auto-jvp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0005958584137260914, + "max": 0.0006287500029429794, + "mean": 0.0006057991762645542, + "stddev": 1.0496623587657493e-05, + "rounds": 10, + "median": 0.0006043458008207381, + "iqr": 1.3300194405019262e-05, + "q1": 0.0005968581885099411, + "q3": 0.0006101583829149603, + "iqr_outliers": 0, + "stddev_outliers": 2, + "outliers": "2;0", + "ld15iqr": 0.0005958584137260914, + "hd15iqr": 0.0006287500029429794, + "ops": 1650.7120497689436, + "total": 0.006057991762645543, + "data": [ + 0.0006287500029429794, + 0.000616641785018146, + 0.0005958584137260914, + 0.0006101583829149603, + 0.0006061415886506438, + 0.0005983168026432395, + 0.0006029081996530294, + 0.0005965749965980649, + 0.0005968581885099411, + 0.0006057834019884467 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-vjp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-vjp-8-8]", + "params": { + "explicit_no_aux": false, + "transform": "vjp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "auto-vjp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.430000066757203e-05, + "max": 7.747500203549861e-05, + "mean": 6.807664642110468e-05, + "stddev": 4.635450788318495e-06, + "rounds": 10, + "median": 6.619991036131978e-05, + "iqr": 5.991803482174868e-06, + "q1": 6.475821137428284e-05, + "q3": 7.075001485645771e-05, + "iqr_outliers": 0, + "stddev_outliers": 2, + "outliers": "2;0", + "ld15iqr": 6.430000066757203e-05, + "hd15iqr": 7.747500203549861e-05, + "ops": 14689.325232242736, + "total": 0.0006807664642110467, + "data": [ + 7.430841214954853e-05, + 7.747500203549861e-05, + 7.075001485645771e-05, + 6.506661884486675e-05, + 6.479178555309772e-05, + 6.445820908993483e-05, + 6.475821137428284e-05, + 6.430000066757203e-05, + 6.733320187777281e-05, + 6.752500776201487e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-vjp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-vjp-8-128]", + "params": { + "explicit_no_aux": false, + "transform": "vjp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "auto-vjp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006663165986537933, + "max": 0.000693024997599423, + "mean": 0.00067619833862409, + "stddev": 8.819197891086572e-06, + "rounds": 10, + "median": 0.0006739457952789962, + "iqr": 1.068341080099353e-05, + "q1": 0.0006702834041789174, + "q3": 0.0006809668149799109, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0006663165986537933, + "hd15iqr": 0.000693024997599423, + "ops": 1478.8560439748683, + "total": 0.0067619833862408996, + "data": [ + 0.000693024997599423, + 0.0006776999915018677, + 0.0006710415938869119, + 0.0006663165986537933, + 0.0006702834041789174, + 0.0006763749988749623, + 0.0006875749910250306, + 0.0006809668149799109, + 0.0006671834038570523, + 0.0006715165916830301 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-vjp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-vjp-128-8]", + "params": { + "explicit_no_aux": false, + "transform": "vjp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "auto-vjp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.432500667870044e-05, + "max": 7.618339732289315e-05, + "mean": 6.912672426551581e-05, + "stddev": 4.305358563099688e-06, + "rounds": 10, + "median": 6.732090841978788e-05, + "iqr": 7.0499954745173454e-06, + "q1": 6.605000235140323e-05, + "q3": 7.309999782592058e-05, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 6.432500667870044e-05, + "hd15iqr": 7.618339732289315e-05, + "ops": 14466.185265180498, + "total": 0.0006912672426551581, + "data": [ + 7.618339732289315e-05, + 6.731681060045958e-05, + 6.73250062391162e-05, + 6.605000235140323e-05, + 7.51500017940998e-05, + 7.309999782592058e-05, + 7.046679966151714e-05, + 6.605840753763914e-05, + 6.432500667870044e-05, + 6.529181264340878e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[auto-vjp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[auto-vjp-128-128]", + "params": { + "explicit_no_aux": false, + "transform": "vjp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "auto-vjp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006692165974527597, + "max": 0.0007018000120297075, + "mean": 0.000680565838702023, + "stddev": 1.0247049306238424e-05, + "rounds": 10, + "median": 0.0006794917047955096, + "iqr": 1.4099990949034691e-05, + "q1": 0.0006716168019920588, + "q3": 0.0006857167929410935, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0006692165974527597, + "hd15iqr": 0.0007018000120297075, + "ops": 1469.3655530921192, + "total": 0.00680565838702023, + "data": [ + 0.0007018000120297075, + 0.0006814081920310855, + 0.0006857167929410935, + 0.0006783168064430356, + 0.0006806666031479835, + 0.0006755665875971317, + 0.0006692165974527597, + 0.0006716168019920588, + 0.0006700000027194619, + 0.0006913499906659126 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-primal-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-primal-8-8]", + "params": { + "explicit_no_aux": true, + "transform": "primal", + "n_queries": 8, + "n_steps": 8 + }, + "param": "explicit-primal-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.960000514984131e-05, + "max": 5.836659111082554e-05, + "mean": 5.115834064781666e-05, + "stddev": 2.630510012028526e-06, + "rounds": 10, + "median": 5.0225004088133574e-05, + "iqr": 7.666181772947325e-07, + "q1": 4.999998491257429e-05, + "q3": 5.076660308986902e-05, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 4.960000514984131e-05, + "hd15iqr": 5.215001292526722e-05, + "ops": 19547.154722710464, + "total": 0.0005115834064781666, + "data": [ + 5.836659111082554e-05, + 5.215001292526722e-05, + 5.0041801296174525e-05, + 5.030841566622257e-05, + 5.0141592510044575e-05, + 4.999998491257429e-05, + 4.960000514984131e-05, + 5.076660308986902e-05, + 4.980000667273998e-05, + 5.040839314460754e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-primal-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-primal-8-128]", + "params": { + "explicit_no_aux": true, + "transform": "primal", + "n_queries": 8, + "n_steps": 128 + }, + "param": "explicit-primal-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0003648668061941862, + "max": 0.00038442499935626985, + "mean": 0.00036925500025972727, + "stddev": 6.117727164895093e-06, + "rounds": 10, + "median": 0.0003667457960546017, + "iqr": 3.450200892984867e-06, + "q1": 0.00036596660502254965, + "q3": 0.0003694168059155345, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 0.0003648668061941862, + "hd15iqr": 0.0003751249983906746, + "ops": 2708.155608716519, + "total": 0.0036925500025972724, + "data": [ + 0.00038442499935626985, + 0.00036821658723056315, + 0.0003751249983906746, + 0.0003694168059155345, + 0.0003667084034532309, + 0.0003667831886559725, + 0.00036497500259429215, + 0.0003648668061941862, + 0.00036596660502254965, + 0.000366066605783999 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-primal-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-primal-128-8]", + "params": { + "explicit_no_aux": true, + "transform": "primal", + "n_queries": 128, + "n_steps": 8 + }, + "param": "explicit-primal-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.896679893136024e-05, + "max": 5.8725010603666306e-05, + "mean": 5.112420069053769e-05, + "stddev": 3.065784518480593e-06, + "rounds": 10, + "median": 4.986251005902886e-05, + "iqr": 1.091603189706801e-06, + "q1": 4.954999312758446e-05, + "q3": 5.064159631729126e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 4.896679893136024e-05, + "hd15iqr": 5.43499831110239e-05, + "ops": 19560.20801289681, + "total": 0.000511242006905377, + "data": [ + 5.8725010603666306e-05, + 5.43499831110239e-05, + 5.018340889364481e-05, + 4.9866805784404275e-05, + 5.064159631729126e-05, + 4.985821433365345e-05, + 4.896679893136024e-05, + 4.96583990752697e-05, + 4.954999312758446e-05, + 4.94417967274785e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-primal-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-primal-128-128]", + "params": { + "explicit_no_aux": true, + "transform": "primal", + "n_queries": 128, + "n_steps": 128 + }, + "param": "explicit-primal-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0003640581853687763, + "max": 0.00038933318573981525, + "mean": 0.00037014661822468045, + "stddev": 7.194471596601342e-06, + "rounds": 10, + "median": 0.000368733296636492, + "iqr": 5.091796629130808e-06, + "q1": 0.000365766603499651, + "q3": 0.0003708584001287818, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.0003640581853687763, + "hd15iqr": 0.00038933318573981525, + "ops": 2701.63213916761, + "total": 0.003701466182246804, + "data": [ + 0.00038933318573981525, + 0.0003709582146257162, + 0.00037045839708298444, + 0.0003708584001287818, + 0.00036691660061478616, + 0.00036706659011542797, + 0.000365766603499651, + 0.0003656500019133091, + 0.0003640581853687763, + 0.00037040000315755604 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-jvp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-jvp-8-8]", + "params": { + "explicit_no_aux": true, + "transform": "jvp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "explicit-jvp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.766660906374455e-05, + "max": 6.684160325676203e-05, + "mean": 5.954083986580372e-05, + "stddev": 2.691166629683617e-06, + "rounds": 10, + "median": 5.8587500825524336e-05, + "iqr": 1.083407551050182e-06, + "q1": 5.8200000785291196e-05, + "q3": 5.928340833634138e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 5.766660906374455e-05, + "hd15iqr": 6.684160325676203e-05, + "ops": 16795.194731109816, + "total": 0.0005954083986580372, + "data": [ + 6.684160325676203e-05, + 6.061678286641836e-05, + 5.928340833634138e-05, + 5.9133186005055906e-05, + 5.8600003831088544e-05, + 5.8200000785291196e-05, + 5.766660906374455e-05, + 5.857499781996012e-05, + 5.830840673297644e-05, + 5.818339996039867e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-jvp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-jvp-8-128]", + "params": { + "explicit_no_aux": true, + "transform": "jvp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "explicit-jvp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0005921416217461228, + "max": 0.0006118249846622347, + "mean": 0.0005992841650731862, + "stddev": 6.747635702740074e-06, + "rounds": 10, + "median": 0.0005972750019282103, + "iqr": 1.1633406393229983e-05, + "q1": 0.0005928500089794397, + "q3": 0.0006044834153726697, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0005921416217461228, + "hd15iqr": 0.0006118249846622347, + "ops": 1668.6574721657753, + "total": 0.005992841650731861, + "data": [ + 0.0006118249846622347, + 0.0005921416217461228, + 0.0006044834153726697, + 0.0006076999939978123, + 0.0005928500089794397, + 0.000597475003451109, + 0.0005970750004053116, + 0.0005967250093817711, + 0.0006001250119879841, + 0.0005924416007474064 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-jvp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-jvp-128-8]", + "params": { + "explicit_no_aux": true, + "transform": "jvp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "explicit-jvp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.998341366648674e-05, + "max": 6.735001225024461e-05, + "mean": 6.157666677609086e-05, + "stddev": 2.115229287372714e-06, + "rounds": 10, + "median": 6.105409702286124e-05, + "iqr": 1.4083692803978839e-06, + "q1": 6.0333218425512317e-05, + "q3": 6.17415877059102e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 5.998341366648674e-05, + "hd15iqr": 6.735001225024461e-05, + "ops": 16239.917688891248, + "total": 0.0006157666677609086, + "data": [ + 6.735001225024461e-05, + 6.17415877059102e-05, + 6.106658838689327e-05, + 6.0300016775727273e-05, + 6.0908403247594835e-05, + 6.104160565882921e-05, + 6.183341611176729e-05, + 6.0333218425512317e-05, + 6.120840553194284e-05, + 5.998341366648674e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-jvp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-jvp-128-128]", + "params": { + "explicit_no_aux": true, + "transform": "jvp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "explicit-jvp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0005951084196567536, + "max": 0.0006139250006526708, + "mean": 0.0006040008249692619, + "stddev": 6.883092859285294e-06, + "rounds": 10, + "median": 0.0006024333066307007, + "iqr": 1.1466606520116373e-05, + "q1": 0.000598699995316565, + "q3": 0.0006101666018366814, + "iqr_outliers": 0, + "stddev_outliers": 4, + "outliers": "4;0", + "ld15iqr": 0.0005951084196567536, + "hd15iqr": 0.0006139250006526708, + "ops": 1655.6268777462199, + "total": 0.0060400082496926185, + "data": [ + 0.000613783416338265, + 0.0006101666018366814, + 0.0006037000101059675, + 0.0006139250006526708, + 0.000606858404353261, + 0.000598699995316565, + 0.0005999916000291705, + 0.00059660819824785, + 0.0006011666031554341, + 0.0005951084196567536 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-vjp-8-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-vjp-8-8]", + "params": { + "explicit_no_aux": true, + "transform": "vjp", + "n_queries": 8, + "n_steps": 8 + }, + "param": "explicit-vjp-8-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.43582083284855e-05, + "max": 8.094159420579672e-05, + "mean": 6.819499656558037e-05, + "stddev": 5.544665426911502e-06, + "rounds": 10, + "median": 6.569179240614175e-05, + "iqr": 6.3748098909854835e-06, + "q1": 6.44167885184288e-05, + "q3": 7.079159840941429e-05, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 6.43582083284855e-05, + "hd15iqr": 8.094159420579672e-05, + "ops": 14663.832397708835, + "total": 0.0006819499656558036, + "data": [ + 7.424999494105577e-05, + 6.624178495258093e-05, + 6.514179985970259e-05, + 6.475818809121847e-05, + 6.438340060412883e-05, + 6.43582083284855e-05, + 6.44167885184288e-05, + 8.094159420579672e-05, + 7.079159840941429e-05, + 6.666660774499178e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-vjp-8-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-vjp-8-128]", + "params": { + "explicit_no_aux": true, + "transform": "vjp", + "n_queries": 8, + "n_steps": 128 + }, + "param": "explicit-vjp-8-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006566582014784217, + "max": 0.000688241608440876, + "mean": 0.0006669432763010264, + "stddev": 1.048853806329105e-05, + "rounds": 10, + "median": 0.0006633957964368165, + "iqr": 1.065838150680063e-05, + "q1": 0.0006600999971851706, + "q3": 0.0006707583786919713, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.0006566582014784217, + "hd15iqr": 0.000688241608440876, + "ops": 1499.3778864465944, + "total": 0.006669432763010264, + "data": [ + 0.000688241608440876, + 0.0006643249886110425, + 0.0006566582014784217, + 0.0006819831905886531, + 0.0006624666042625904, + 0.0006652750074863434, + 0.000657391594722867, + 0.0006600999971851706, + 0.0006707583786919713, + 0.0006622331915423274 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-vjp-128-8]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-vjp-128-8]", + "params": { + "explicit_no_aux": true, + "transform": "vjp", + "n_queries": 128, + "n_steps": 8 + }, + "param": "explicit-vjp-128-8", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.535840220749378e-05, + "max": 7.566660642623901e-05, + "mean": 6.695336196571589e-05, + "stddev": 3.110564164426867e-06, + "rounds": 10, + "median": 6.582499481737613e-05, + "iqr": 9.584007784724208e-07, + "q1": 6.566660013049841e-05, + "q3": 6.662500090897084e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 6.535840220749378e-05, + "hd15iqr": 7.566660642623901e-05, + "ops": 14935.769775266246, + "total": 0.0006695336196571589, + "data": [ + 7.566660642623901e-05, + 6.721678655594588e-05, + 6.662500090897084e-05, + 6.580839399248362e-05, + 6.581658963114023e-05, + 6.583340000361204e-05, + 6.535840220749378e-05, + 6.551682017743587e-05, + 6.566660013049841e-05, + 6.602501962333917e-05 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_no_aux_grid_output_crossover[explicit-vjp-128-128]", + "fullname": "benchmarks/test_aux_dense_output.py::test_no_aux_grid_output_crossover[explicit-vjp-128-128]", + "params": { + "explicit_no_aux": true, + "transform": "vjp", + "n_queries": 128, + "n_steps": 128 + }, + "param": "explicit-vjp-128-128", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006655999924987555, + "max": 0.0007016415940597654, + "mean": 0.0006774333352223039, + "stddev": 1.014620240692588e-05, + "rounds": 10, + "median": 0.0006757208961062133, + "iqr": 8.85839108377695e-06, + "q1": 0.000671266601420939, + "q3": 0.0006801249925047159, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.0006655999924987555, + "hd15iqr": 0.0007016415940597654, + "ops": 1476.1600116295488, + "total": 0.0067743333522230385, + "data": [ + 0.0007016415940597654, + 0.000685691786929965, + 0.0006758417934179306, + 0.0006763249868527055, + 0.0006708499975502491, + 0.0006801249925047159, + 0.000675599998794496, + 0.000671266601420939, + 0.0006713916081935167, + 0.0006655999924987555 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_batched_adaptive_dense_output", + "fullname": "benchmarks/test_aux_dense_output.py::test_batched_adaptive_dense_output", + "params": null, + "param": null, + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.000994083401747048, + "max": 0.0010219999821856618, + "mean": 0.00100328667787835, + "stddev": 8.135317784954019e-06, + "rounds": 10, + "median": 0.0010015417123213411, + "iqr": 5.958415567874952e-06, + "q1": 0.0009989831829443573, + "q3": 0.0010049415985122323, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.000994083401747048, + "hd15iqr": 0.0010219999821856618, + "ops": 996.7240889859115, + "total": 0.0100328667787835, + "data": [ + 0.0010219999821856618, + 0.0010110667906701564, + 0.0009989831829443573, + 0.0010049415985122323, + 0.0010035333922132849, + 0.001000250014476478, + 0.000999091612175107, + 0.0009960833936929702, + 0.000994083401747048, + 0.001002833410166204 + ], + "iterations": 5 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-rk4]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "rk4" + }, + "param": "primal-scalar-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.7584064304828645e-06, + "max": 7.03328987583518e-06, + "mean": 5.010416498407722e-06, + "stddev": 5.031004694317873e-07, + "rounds": 20, + "median": 4.856253508478403e-06, + "iqr": 1.8959981389343755e-07, + "q1": 4.791654646396637e-06, + "q3": 4.9812544602900745e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 4.7584064304828645e-06, + "hd15iqr": 5.3540919907391075e-06, + "ops": 199584.20628660184, + "total": 0.00010020832996815443, + "data": [ + 7.03328987583518e-06, + 5.087500903755427e-06, + 5.3540919907391075e-06, + 4.954205360263586e-06, + 4.933297168463468e-06, + 4.887499380856753e-06, + 4.891608841717243e-06, + 4.854204598814249e-06, + 4.858302418142557e-06, + 4.812504630535841e-06, + 5.254207644611597e-06, + 4.8083951696753505e-06, + 4.791701212525368e-06, + 4.791701212525368e-06, + 4.7915964387357235e-06, + 4.791608080267906e-06, + 4.775007255375385e-06, + 4.770897794514894e-06, + 5.008303560316563e-06, + 4.7584064304828645e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-tsit5]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "tsit5" + }, + "param": "primal-scalar-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.5167009122669695e-06, + "max": 8.054194040596485e-06, + "mean": 5.9818796580657365e-06, + "stddev": 6.678768633734068e-07, + "rounds": 20, + "median": 5.697901360690594e-06, + "iqr": 5.33350976184011e-07, + "q1": 5.566648906096815e-06, + "q3": 6.099999882280826e-06, + "iqr_outliers": 2, + "stddev_outliers": 3, + "outliers": "3;2", + "ld15iqr": 5.5167009122669695e-06, + "hd15iqr": 7.054198067635298e-06, + "ops": 167171.53422697805, + "total": 0.00011963759316131472, + "data": [ + 8.054194040596485e-06, + 5.962501745671034e-06, + 5.820801015943289e-06, + 5.725002847611904e-06, + 5.76250022277236e-06, + 5.76250022277236e-06, + 5.670799873769284e-06, + 5.6166085414588455e-06, + 6.237498018890619e-06, + 6.874999962747097e-06, + 5.633395630866289e-06, + 5.545897874981165e-06, + 5.566596519201994e-06, + 5.579204298555851e-06, + 6.574997678399086e-06, + 7.054198067635298e-06, + 5.566701292991638e-06, + 5.554198287427425e-06, + 5.558296106755734e-06, + 5.5167009122669695e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-rodas5p]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "rodas5p" + }, + "param": "primal-scalar-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.1029100753366948e-05, + "max": 2.8729194309562444e-05, + "mean": 2.2402908653020858e-05, + "stddev": 1.8237013635326965e-06, + "rounds": 20, + "median": 2.192079555243254e-05, + "iqr": 6.646499969065176e-07, + "q1": 2.1491647930815817e-05, + "q3": 2.2156297927722334e-05, + "iqr_outliers": 3, + "stddev_outliers": 2, + "outliers": "2;3", + "ld15iqr": 2.1029100753366948e-05, + "hd15iqr": 2.3320806212723257e-05, + "ops": 44637.06099454, + "total": 0.00044805817306041716, + "data": [ + 2.5995902251452208e-05, + 2.257500309497118e-05, + 2.3320806212723257e-05, + 2.187499776482582e-05, + 2.1845800802111626e-05, + 2.209589583799243e-05, + 2.1924998145550488e-05, + 2.195829292759299e-05, + 2.8729194309562444e-05, + 2.2004207130521537e-05, + 2.1316693164408207e-05, + 2.1916592959314585e-05, + 2.133749658241868e-05, + 2.133749658241868e-05, + 2.129159402102232e-05, + 2.221670001745224e-05, + 2.1708302665501832e-05, + 2.193329855799675e-05, + 2.164579927921295e-05, + 2.1029100753366948e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-em]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "em" + }, + "param": "primal-scalar-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.3584033846855165e-06, + "max": 6.820808630436659e-06, + "mean": 5.664374912157655e-06, + "stddev": 6.021237445876532e-07, + "rounds": 20, + "median": 5.772901931777596e-06, + "iqr": 8.207978680729864e-07, + "q1": 5.295849405229092e-06, + "q3": 6.116647273302078e-06, + "iqr_outliers": 0, + "stddev_outliers": 7, + "outliers": "7;0", + "ld15iqr": 4.3584033846855165e-06, + "hd15iqr": 6.820808630436659e-06, + "ops": 176541.98662833273, + "total": 0.00011328749824315309, + "data": [ + 6.820808630436659e-06, + 4.845799412578344e-06, + 4.950002767145633e-06, + 5.35829458385706e-06, + 4.3584033846855165e-06, + 6.13329466432333e-06, + 5.733303260058164e-06, + 5.274999421089888e-06, + 5.558296106755734e-06, + 5.5791926570236685e-06, + 5.812500603497028e-06, + 6.145809311419725e-06, + 6.350001785904169e-06, + 5.833397153764963e-06, + 6.320793181657791e-06, + 6.099999882280826e-06, + 6.033305544406175e-06, + 5.3166993893682955e-06, + 5.82089414820075e-06, + 4.941702354699373e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-dae]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "dae" + }, + "param": "primal-scalar-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.164579927921295e-05, + "max": 2.4241604842245577e-05, + "mean": 2.1926439949311316e-05, + "stddev": 5.657221410111603e-07, + "rounds": 20, + "median": 2.1752098109573127e-05, + "iqr": 1.8750433810055527e-07, + "q1": 2.1712447050958872e-05, + "q3": 2.1899951389059427e-05, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 2.164579927921295e-05, + "hd15iqr": 2.2287503816187383e-05, + "ops": 45607.038913374025, + "total": 0.00043852879898622634, + "data": [ + 2.4241604842245577e-05, + 2.2287503816187383e-05, + 2.2004195488989354e-05, + 2.1991599351167678e-05, + 2.1966604981571437e-05, + 2.1833297796547414e-05, + 2.1762505639344454e-05, + 2.1733297035098077e-05, + 2.1708302665501832e-05, + 2.17416905798018e-05, + 2.1700002253055573e-05, + 2.1775008644908666e-05, + 2.1716603077948095e-05, + 2.168749924749136e-05, + 2.1700002253055573e-05, + 2.1729094441980124e-05, + 2.171659143641591e-05, + 2.1808396559208633e-05, + 2.1779199596494436e-05, + 2.164579927921295e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-rodas5p_dae]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "rodas5p_dae" + }, + "param": "primal-scalar-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.7437496464699505e-05, + "max": 3.527919761836529e-05, + "mean": 2.9032293241471052e-05, + "stddev": 2.353844352317257e-06, + "rounds": 20, + "median": 2.81353946775198e-05, + "iqr": 1.1396128684282316e-06, + "q1": 2.75749946013093e-05, + "q3": 2.871460746973753e-05, + "iqr_outliers": 3, + "stddev_outliers": 3, + "outliers": "3;3", + "ld15iqr": 2.7437496464699505e-05, + "hd15iqr": 3.327500307932496e-05, + "ops": 34444.402709860835, + "total": 0.000580645864829421, + "data": [ + 3.527919761836529e-05, + 2.8820906300097705e-05, + 2.785420510917902e-05, + 2.7974997647106647e-05, + 2.8391694650053977e-05, + 2.834589686244726e-05, + 2.7558300644159317e-05, + 2.7562491595745087e-05, + 2.835829509422183e-05, + 2.749999985098839e-05, + 2.7820793911814688e-05, + 2.758749760687351e-05, + 3.327500307932496e-05, + 3.0349998269230127e-05, + 3.411249490454793e-05, + 2.8054194990545513e-05, + 2.7437496464699505e-05, + 2.7537497226148842e-05, + 2.8216594364494087e-05, + 2.8608308639377356e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-scalar-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-scalar-sdae]", + "params": { + "transform": "primal", + "state_kind": "scalar", + "method": "sdae" + }, + "param": "primal-scalar-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.4845807608217004e-05, + "max": 6.0645805206149817e-05, + "mean": 5.6148944422602655e-05, + "stddev": 1.6872336235249565e-06, + "rounds": 20, + "median": 5.5524945491924885e-05, + "iqr": 8.458504453301416e-07, + "q1": 5.522709689103067e-05, + "q3": 5.6072947336360814e-05, + "iqr_outliers": 3, + "stddev_outliers": 3, + "outliers": "3;3", + "ld15iqr": 5.4845807608217004e-05, + "hd15iqr": 5.829579895362258e-05, + "ops": 17809.7738129063, + "total": 0.001122978888452053, + "data": [ + 5.829579895362258e-05, + 5.517919780686498e-05, + 5.549580091610551e-05, + 6.0508307069540027e-05, + 5.5554090067744255e-05, + 5.5287498980760574e-05, + 5.535410018637776e-05, + 6.0645805206149817e-05, + 5.565410247072577e-05, + 5.6462502107024194e-05, + 5.609169602394104e-05, + 5.5858294945210216e-05, + 5.605419864878059e-05, + 5.584580358117819e-05, + 5.532499635592103e-05, + 5.522919818758965e-05, + 5.520839476957917e-05, + 5.522499559447169e-05, + 5.485829897224903e-05, + 5.4845807608217004e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-rk4]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "rk4" + }, + "param": "primal-vector16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.325003828853369e-06, + "max": 5.804095417261124e-06, + "mean": 4.495608736760914e-06, + "stddev": 3.235146541210167e-07, + "rounds": 20, + "median": 4.402099875733256e-06, + "iqr": 1.5830155462026545e-07, + "q1": 4.345847992226482e-06, + "q3": 4.504149546846747e-06, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 4.325003828853369e-06, + "hd15iqr": 5.804095417261124e-06, + "ops": 222439.2865470984, + "total": 8.991217473521828e-05, + "data": [ + 5.804095417261124e-06, + 4.5915949158370495e-06, + 4.495796747505665e-06, + 4.4291024096310135e-06, + 4.454201553016901e-06, + 4.429207183420658e-06, + 4.420895129442215e-06, + 4.379195161163807e-06, + 4.341697786003351e-06, + 4.383304622024298e-06, + 4.679197445511818e-06, + 4.345795605331659e-06, + 4.35409601777792e-06, + 4.3416046537458895e-06, + 4.341593012213707e-06, + 4.325003828853369e-06, + 4.3459003791213036e-06, + 4.358298610895872e-06, + 4.51250234618783e-06, + 4.5790919102728365e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-tsit5]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "tsit5" + }, + "param": "primal-vector16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.145805284380913e-06, + "max": 1.061670482158661e-05, + "mean": 7.586455903947354e-06, + "stddev": 8.023404470516095e-07, + "rounds": 20, + "median": 7.2541995905339725e-06, + "iqr": 3.605033271014687e-07, + "q1": 7.220800034701824e-06, + "q3": 7.5813033618032926e-06, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 7.145805284380913e-06, + "hd15iqr": 8.666608482599259e-06, + "ops": 131813.85519945936, + "total": 0.00015172911807894706, + "data": [ + 1.061670482158661e-05, + 7.979106158018112e-06, + 7.312500383704901e-06, + 7.641699630767107e-06, + 7.245899178087712e-06, + 7.245794404298067e-06, + 7.42089468985796e-06, + 7.204199209809303e-06, + 7.220800034701824e-06, + 7.262500002980232e-06, + 7.520907092839479e-06, + 7.3499977588653564e-06, + 7.191603071987629e-06, + 7.199996616691351e-06, + 7.145805284380913e-06, + 7.233303040266037e-06, + 7.825007196515799e-06, + 8.666608482599259e-06, + 7.220800034701824e-06, + 7.2249909862875935e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-rodas5p]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "rodas5p" + }, + "param": "primal-vector16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.3770804293453693e-05, + "max": 4.215840017423034e-05, + "mean": 3.707458556164056e-05, + "stddev": 2.307512459960466e-06, + "rounds": 20, + "median": 3.641244838945568e-05, + "iqr": 3.785401349887249e-06, + "q1": 3.5352096892893316e-05, + "q3": 3.9137498242780565e-05, + "iqr_outliers": 0, + "stddev_outliers": 7, + "outliers": "7;0", + "ld15iqr": 3.3770804293453693e-05, + "hd15iqr": 4.215840017423034e-05, + "ops": 26972.654848356713, + "total": 0.0007414917112328112, + "data": [ + 3.963341005146504e-05, + 4.215840017423034e-05, + 3.963339840993285e-05, + 3.998749889433384e-05, + 3.509160596877336e-05, + 3.725419519469142e-05, + 3.5379198379814625e-05, + 3.547499654814601e-05, + 3.641659859567881e-05, + 3.5991694312542676e-05, + 3.423329908400774e-05, + 4.051669966429472e-05, + 3.864159807562828e-05, + 3.532499540597201e-05, + 3.7208304274827245e-05, + 3.622500225901604e-05, + 3.3770804293453693e-05, + 3.640829818323255e-05, + 3.4808309283107516e-05, + 3.7333404179662466e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-em]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "em" + }, + "param": "primal-vector16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.3033400066196918e-05, + "max": 3.0362489633262156e-05, + "mean": 2.5058972532860934e-05, + "stddev": 2.0404378035552974e-06, + "rounds": 20, + "median": 2.4333345936611295e-05, + "iqr": 2.252159174531701e-06, + "q1": 2.3595796665176747e-05, + "q3": 2.5847955839708447e-05, + "iqr_outliers": 1, + "stddev_outliers": 3, + "outliers": "3;1", + "ld15iqr": 2.3033400066196918e-05, + "hd15iqr": 3.0362489633262156e-05, + "ops": 39905.866000238275, + "total": 0.0005011794506572187, + "data": [ + 2.8383301105350257e-05, + 2.8441695030778645e-05, + 3.0362489633262156e-05, + 2.6941695250570773e-05, + 2.607500646263361e-05, + 2.3420900106430054e-05, + 2.4612492416054012e-05, + 2.542919246479869e-05, + 2.5620905216783284e-05, + 2.4062499869614838e-05, + 2.3104192223399878e-05, + 2.3033400066196918e-05, + 2.3462495300918816e-05, + 2.477499656379223e-05, + 2.372909802943468e-05, + 2.3150001652538776e-05, + 2.4091696832329035e-05, + 2.393750473856926e-05, + 2.3970892652869224e-05, + 2.4574995040893555e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-dae]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "dae" + }, + "param": "primal-vector16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00010284580057486891, + "max": 0.00011434999760240316, + "mean": 0.00010602583817671985, + "stddev": 2.6680575875061017e-06, + "rounds": 20, + "median": 0.00010581879760138691, + "iqr": 1.766596687957639e-06, + "q1": 0.00010455630254000426, + "q3": 0.0001063228992279619, + "iqr_outliers": 3, + "stddev_outliers": 6, + "outliers": "6;3", + "ld15iqr": 0.00010284580057486891, + "hd15iqr": 0.00010953749297186733, + "ops": 9431.663236024015, + "total": 0.002120516763534397, + "data": [ + 0.00011434999760240316, + 0.00010953749297186733, + 0.0001060458947904408, + 0.00010642500128597022, + 0.000106058397796005, + 0.00010605830466374755, + 0.0001050374936312437, + 0.00010455839801579714, + 0.00011000419035553933, + 0.00010325830662623048, + 0.00010462499922141433, + 0.00010656249942258, + 0.00010622079716995358, + 0.00010579589288681746, + 0.00010584170231595636, + 0.00010403749765828252, + 0.00010455420706421137, + 0.00010549579747021198, + 0.00010284580057486891, + 0.00010320409201085568 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-rodas5p_dae]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "rodas5p_dae" + }, + "param": "primal-vector16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.344999419525266e-05, + "max": 7.746670162305236e-05, + "mean": 6.641353829763829e-05, + "stddev": 2.9983190683864603e-06, + "rounds": 20, + "median": 6.587914540432394e-05, + "iqr": 2.475007204338911e-06, + "q1": 6.453334353864192e-05, + "q3": 6.700835074298084e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 6.344999419525266e-05, + "hd15iqr": 7.746670162305236e-05, + "ops": 15057.170956897511, + "total": 0.001328270765952766, + "data": [ + 7.746670162305236e-05, + 6.907499628141522e-05, + 6.763749988749623e-05, + 6.599999032914638e-05, + 6.575830047950149e-05, + 6.56625023111701e-05, + 6.67167012579739e-05, + 6.626659305766224e-05, + 6.479580188170075e-05, + 6.441669538617134e-05, + 6.464999169111251e-05, + 6.795000517740845e-05, + 6.658328929916024e-05, + 6.730000022798776e-05, + 6.65999948978424e-05, + 6.573330610990525e-05, + 6.394999800249935e-05, + 6.344999419525266e-05, + 6.435420364141465e-05, + 6.390420021489263e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-vector16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-vector16-sdae]", + "params": { + "transform": "primal", + "state_kind": "vector16", + "method": "sdae" + }, + "param": "primal-vector16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0002511334023438394, + "max": 0.00026798329781740904, + "mean": 0.00025551313534379007, + "stddev": 3.86620227308717e-06, + "rounds": 20, + "median": 0.0002544791554100811, + "iqr": 3.320805262774229e-06, + "q1": 0.0002532312471885234, + "q3": 0.00025655205245129765, + "iqr_outliers": 1, + "stddev_outliers": 4, + "outliers": "4;1", + "ld15iqr": 0.0002511334023438394, + "hd15iqr": 0.00026798329781740904, + "ops": 3913.693120529836, + "total": 0.005110262706875801, + "data": [ + 0.00026798329781740904, + 0.00026098749367520213, + 0.00025761669967323543, + 0.00025630410527810454, + 0.00025437910808250307, + 0.000253649998921901, + 0.0002549917087890208, + 0.0002521666930988431, + 0.0002511334023438394, + 0.0002535291947424412, + 0.0002546458970755339, + 0.0002601584070362151, + 0.0002523832954466343, + 0.00025272499769926073, + 0.0002540417015552521, + 0.00025381670566275715, + 0.00025457920273765924, + 0.00025293329963460565, + 0.00025679999962449076, + 0.00025543749798089265 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-rk4]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "rk4" + }, + "param": "primal-tree16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.675002466887236e-06, + "max": 7.062498480081558e-06, + "mean": 5.812919698655605e-06, + "stddev": 3.0667106653346017e-07, + "rounds": 20, + "median": 5.7125464081764214e-06, + "iqr": 1.1050724424421787e-07, + "q1": 5.68954274058342e-06, + "q3": 5.800049984827638e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 5.675002466887236e-06, + "hd15iqr": 5.9916987083852294e-06, + "ops": 172030.58907407185, + "total": 0.0001162583939731121, + "data": [ + 7.062498480081558e-06, + 5.9916987083852294e-06, + 5.8916979469358924e-06, + 5.895807407796383e-06, + 5.8042001910507676e-06, + 5.795899778604508e-06, + 5.733303260058164e-06, + 5.733303260058164e-06, + 5.695794243365526e-06, + 5.729193799197674e-06, + 5.7041994296014306e-06, + 5.687493830919265e-06, + 5.675002466887236e-06, + 5.687493830919265e-06, + 5.679205060005188e-06, + 5.720893386751413e-06, + 5.695805884897709e-06, + 5.700008478015661e-06, + 5.683302879333496e-06, + 5.691591650247574e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-tsit5]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "tsit5" + }, + "param": "primal-tree16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 9.79170436039567e-06, + "max": 2.7062499430030585e-05, + "mean": 1.9261252018623053e-05, + "stddev": 7.147361087342463e-06, + "rounds": 20, + "median": 2.3608357878401875e-05, + "iqr": 1.4760444173589349e-05, + "q1": 1.0139553342014552e-05, + "q3": 2.48999975156039e-05, + "iqr_outliers": 0, + "stddev_outliers": 8, + "outliers": "8;0", + "ld15iqr": 9.79170436039567e-06, + "hd15iqr": 2.7062499430030585e-05, + "ops": 51917.704987875855, + "total": 0.00038522504037246107, + "data": [ + 2.7062499430030585e-05, + 2.6229105424135922e-05, + 2.5537493638694286e-05, + 2.507499884814024e-05, + 2.5675003416836262e-05, + 2.3383309599012137e-05, + 2.3833406157791614e-05, + 2.4587498046457767e-05, + 2.204170450568199e-05, + 2.435420174151659e-05, + 2.472499618306756e-05, + 2.385420957580209e-05, + 1.859579933807254e-05, + 1.0125001426786185e-05, + 1.0037492029368877e-05, + 1.0083301458507776e-05, + 1.0233302600681781e-05, + 9.79170436039567e-06, + 1.0154105257242919e-05, + 9.84590733423829e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-rodas5p]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "rodas5p" + }, + "param": "primal-tree16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.213330103084445e-05, + "max": 4.562910180538893e-05, + "mean": 4.323520755860954e-05, + "stddev": 7.031480206804588e-07, + "rounds": 20, + "median": 4.320209845900535e-05, + "iqr": 5.646026693284539e-07, + "q1": 4.2872893391177056e-05, + "q3": 4.343749606050551e-05, + "iqr_outliers": 1, + "stddev_outliers": 3, + "outliers": "3;1", + "ld15iqr": 4.213330103084445e-05, + "hd15iqr": 4.562910180538893e-05, + "ops": 23129.29800659341, + "total": 0.0008647041511721909, + "data": [ + 4.562910180538893e-05, + 4.262079019099474e-05, + 4.3458293657749894e-05, + 4.259169800207019e-05, + 4.3145893141627314e-05, + 4.213330103084445e-05, + 4.3416698463261125e-05, + 4.338750150054693e-05, + 4.264159360900521e-05, + 4.3245800770819184e-05, + 4.316669655963778e-05, + 4.356249701231718e-05, + 4.315830301493406e-05, + 4.3495895806699994e-05, + 4.3237500358372925e-05, + 4.3116696178913114e-05, + 4.3404102325439456e-05, + 4.3104193173348905e-05, + 4.242089344188571e-05, + 4.3766701128333804e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-em]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "em" + }, + "param": "primal-tree16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.374998923391104e-05, + "max": 5.1391706801950934e-05, + "mean": 3.622520947828889e-05, + "stddev": 4.033181584372934e-06, + "rounds": 20, + "median": 3.469375078566372e-05, + "iqr": 2.822902752086519e-06, + "q1": 3.403124865144491e-05, + "q3": 3.685415140353143e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 3.374998923391104e-05, + "hd15iqr": 5.1391706801950934e-05, + "ops": 27605.08536463639, + "total": 0.0007245041895657777, + "data": [ + 5.1391706801950934e-05, + 3.9745797403156756e-05, + 3.6654097493737935e-05, + 3.705420531332493e-05, + 3.588330000638962e-05, + 3.903749166056514e-05, + 3.512500552460551e-05, + 3.374998923391104e-05, + 3.4024997148662806e-05, + 3.5116705112159254e-05, + 3.430419601500034e-05, + 3.885410260409117e-05, + 3.463330212980509e-05, + 3.475419944152236e-05, + 3.409169148653746e-05, + 3.403750015422702e-05, + 3.392089856788516e-05, + 3.4283404238522054e-05, + 3.387080505490303e-05, + 3.397079417482019e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-dae]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "dae" + }, + "param": "primal-tree16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00011078750248998404, + "max": 0.00012504999758675695, + "mean": 0.00011410790029913187, + "stddev": 2.9173282629731915e-06, + "rounds": 20, + "median": 0.00011347290128469468, + "iqr": 2.5646004360169172e-06, + "q1": 0.00011257915175519884, + "q3": 0.00011514375219121576, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.00011078750248998404, + "hd15iqr": 0.00012504999758675695, + "ops": 8763.635097819848, + "total": 0.0022821580059826374, + "data": [ + 0.00012504999758675695, + 0.00011512080673128366, + 0.00011416669003665448, + 0.00011436250060796738, + 0.0001136958017013967, + 0.00011289160465821624, + 0.00011342080542817712, + 0.0001128625008277595, + 0.00011570829665288329, + 0.00011286659864708781, + 0.00011229580268263817, + 0.00011216249549761415, + 0.00011078750248998404, + 0.00011352499714121223, + 0.00011516669765114785, + 0.00011220839805901051, + 0.00011195410043001175, + 0.00011291659902781248, + 0.00011539170518517494, + 0.00011560410493984818 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-rodas5p_dae]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "rodas5p_dae" + }, + "param": "primal-tree16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.896249251440168e-05, + "max": 9.808340109884739e-05, + "mean": 7.80506239971146e-05, + "stddev": 9.972998070158242e-06, + "rounds": 20, + "median": 7.29417020920664e-05, + "iqr": 1.7249997472390516e-05, + "q1": 6.986249936744571e-05, + "q3": 8.711249683983623e-05, + "iqr_outliers": 0, + "stddev_outliers": 5, + "outliers": "5;0", + "ld15iqr": 6.896249251440168e-05, + "hd15iqr": 9.808340109884739e-05, + "ops": 12812.197376371627, + "total": 0.001561012479942292, + "data": [ + 9.419999551028014e-05, + 7.547499844804407e-05, + 7.935839239507914e-05, + 8.435409981757402e-05, + 8.987089386209845e-05, + 9.052499663084746e-05, + 9.808340109884739e-05, + 9.40083060413599e-05, + 7.814159616827964e-05, + 7.38459057174623e-05, + 7.203749846667052e-05, + 6.907919887453318e-05, + 7.172910263761879e-05, + 7.189160678535699e-05, + 6.896249251440168e-05, + 7.092499872669577e-05, + 6.979580502957106e-05, + 6.973339477553964e-05, + 6.992919370532035e-05, + 6.90666027367115e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[primal-tree16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[primal-tree16-sdae]", + "params": { + "transform": "primal", + "state_kind": "tree16", + "method": "sdae" + }, + "param": "primal-tree16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0002733667031861842, + "max": 0.0002941458020359278, + "mean": 0.00027692353527527304, + "stddev": 4.27020432873915e-06, + "rounds": 20, + "median": 0.00027601455221883955, + "iqr": 2.3375498130917983e-06, + "q1": 0.0002750395506154746, + "q3": 0.0002773771004285664, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 0.0002733667031861842, + "hd15iqr": 0.0002941458020359278, + "ops": 3611.10513415178, + "total": 0.005538470705505461, + "data": [ + 0.0002941458020359278, + 0.0002778124995529652, + 0.0002777750021778047, + 0.00027600829489529135, + 0.0002755334018729627, + 0.0002776292036287487, + 0.0002769666025415063, + 0.00027602080954238775, + 0.0002739999908953905, + 0.00027712499722838403, + 0.0002761291107162833, + 0.0002749874955043197, + 0.000274941697716713, + 0.0002750916057266295, + 0.0002733667031861842, + 0.0002754500019364059, + 0.00027559169102460147, + 0.00027865420561283826, + 0.00027633329154923557, + 0.0002749082981608808 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-rk4]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "rk4" + }, + "param": "jvp-scalar-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.091691855341196e-06, + "max": 6.550003308802843e-06, + "mean": 5.2379252156242726e-06, + "stddev": 3.2030415013364957e-07, + "rounds": 20, + "median": 5.137501284480095e-06, + "iqr": 9.78994648903605e-08, + "q1": 5.1208538934588436e-06, + "q3": 5.218753358349204e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 5.091691855341196e-06, + "hd15iqr": 5.449994932860136e-06, + "ops": 190915.2877969864, + "total": 0.00010475850431248545, + "data": [ + 6.550003308802843e-06, + 5.449994932860136e-06, + 5.254196003079414e-06, + 5.279108881950378e-06, + 5.2417046390473844e-06, + 5.195802077651024e-06, + 5.179201252758503e-06, + 5.149992648512125e-06, + 5.15839783474803e-06, + 5.1292008720338345e-06, + 5.1083043217659e-06, + 5.091703496873379e-06, + 5.137501284480095e-06, + 5.091691855341196e-06, + 5.137501284480095e-06, + 5.112506914883852e-06, + 5.133298691362142e-06, + 5.091703496873379e-06, + 5.137489642947912e-06, + 5.1292008720338345e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-tsit5]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "tsit5" + }, + "param": "jvp-scalar-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.720803841948509e-06, + "max": 1.9575003534555435e-05, + "mean": 8.773535955697299e-06, + "stddev": 2.64584381772867e-06, + "rounds": 20, + "median": 8.039554813876748e-06, + "iqr": 5.312555003911236e-07, + "q1": 7.808348163962366e-06, + "q3": 8.33960366435349e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 7.720803841948509e-06, + "hd15iqr": 1.105000264942646e-05, + "ops": 113979.13054093394, + "total": 0.00017547071911394596, + "data": [ + 1.9575003534555435e-05, + 8.674990385770798e-06, + 8.02910653874278e-06, + 8.050003089010715e-06, + 8.483300916850567e-06, + 1.105000264942646e-05, + 8.104101289063692e-06, + 8.070806507021188e-06, + 7.850001566112041e-06, + 8.758401963859797e-06, + 7.804203778505326e-06, + 8.195906411856413e-06, + 8.158304262906313e-06, + 7.954100146889686e-06, + 7.812492549419403e-06, + 7.820792961865664e-06, + 7.762492168694735e-06, + 7.795903366059065e-06, + 7.720803841948509e-06, + 7.800001185387373e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-rodas5p]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "rodas5p" + }, + "param": "jvp-scalar-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.8533407021313906e-05, + "max": 3.443330060690641e-05, + "mean": 2.9248331557027996e-05, + "stddev": 1.258610682993297e-06, + "rounds": 20, + "median": 2.8887501684948802e-05, + "iqr": 4.166970029473298e-07, + "q1": 2.8783304151147605e-05, + "q3": 2.9200001154094935e-05, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 2.8533407021313906e-05, + "hd15iqr": 2.9891706071794032e-05, + "ops": 34189.984411596735, + "total": 0.0005849666311405599, + "data": [ + 3.443330060690641e-05, + 2.9891706071794032e-05, + 2.8970802668482064e-05, + 2.911250339820981e-05, + 2.8716691303998232e-05, + 2.899580867961049e-05, + 2.9200001154094935e-05, + 2.9258301947265863e-05, + 2.882919507101178e-05, + 2.8808298520743846e-05, + 2.8783304151147605e-05, + 2.8729205951094627e-05, + 2.941250568255782e-05, + 2.8862501494586468e-05, + 2.8533407021313906e-05, + 2.8783304151147605e-05, + 2.8862489853054284e-05, + 2.9200001154094935e-05, + 2.8670800384134053e-05, + 2.8912501875311136e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-em]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "em" + }, + "param": "jvp-scalar-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.758290015161038e-06, + "max": 1.3687508180737496e-05, + "mean": 5.383323878049851e-06, + "stddev": 1.977853922528477e-06, + "rounds": 20, + "median": 4.86665521748364e-06, + "iqr": 9.57923475652923e-08, + "q1": 4.820857429876924e-06, + "q3": 4.9166497774422165e-06, + "iqr_outliers": 3, + "stddev_outliers": 1, + "outliers": "1;3", + "ld15iqr": 4.758290015161038e-06, + "hd15iqr": 5.3166993893682955e-06, + "ops": 185758.8401986056, + "total": 0.00010766647756099701, + "data": [ + 1.3687508180737496e-05, + 6.13329466432333e-06, + 5.3166993893682955e-06, + 4.974997136741877e-06, + 4.924996756017208e-06, + 4.849990364164114e-06, + 4.895799793303013e-06, + 4.799989983439445e-06, + 4.837499000132084e-06, + 4.824995994567871e-06, + 4.758290015161038e-06, + 4.862505011260509e-06, + 4.908302798867226e-06, + 4.895799793303013e-06, + 4.816590808331966e-06, + 4.87080542370677e-06, + 4.820909816771746e-06, + 4.787498619407416e-06, + 4.820805042982102e-06, + 4.879198968410492e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-dae]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "dae" + }, + "param": "jvp-scalar-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.052499378100038e-05, + "max": 3.702499670907855e-05, + "mean": 3.153770347125828e-05, + "stddev": 1.9466200851497042e-06, + "rounds": 20, + "median": 3.075625281780958e-05, + "iqr": 3.811961505562013e-07, + "q1": 3.0679150950163606e-05, + "q3": 3.106034710071981e-05, + "iqr_outliers": 3, + "stddev_outliers": 2, + "outliers": "2;3", + "ld15iqr": 3.052499378100038e-05, + "hd15iqr": 3.344169817864895e-05, + "ops": 31708.07921735153, + "total": 0.0006307540694251657, + "data": [ + 3.344169817864895e-05, + 3.129160031676292e-05, + 3.152500139549375e-05, + 3.6812492180615666e-05, + 3.702499670907855e-05, + 3.0800001695752144e-05, + 3.076250432059169e-05, + 3.08290938846767e-05, + 3.081249305978417e-05, + 3.0745903495699166e-05, + 3.080409951508045e-05, + 3.069168888032436e-05, + 3.073749830946326e-05, + 3.052499378100038e-05, + 3.065420314669609e-05, + 3.0750001315027475e-05, + 3.0587497167289254e-05, + 3.067080397158861e-05, + 3.060000017285347e-05, + 3.068749792873859e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-rodas5p_dae]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "rodas5p_dae" + }, + "param": "jvp-scalar-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.464169567450881e-05, + "max": 4.072909941896796e-05, + "mean": 3.559104923624545e-05, + "stddev": 1.4889093763538433e-06, + "rounds": 20, + "median": 3.491249517537653e-05, + "iqr": 1.0750023648142896e-06, + "q1": 3.476044512353837e-05, + "q3": 3.583544748835266e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 3.464169567450881e-05, + "hd15iqr": 3.8262491580098866e-05, + "ops": 28096.951943232212, + "total": 0.0007118209847249091, + "data": [ + 4.072909941896796e-05, + 3.6391697358340024e-05, + 3.6083406303077933e-05, + 3.577918978407979e-05, + 3.8262491580098866e-05, + 3.5558303352445364e-05, + 3.536249278113246e-05, + 3.48874949850142e-05, + 3.5891705192625525e-05, + 3.475839039310813e-05, + 3.475000848993659e-05, + 3.464169567450881e-05, + 3.476249985396862e-05, + 3.479580627754331e-05, + 3.482910105958581e-05, + 3.522500628605485e-05, + 3.4812500234693286e-05, + 3.4716702066361905e-05, + 3.464589826762676e-05, + 3.493749536573887e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-scalar-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-scalar-sdae]", + "params": { + "transform": "jvp", + "state_kind": "scalar", + "method": "sdae" + }, + "param": "jvp-scalar-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.562910905107856e-05, + "max": 8.075829828158021e-05, + "mean": 7.685167132876813e-05, + "stddev": 1.1731775960758858e-06, + "rounds": 20, + "median": 7.674795342609287e-05, + "iqr": 1.3270473573356867e-06, + "q1": 7.597295334562659e-05, + "q3": 7.730000070296227e-05, + "iqr_outliers": 1, + "stddev_outliers": 4, + "outliers": "4;1", + "ld15iqr": 7.562910905107856e-05, + "hd15iqr": 8.075829828158021e-05, + "ops": 13012.078757819634, + "total": 0.0015370334265753626, + "data": [ + 8.075829828158021e-05, + 7.722500013187527e-05, + 7.688750047236681e-05, + 7.592090405523777e-05, + 7.572500035166741e-05, + 7.749579381197692e-05, + 7.576249772682786e-05, + 7.611250039190054e-05, + 7.655000081285834e-05, + 7.562910905107856e-05, + 7.705839816480875e-05, + 7.671670755371451e-05, + 7.566660642623901e-05, + 7.737500127404928e-05, + 7.602500263601542e-05, + 7.677919929847122e-05, + 7.776250131428242e-05, + 7.709170458838343e-05, + 7.8037497587502e-05, + 7.645420264452696e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-rk4]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "rk4" + }, + "param": "jvp-vector16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.574990063905716e-06, + "max": 7.208297029137612e-06, + "mean": 5.7364592794328925e-06, + "stddev": 3.551933507032943e-07, + "rounds": 20, + "median": 5.629146471619606e-06, + "iqr": 1.0625226423144391e-07, + "q1": 5.608348874375224e-06, + "q3": 5.714601138606668e-06, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 5.574990063905716e-06, + "hd15iqr": 7.208297029137612e-06, + "ops": 174323.55940977938, + "total": 0.00011472918558865785, + "data": [ + 7.208297029137612e-06, + 5.870801396667958e-06, + 5.787494592368602e-06, + 5.787494592368602e-06, + 5.7041994296014306e-06, + 5.725002847611904e-06, + 5.658296868205071e-06, + 5.6167016737163065e-06, + 5.574990063905716e-06, + 5.666702054440975e-06, + 5.620799493044615e-06, + 5.612499080598354e-06, + 5.600007716566324e-06, + 5.63750509172678e-06, + 5.587504711002112e-06, + 5.599996075034141e-06, + 5.612499080598354e-06, + 5.6041986681520935e-06, + 5.6167016737163065e-06, + 5.637493450194597e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-tsit5]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "tsit5" + }, + "param": "jvp-vector16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 8.100003469735384e-06, + "max": 2.1541700698435305e-05, + "mean": 1.1408956488594413e-05, + "stddev": 5.418443243477682e-06, + "rounds": 20, + "median": 8.40205466374755e-06, + "iqr": 4.939647624269128e-06, + "q1": 8.247903315350413e-06, + "q3": 1.318755093961954e-05, + "iqr_outliers": 4, + "stddev_outliers": 5, + "outliers": "5;4", + "ld15iqr": 8.100003469735384e-06, + "hd15iqr": 2.0850007422268392e-05, + "ops": 87650.43507701205, + "total": 0.00022817912977188826, + "data": [ + 2.1541700698435305e-05, + 2.1241605281829834e-05, + 2.0850007422268392e-05, + 2.1404202561825515e-05, + 1.7116707749664783e-05, + 9.258394129574299e-06, + 8.304102811962366e-06, + 8.3249993622303e-06, + 8.241704199463129e-06, + 8.400005754083395e-06, + 8.404103573411703e-06, + 8.6124986410141e-06, + 8.170795626938344e-06, + 8.254102431237697e-06, + 8.395803160965442e-06, + 8.762499783188105e-06, + 8.404196705669165e-06, + 8.158397395163775e-06, + 8.233299013227224e-06, + 8.100003469735384e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-rodas5p]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "rodas5p" + }, + "param": "jvp-vector16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.519589805975556e-05, + "max": 7.79750058427453e-05, + "mean": 6.703751103486865e-05, + "stddev": 2.7847819567209553e-06, + "rounds": 20, + "median": 6.640414940193296e-05, + "iqr": 1.2603995855897665e-06, + "q1": 6.582500063814222e-05, + "q3": 6.708540022373199e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 6.519589805975556e-05, + "hd15iqr": 6.982500199228525e-05, + "ops": 14917.021598249128, + "total": 0.001340750220697373, + "data": [ + 7.79750058427453e-05, + 6.982500199228525e-05, + 6.762499688193203e-05, + 6.598749896511436e-05, + 6.57708034850657e-05, + 6.520000752061606e-05, + 6.607919931411743e-05, + 6.661249790340662e-05, + 6.541250040754676e-05, + 6.642079679295421e-05, + 6.682500243186951e-05, + 6.613750010728837e-05, + 6.521670147776603e-05, + 6.683340761810541e-05, + 6.519589805975556e-05, + 6.707919528707862e-05, + 6.719590164721012e-05, + 6.709160516038537e-05, + 6.587919779121876e-05, + 6.638750201091171e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-em]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "em" + }, + "param": "jvp-vector16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.375419182702899e-05, + "max": 4.4550001621246335e-05, + "mean": 3.583583398722112e-05, + "stddev": 2.317725931930088e-06, + "rounds": 20, + "median": 3.522289334796369e-05, + "iqr": 1.3833574485033764e-06, + "q1": 3.454164252616465e-05, + "q3": 3.592499997466803e-05, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 3.375419182702899e-05, + "hd15iqr": 3.802499268203974e-05, + "ops": 27905.029372459838, + "total": 0.0007167166797444225, + "data": [ + 4.4550001621246335e-05, + 3.802499268203974e-05, + 3.578750183805823e-05, + 3.740829415619373e-05, + 3.4895900171250105e-05, + 3.545829094946385e-05, + 3.447498893365264e-05, + 3.577920142561197e-05, + 3.4987495746463536e-05, + 3.5733298864215614e-05, + 3.606249811127782e-05, + 3.43124964274466e-05, + 3.460829611867666e-05, + 3.375419182702899e-05, + 3.473750548437238e-05, + 3.4408411011099815e-05, + 3.4370808862149715e-05, + 3.495840355753899e-05, + 3.565000370144844e-05, + 3.675409825518727e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-dae]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "dae" + }, + "param": "jvp-vector16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0001425042049959302, + "max": 0.0001556708011776209, + "mean": 0.00014571623993106186, + "stddev": 2.8096457889283323e-06, + "rounds": 20, + "median": 0.00014520830009132624, + "iqr": 1.908291596919309e-06, + "q1": 0.00014421665109694005, + "q3": 0.00014612494269385936, + "iqr_outliers": 2, + "stddev_outliers": 3, + "outliers": "3;2", + "ld15iqr": 0.0001425042049959302, + "hd15iqr": 0.00015008749905973673, + "ops": 6862.653060997858, + "total": 0.002914324798621237, + "data": [ + 0.0001556708011776209, + 0.00015008749905973673, + 0.00014661250170320273, + 0.00014422079548239707, + 0.00014520830009132624, + 0.00014520830009132624, + 0.00014653329271823167, + 0.00014614579267799855, + 0.00014535000082105398, + 0.000144212506711483, + 0.0001445624977350235, + 0.0001443500048480928, + 0.000145800004247576, + 0.00014419580111280084, + 0.0001425042049959302, + 0.00014405830297619103, + 0.00014610409270972015, + 0.00014539590338245035, + 0.00014460419770330192, + 0.00014349999837577344 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-rodas5p_dae]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "rodas5p_dae" + }, + "param": "jvp-vector16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 8.912909543141722e-05, + "max": 0.00010794580448418856, + "mean": 9.584062092471868e-05, + "stddev": 5.349443961503519e-06, + "rounds": 20, + "median": 9.438124834559858e-05, + "iqr": 7.966608973220007e-06, + "q1": 9.210214484483003e-05, + "q3": 0.00010006875381805003, + "iqr_outliers": 0, + "stddev_outliers": 8, + "outliers": "8;0", + "ld15iqr": 8.912909543141722e-05, + "hd15iqr": 0.00010794580448418856, + "ops": 10433.989161917934, + "total": 0.0019168124184943736, + "data": [ + 0.00010794580448418856, + 9.538750164210797e-05, + 9.552909759804606e-05, + 9.865000611171126e-05, + 0.00010313340462744235, + 0.00010240830015391111, + 9.400419658049941e-05, + 0.00010292499791830778, + 9.808330796658992e-05, + 9.32833063416183e-05, + 8.969590999186039e-05, + 8.917079539969564e-05, + 9.13000083528459e-05, + 9.284579427912832e-05, + 9.145839139819145e-05, + 9.274589829146861e-05, + 9.287080029025674e-05, + 8.912909543141722e-05, + 9.475830011069774e-05, + 0.00010148750152438879 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-vector16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-vector16-sdae]", + "params": { + "transform": "jvp", + "state_kind": "vector16", + "method": "sdae" + }, + "param": "jvp-vector16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.000340962503105402, + "max": 0.0003598375013098121, + "mean": 0.0003448889550054446, + "stddev": 4.367727897673615e-06, + "rounds": 20, + "median": 0.0003440666536334902, + "iqr": 4.27505001425742e-06, + "q1": 0.0003418770502321422, + "q3": 0.00034615210024639963, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.000340962503105402, + "hd15iqr": 0.0003598375013098121, + "ops": 2899.483980239998, + "total": 0.006897779100108891, + "data": [ + 0.0003598375013098121, + 0.00035101670073345304, + 0.0003472291980870068, + 0.0003470249939709902, + 0.00034519999753683804, + 0.0003440125030465424, + 0.0003446042072027922, + 0.0003454791964031756, + 0.00034607090055942534, + 0.000340962503105402, + 0.000344120804220438, + 0.0003429792006500065, + 0.00034159580245614053, + 0.0003411457990296185, + 0.00034123329678550365, + 0.0003413541009649634, + 0.0003428832977078855, + 0.0003421582980081439, + 0.0003462332999333739, + 0.00034263749839738014 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-rk4]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "rk4" + }, + "param": "jvp-tree16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.5499992817640305e-06, + "max": 9.129196405410766e-06, + "mean": 7.72021128796041e-06, + "stddev": 3.418215843161767e-07, + "rounds": 20, + "median": 7.610453758388758e-06, + "iqr": 1.396459992975e-07, + "q1": 7.581204408779741e-06, + "q3": 7.72085040807724e-06, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 7.5499992817640305e-06, + "hd15iqr": 9.129196405410766e-06, + "ops": 129530.13365832224, + "total": 0.0001544042257592082, + "data": [ + 9.129196405410766e-06, + 7.841608021408319e-06, + 7.774995174258947e-06, + 7.72089697420597e-06, + 7.720803841948509e-06, + 7.758301217108965e-06, + 7.679197005927563e-06, + 7.687497418373824e-06, + 7.612502668052912e-06, + 7.675006054341793e-06, + 7.570802699774503e-06, + 7.570802699774503e-06, + 7.604202255606651e-06, + 7.591699250042438e-06, + 7.558299694210291e-06, + 7.608404848724603e-06, + 7.5499992817640305e-06, + 7.5625022873282434e-06, + 7.595901843160391e-06, + 7.591606117784977e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-tsit5]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "tsit5" + }, + "param": "jvp-tree16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.6041700039058924e-05, + "max": 2.8562499210238457e-05, + "mean": 2.7090825024060906e-05, + "stddev": 4.7328302541139816e-07, + "rounds": 20, + "median": 2.7112499810755254e-05, + "iqr": 2.166023477911922e-07, + "q1": 2.6964599965140226e-05, + "q3": 2.718120231293142e-05, + "iqr_outliers": 3, + "stddev_outliers": 3, + "outliers": "3;3", + "ld15iqr": 2.6783300563693045e-05, + "hd15iqr": 2.8562499210238457e-05, + "ops": 36912.86622359574, + "total": 0.0005418165004812181, + "data": [ + 2.8562499210238457e-05, + 2.6345800142735244e-05, + 2.7308298740535975e-05, + 2.6783300563693045e-05, + 2.711659763008356e-05, + 2.714170841500163e-05, + 2.7049996424466373e-05, + 2.740409690886736e-05, + 2.714170841500163e-05, + 2.686249790713191e-05, + 2.7183303609490393e-05, + 2.6041700039058924e-05, + 2.7012499049305917e-05, + 2.6916700880974533e-05, + 2.7179101016372444e-05, + 2.7075002435594797e-05, + 2.7112499810755254e-05, + 2.7374993078410625e-05, + 2.709169639274478e-05, + 2.7112499810755254e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-rodas5p]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "rodas5p" + }, + "param": "jvp-tree16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.521670777350664e-05, + "max": 9.042080491781235e-05, + "mean": 7.696791144553571e-05, + "stddev": 3.208535002300187e-06, + "rounds": 20, + "median": 7.633540662936867e-05, + "iqr": 7.458031177520779e-07, + "q1": 7.593334885314107e-05, + "q3": 7.667915197089315e-05, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 7.521670777350664e-05, + "hd15iqr": 9.042080491781235e-05, + "ops": 12992.427379397233, + "total": 0.0015393582289107144, + "data": [ + 9.042080491781235e-05, + 7.661670679226518e-05, + 7.629169849678873e-05, + 7.716669933870435e-05, + 7.571660680696368e-05, + 7.551249582320452e-05, + 7.63458083383739e-05, + 7.604169659316539e-05, + 7.676250534132123e-05, + 7.632500492036343e-05, + 7.635419024154544e-05, + 7.607910083606839e-05, + 7.550830487161875e-05, + 7.627079030498862e-05, + 7.71000050008297e-05, + 7.674159714952112e-05, + 7.582500111311675e-05, + 7.659579860046506e-05, + 7.521670777350664e-05, + 7.646670565009117e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-em]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "em" + }, + "param": "jvp-tree16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.8216693792492154e-05, + "max": 5.077080568298698e-05, + "mean": 4.1028541745617985e-05, + "stddev": 2.7431836190823183e-06, + "rounds": 20, + "median": 4.063125816173851e-05, + "iqr": 2.318702172487974e-06, + "q1": 3.952709957957268e-05, + "q3": 4.184580175206065e-05, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 3.8216693792492154e-05, + "hd15iqr": 5.077080568298698e-05, + "ops": 24373.276686266923, + "total": 0.0008205708349123597, + "data": [ + 5.077080568298698e-05, + 4.349160008132458e-05, + 4.308749921619892e-05, + 4.0483300108462575e-05, + 4.2316608596593144e-05, + 4.14125039242208e-05, + 4.2279099579900505e-05, + 4.101659869775176e-05, + 3.8645905442535876e-05, + 3.8604205474257466e-05, + 3.955839201807976e-05, + 4.094589967280626e-05, + 3.953749546781182e-05, + 3.8216693792492154e-05, + 4.0979194454848764e-05, + 4.050420830026269e-05, + 3.9516703691333535e-05, + 4.075830802321434e-05, + 3.848751075565815e-05, + 3.9958301931619646e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-dae]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "dae" + }, + "param": "jvp-tree16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0001813541050069034, + "max": 0.00019912089919671416, + "mean": 0.0001857256150105968, + "stddev": 3.875295114168255e-06, + "rounds": 20, + "median": 0.00018544369959272444, + "iqr": 4.412548150867224e-06, + "q1": 0.00018282915116287767, + "q3": 0.0001872416993137449, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.0001813541050069034, + "hd15iqr": 0.00019912089919671416, + "ops": 5384.286922097115, + "total": 0.003714512300211936, + "data": [ + 0.00019912089919671416, + 0.00018726669950410723, + 0.00018776659853756428, + 0.00018616659799590706, + 0.00018407090101391077, + 0.00018641669303178787, + 0.0001832291018217802, + 0.0001824375009164214, + 0.0001825875020585954, + 0.00018284580437466502, + 0.00018281249795109033, + 0.00018652500584721566, + 0.00018261659424751998, + 0.00018388329772278666, + 0.0001813541050069034, + 0.00018721669912338256, + 0.00018641670467332006, + 0.00018867909675464035, + 0.00018472080118954183, + 0.00018837919924408197 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-rodas5p_dae]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "rodas5p_dae" + }, + "param": "jvp-tree16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00012820420088246464, + "max": 0.00016715419478714467, + "mean": 0.00013908832392189652, + "stddev": 9.705505257379056e-06, + "rounds": 20, + "median": 0.0001361937029287219, + "iqr": 4.0249607991427075e-06, + "q1": 0.00013426874647848308, + "q3": 0.0001382937072776258, + "iqr_outliers": 4, + "stddev_outliers": 4, + "outliers": "4;4", + "ld15iqr": 0.00013177079381421208, + "hd15iqr": 0.00015254999743774533, + "ops": 7189.676112292062, + "total": 0.0027817664784379305, + "data": [ + 0.00015254999743774533, + 0.00014106250600889325, + 0.00013680409174412488, + 0.0001372041995637119, + 0.00013580831000581384, + 0.00012820420088246464, + 0.00016715419478714467, + 0.00016037080204114317, + 0.0001390041084960103, + 0.00013478749897331, + 0.00013487919932231307, + 0.0001370582962408662, + 0.00013657909585162997, + 0.0001338041969574988, + 0.00013557089259848, + 0.00013340839650481938, + 0.00013473329599946737, + 0.00013342909514904022, + 0.00013177079381421208, + 0.0001375833060592413 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[jvp-tree16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[jvp-tree16-sdae]", + "params": { + "transform": "jvp", + "state_kind": "tree16", + "method": "sdae" + }, + "param": "jvp-tree16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.000383375003002584, + "max": 0.00040932500269263983, + "mean": 0.00038680416997522116, + "stddev": 5.907469151468497e-06, + "rounds": 20, + "median": 0.000384968746220693, + "iqr": 1.7083017155528285e-06, + "q1": 0.000384289602516219, + "q3": 0.0003859979042317718, + "iqr_outliers": 3, + "stddev_outliers": 2, + "outliers": "2;3", + "ld15iqr": 0.000383375003002584, + "hd15iqr": 0.00038918749196454884, + "ops": 2585.2875372673993, + "total": 0.007736083399504423, + "data": [ + 0.00040932500269263983, + 0.0003865041071549058, + 0.0003864458063617349, + 0.00039523750310763715, + 0.00038918749196454884, + 0.00038555000210180876, + 0.0003854625043459237, + 0.00038495840271934867, + 0.00038496669149026277, + 0.00038497080095112324, + 0.00038490829756483437, + 0.0003836084040813148, + 0.0003841666970402002, + 0.000383375003002584, + 0.0003853374975733459, + 0.0003854374983347952, + 0.00038472089217975733, + 0.0003840124933049083, + 0.0003834957955405116, + 0.0003844125079922378 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-rk4]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "rk4" + }, + "param": "vjp-scalar-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.179201252758503e-06, + "max": 6.53750030323863e-06, + "mean": 5.342100048437715e-06, + "stddev": 2.901647563766612e-07, + "rounds": 20, + "median": 5.274999421089887e-06, + "iqr": 8.119968697428703e-08, + "q1": 5.227100336924195e-06, + "q3": 5.308300023898482e-06, + "iqr_outliers": 2, + "stddev_outliers": 1, + "outliers": "1;2", + "ld15iqr": 5.179201252758503e-06, + "hd15iqr": 5.483301356434822e-06, + "ops": 187192.30095521102, + "total": 0.0001068420009687543, + "data": [ + 6.53750030323863e-06, + 5.483301356434822e-06, + 5.4083997383713726e-06, + 5.350005812942981e-06, + 5.312496796250343e-06, + 5.287502426654101e-06, + 5.295895971357823e-06, + 5.3041032515466215e-06, + 5.287502426654101e-06, + 5.283299833536148e-06, + 5.266699008643627e-06, + 5.2166986279189585e-06, + 5.237502045929432e-06, + 5.250005051493644e-06, + 5.245895590633154e-06, + 5.2292016334831715e-06, + 5.220889579504728e-06, + 5.220901221036911e-06, + 5.179201252758503e-06, + 5.224999040365219e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-tsit5]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "tsit5" + }, + "param": "vjp-scalar-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 1.9541592337191105e-05, + "max": 3.133330028504133e-05, + "mean": 2.1420824341475965e-05, + "stddev": 2.6787665527023833e-06, + "rounds": 20, + "median": 2.0574999507516622e-05, + "iqr": 1.0458461474627256e-06, + "q1": 2.0241650054231287e-05, + "q3": 2.1287496201694013e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 1.9541592337191105e-05, + "hd15iqr": 2.567080082371831e-05, + "ops": 46683.54420253356, + "total": 0.0004284164868295193, + "data": [ + 2.567080082371831e-05, + 2.2095802705734968e-05, + 2.0370900165289642e-05, + 2.0587502513080834e-05, + 3.133330028504133e-05, + 2.2124999668449162e-05, + 2.0633300300687553e-05, + 2.1529197692871093e-05, + 1.9679206889122725e-05, + 1.9891699776053428e-05, + 2.104579471051693e-05, + 2.0454195328056814e-05, + 2.0479201339185238e-05, + 2.056249650195241e-05, + 2.097910037264228e-05, + 1.9541592337191105e-05, + 2.0345801021903754e-05, + 2.0116590894758703e-05, + 2.0837504416704177e-05, + 2.0137499086558817e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-rodas5p]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "rodas5p" + }, + "param": "vjp-scalar-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.9358309004455803e-05, + "max": 4.7874997835606334e-05, + "mean": 4.1202289285138246e-05, + "stddev": 2.1942517931327002e-06, + "rounds": 20, + "median": 4.049584968015552e-05, + "iqr": 1.7374404706060886e-06, + "q1": 3.9841700345277784e-05, + "q3": 4.157914081588387e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 3.9358309004455803e-05, + "hd15iqr": 4.587919684126973e-05, + "ops": 24270.496065875202, + "total": 0.000824045785702765, + "data": [ + 4.587919684126973e-05, + 4.7874997835606334e-05, + 4.334159893915057e-05, + 4.177079536020756e-05, + 4.040419589728117e-05, + 4.07832907512784e-05, + 4.1408289689570665e-05, + 4.1749991942197086e-05, + 4.058750346302986e-05, + 4.004170186817646e-05, + 3.946250071749091e-05, + 3.9358309004455803e-05, + 4.067500121891498e-05, + 4.117500502616167e-05, + 4.010000266134739e-05, + 4.029999254271388e-05, + 3.955420106649399e-05, + 3.9537507109344e-05, + 4.04000049456954e-05, + 3.964169882237911e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-em]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "em" + }, + "param": "vjp-scalar-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.2249954529106617e-06, + "max": 4.8790941946208475e-06, + "mean": 3.3712590811774135e-06, + "stddev": 3.6102825648905985e-07, + "rounds": 20, + "median": 3.2729469239711763e-06, + "iqr": 6.044283509254506e-08, + "q1": 3.2521027605980633e-06, + "q3": 3.3125455956906084e-06, + "iqr_outliers": 3, + "stddev_outliers": 1, + "outliers": "1;3", + "ld15iqr": 3.2249954529106617e-06, + "hd15iqr": 3.416591789573431e-06, + "ops": 296625.08158546797, + "total": 6.742518162354827e-05, + "data": [ + 4.8790941946208475e-06, + 3.5000033676624297e-06, + 3.416591789573431e-06, + 3.3499905839562417e-06, + 3.308395389467478e-06, + 3.2917014323174953e-06, + 3.3166958019137383e-06, + 3.3042044378817083e-06, + 3.283401019871235e-06, + 3.287498839199543e-06, + 3.25420405715704e-06, + 3.250001464039087e-06, + 3.241701051592827e-06, + 3.25420405715704e-06, + 3.2624928280711172e-06, + 3.233295865356922e-06, + 3.258406650274992e-06, + 3.2583018764853476e-06, + 3.2249954529106617e-06, + 3.250001464039087e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-dae]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "dae" + }, + "param": "vjp-scalar-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.8649997916072606e-05, + "max": 5.19416993483901e-05, + "mean": 5.0416660960763694e-05, + "stddev": 1.1843749154811958e-06, + "rounds": 20, + "median": 5.0787505460903046e-05, + "iqr": 2.049998147413132e-06, + "q1": 4.936454934068024e-05, + "q3": 5.1414547488093373e-05, + "iqr_outliers": 0, + "stddev_outliers": 8, + "outliers": "8;0", + "ld15iqr": 4.8649997916072606e-05, + "hd15iqr": 5.19416993483901e-05, + "ops": 19834.712988594005, + "total": 0.001008333219215274, + "data": [ + 5.19416993483901e-05, + 4.9170805141329765e-05, + 4.883339861407876e-05, + 4.8854202032089236e-05, + 4.8649997916072606e-05, + 4.876659950241447e-05, + 5.050420295447111e-05, + 4.972920287400484e-05, + 5.107080796733499e-05, + 4.9570901319384574e-05, + 5.155419930815697e-05, + 4.955829354003072e-05, + 5.137909902259707e-05, + 5.1225000061094764e-05, + 4.985829582437873e-05, + 5.168750649318099e-05, + 5.1304104272276166e-05, + 5.142079899087548e-05, + 5.1845808047801253e-05, + 5.140829598531127e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-rodas5p_dae]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "rodas5p_dae" + }, + "param": "vjp-scalar-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.0920800529420376e-05, + "max": 5.084590520709753e-05, + "mean": 4.2733540176413954e-05, + "stddev": 2.810973806208504e-06, + "rounds": 20, + "median": 4.145210259594023e-05, + "iqr": 1.7791986465454047e-06, + "q1": 4.120204830542207e-05, + "q3": 4.2981246951967475e-05, + "iqr_outliers": 3, + "stddev_outliers": 3, + "outliers": "3;3", + "ld15iqr": 4.0920800529420376e-05, + "hd15iqr": 4.675000673159957e-05, + "ops": 23400.822769931263, + "total": 0.000854670803528279, + "data": [ + 5.084590520709753e-05, + 4.675000673159957e-05, + 4.870829870924353e-05, + 4.389589885249734e-05, + 4.155000206083059e-05, + 4.3937505688518284e-05, + 4.1612505447119476e-05, + 4.1312503162771465e-05, + 4.2066595051437615e-05, + 4.099170910194516e-05, + 4.102080129086971e-05, + 4.199579125270247e-05, + 4.1312503162771465e-05, + 4.11165994592011e-05, + 4.0920800529420376e-05, + 4.0974991861730814e-05, + 4.166249418631196e-05, + 4.128749715164304e-05, + 4.1354203131049874e-05, + 4.135419148951769e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-scalar-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-scalar-sdae]", + "params": { + "transform": "vjp", + "state_kind": "scalar", + "method": "sdae" + }, + "param": "vjp-scalar-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 7.880419725552202e-05, + "max": 9.012500522658229e-05, + "mean": 8.160730998497456e-05, + "stddev": 2.6743944045766065e-06, + "rounds": 20, + "median": 8.042705012485386e-05, + "iqr": 2.6958470698446062e-06, + "q1": 7.990835001692176e-05, + "q3": 8.260419708676636e-05, + "iqr_outliers": 1, + "stddev_outliers": 3, + "outliers": "3;1", + "ld15iqr": 7.880419725552202e-05, + "hd15iqr": 9.012500522658229e-05, + "ops": 12253.804226412056, + "total": 0.0016321461996994912, + "data": [ + 9.012500522658229e-05, + 8.612499805167317e-05, + 8.251669351011515e-05, + 8.033330086618662e-05, + 8.005419513210655e-05, + 7.992920000106096e-05, + 8.169590728357434e-05, + 8.171669906005263e-05, + 8.209579391404986e-05, + 8.362920489162207e-05, + 8.269170066341758e-05, + 8.290839614346623e-05, + 8.052079938352108e-05, + 7.962079253047705e-05, + 7.974590407684445e-05, + 7.988750003278256e-05, + 8.005420677363873e-05, + 7.975420448929072e-05, + 7.993750041350723e-05, + 7.880419725552202e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-rk4]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "rk4" + }, + "param": "vjp-vector16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 5.062506534159183e-06, + "max": 6.6792010329663755e-06, + "mean": 5.224169581197202e-06, + "stddev": 3.5222156753360527e-07, + "rounds": 20, + "median": 5.114602390676737e-06, + "iqr": 1.2495438568294031e-07, + "q1": 5.099992267787456e-06, + "q3": 5.224946653470397e-06, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 5.062506534159183e-06, + "hd15iqr": 6.6792010329663755e-06, + "ops": 191417.98221849336, + "total": 0.00010448339162394404, + "data": [ + 6.6792010329663755e-06, + 5.341600626707077e-06, + 5.274999421089888e-06, + 5.312496796250343e-06, + 5.229096859693527e-06, + 5.220796447247267e-06, + 5.112506914883852e-06, + 5.100003909319639e-06, + 5.099992267787456e-06, + 5.133403465151787e-06, + 5.1166978664696215e-06, + 5.104206502437592e-06, + 5.099992267787456e-06, + 5.100003909319639e-06, + 5.079200491309166e-06, + 5.095801316201687e-06, + 5.1166978664696215e-06, + 5.137489642947912e-06, + 5.066697485744953e-06, + 5.062506534159183e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-tsit5]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "tsit5" + }, + "param": "vjp-vector16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.0970799960196017e-05, + "max": 2.8779194690287113e-05, + "mean": 2.3136664531193673e-05, + "stddev": 2.5647282372852168e-06, + "rounds": 20, + "median": 2.2075005108490584e-05, + "iqr": 3.1978939659893526e-06, + "q1": 2.1431251661852e-05, + "q3": 2.4629145627841353e-05, + "iqr_outliers": 0, + "stddev_outliers": 3, + "outliers": "3;0", + "ld15iqr": 2.0970799960196017e-05, + "hd15iqr": 2.8779194690287113e-05, + "ops": 43221.44182242711, + "total": 0.00046273329062387344, + "data": [ + 2.562080044299364e-05, + 2.7879199478775263e-05, + 2.7966604102402924e-05, + 2.567080082371831e-05, + 2.8779194690287113e-05, + 2.2783398162573575e-05, + 2.3637490812689066e-05, + 2.2308400366455318e-05, + 2.147909253835678e-05, + 2.1441699936985968e-05, + 2.1520897280424834e-05, + 2.212909748777747e-05, + 2.1312502212822437e-05, + 2.156669506803155e-05, + 2.110829809680581e-05, + 2.1420803386718033e-05, + 2.0987505558878182e-05, + 2.0970799960196017e-05, + 2.2024998906999825e-05, + 2.2125011309981345e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-rodas5p]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "rodas5p" + }, + "param": "vjp-vector16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00012112500844523311, + "max": 0.00013874160358682275, + "mean": 0.0001264610345242545, + "stddev": 4.326250460148622e-06, + "rounds": 20, + "median": 0.00012555415742099285, + "iqr": 3.1437957659364018e-06, + "q1": 0.0001240041514392942, + "q3": 0.0001271479472052306, + "iqr_outliers": 2, + "stddev_outliers": 4, + "outliers": "4;2", + "ld15iqr": 0.00012112500844523311, + "hd15iqr": 0.0001365165924653411, + "ops": 7907.574090011147, + "total": 0.00252922069048509, + "data": [ + 0.00013874160358682275, + 0.0001365165924653411, + 0.00012533330591395496, + 0.00012527910294011236, + 0.00012577500892803074, + 0.00012711669551208616, + 0.00012390000047162174, + 0.00012948329094797373, + 0.00012528749648481606, + 0.0001259583979845047, + 0.00012628340627998113, + 0.0001213582931086421, + 0.00012648329138755798, + 0.00012319589732214808, + 0.00012410830240696668, + 0.00012381670530885457, + 0.00012112500844523311, + 0.00012761249672621489, + 0.00012717919889837503, + 0.0001246665953658521 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-em]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "em" + }, + "param": "vjp-vector16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 3.445905167609453e-06, + "max": 4.383292980492115e-06, + "mean": 3.5879091592505573e-06, + "stddev": 2.2495739256779902e-07, + "rounds": 20, + "median": 3.4958007745444775e-06, + "iqr": 1.2079835869371908e-07, + "q1": 3.4791999496519564e-06, + "q3": 3.5999983083456755e-06, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 3.445905167609453e-06, + "hd15iqr": 3.979192115366459e-06, + "ops": 278713.85690513975, + "total": 7.175818318501115e-05, + "data": [ + 4.383292980492115e-06, + 3.7082936614751816e-06, + 3.979192115366459e-06, + 3.687501884996891e-06, + 3.587501123547554e-06, + 3.6124954931437968e-06, + 3.5124947316944597e-06, + 3.504101186990738e-06, + 3.479106817394495e-06, + 3.516604192554951e-06, + 3.4958007745444775e-06, + 3.487500362098217e-06, + 3.470794763416052e-06, + 3.4832977689802646e-06, + 3.483402542769909e-06, + 3.4791999496519564e-06, + 3.4791999496519564e-06, + 3.4958007745444775e-06, + 3.466696944087744e-06, + 3.445905167609453e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-dae]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "dae" + }, + "param": "vjp-vector16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0005326917045749724, + "max": 0.000581491703633219, + "mean": 0.0005488310346845538, + "stddev": 1.153901862828568e-05, + "rounds": 20, + "median": 0.0005473625031299889, + "iqr": 9.495805716142015e-06, + "q1": 0.0005425978975836188, + "q3": 0.0005520937032997608, + "iqr_outliers": 1, + "stddev_outliers": 7, + "outliers": "7;1", + "ld15iqr": 0.0005326917045749724, + "hd15iqr": 0.000581491703633219, + "ops": 1822.054397078256, + "total": 0.010976620693691075, + "data": [ + 0.0005634207976981997, + 0.0005474917008541525, + 0.0005461290944367647, + 0.0005572709022089839, + 0.0005527458037249744, + 0.0005472333054058254, + 0.0005490999901667237, + 0.0005358417052775622, + 0.0005508333095349371, + 0.0005497792037203908, + 0.000581491703633219, + 0.0005369915976189077, + 0.0005326917045749724, + 0.0005468541989102959, + 0.0005434582941234112, + 0.0005443749949336052, + 0.0005335707915946841, + 0.0005641624913550914, + 0.0005514416028745472, + 0.0005417375010438264 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-rodas5p_dae]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "rodas5p_dae" + }, + "param": "vjp-vector16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0002152208937332034, + "max": 0.00024434580700471997, + "mean": 0.00022229519963730128, + "stddev": 6.6119454192669025e-06, + "rounds": 20, + "median": 0.00022039994946680962, + "iqr": 7.92919890955091e-06, + "q1": 0.0002176041482016444, + "q3": 0.00022553334711119532, + "iqr_outliers": 1, + "stddev_outliers": 3, + "outliers": "3;1", + "ld15iqr": 0.0002152208937332034, + "hd15iqr": 0.00024434580700471997, + "ops": 4498.522692490024, + "total": 0.004445903992746025, + "data": [ + 0.00024434580700471997, + 0.0002257291111163795, + 0.0002255875035189092, + 0.00022000829922035335, + 0.00021662500221282245, + 0.00022079159971326589, + 0.00022399169392883778, + 0.00021708749700337647, + 0.00021990420063957571, + 0.00021537499269470574, + 0.0002152208937332034, + 0.0002181250019930303, + 0.00021760829258710146, + 0.00021905830362811685, + 0.00022547919070348144, + 0.00022696249652653933, + 0.00022855000570416452, + 0.0002176000038161874, + 0.0002235832973383367, + 0.00022427079966291785 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-vector16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-vector16-sdae]", + "params": { + "transform": "vjp", + "state_kind": "vector16", + "method": "sdae" + }, + "param": "vjp-vector16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0004608249990269542, + "max": 0.000489729200489819, + "mean": 0.00046746437496040014, + "stddev": 6.0318732776362295e-06, + "rounds": 20, + "median": 0.00046677290229126813, + "iqr": 3.033300163224296e-06, + "q1": 0.00046461874735541646, + "q3": 0.00046765204751864076, + "iqr_outliers": 2, + "stddev_outliers": 3, + "outliers": "3;2", + "ld15iqr": 0.0004608249990269542, + "hd15iqr": 0.0004741584067232907, + "ops": 2139.2004472741096, + "total": 0.009349287499208003, + "data": [ + 0.000489729200489819, + 0.0004741584067232907, + 0.0004674250027164817, + 0.00046676249476149676, + 0.0004673457937315106, + 0.0004697665921412408, + 0.00046678330982103945, + 0.00046770829940214755, + 0.0004657916957512498, + 0.00046645000111311674, + 0.0004608249990269542, + 0.0004624375025741756, + 0.0004673458985053003, + 0.00046469999942928554, + 0.0004615875077433884, + 0.00046326250303536655, + 0.00046872089151293037, + 0.00046759579563513396, + 0.0004663541098125279, + 0.00046453749528154733 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-rk4]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-rk4]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "rk4" + }, + "param": "vjp-tree16-rk4", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 6.6000036895275114e-06, + "max": 8.116697426885366e-06, + "mean": 6.773130153305829e-06, + "stddev": 3.3038024109178576e-07, + "rounds": 20, + "median": 6.668799323961139e-06, + "iqr": 1.5210243873298202e-07, + "q1": 6.637501064687967e-06, + "q3": 6.789603503420949e-06, + "iqr_outliers": 1, + "stddev_outliers": 1, + "outliers": "1;1", + "ld15iqr": 6.6000036895275114e-06, + "hd15iqr": 8.116697426885366e-06, + "ops": 147642.22410696186, + "total": 0.00013546260306611656, + "data": [ + 8.116697426885366e-06, + 6.945803761482239e-06, + 6.870902143418789e-06, + 6.837502587586641e-06, + 6.808398757129907e-06, + 6.770808249711991e-06, + 6.708304863423109e-06, + 6.6875014454126355e-06, + 6.6792010329663755e-06, + 6.70839799568057e-06, + 6.6415988840162756e-06, + 6.645801477134228e-06, + 6.658397614955902e-06, + 6.6415988840162756e-06, + 6.637501064687967e-06, + 6.633391603827477e-06, + 6.6000036895275114e-06, + 6.624998059123755e-06, + 6.637501064687967e-06, + 6.60829246044159e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-tsit5]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-tsit5]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "tsit5" + }, + "param": "vjp-tree16-tsit5", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 2.5462498888373376e-05, + "max": 3.11249983496964e-05, + "mean": 2.8554570744745435e-05, + "stddev": 9.830620041350568e-07, + "rounds": 20, + "median": 2.861454850062728e-05, + "iqr": 5.083449650555808e-07, + "q1": 2.829790464602411e-05, + "q3": 2.880624961107969e-05, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 2.803340321406722e-05, + "hd15iqr": 3.11249983496964e-05, + "ops": 35020.66302936872, + "total": 0.0005710914148949087, + "data": [ + 3.11249983496964e-05, + 2.877078950405121e-05, + 2.8350006323307754e-05, + 2.815830521285534e-05, + 2.8050004038959743e-05, + 2.8899998869746924e-05, + 2.8787506744265555e-05, + 2.8245802968740464e-05, + 2.9508303850889205e-05, + 2.803340321406722e-05, + 2.5462498888373376e-05, + 2.845000708475709e-05, + 2.8824992477893828e-05, + 2.84791924059391e-05, + 2.864579437300563e-05, + 2.8695794753730297e-05, + 2.858330262824893e-05, + 2.8691603802144527e-05, + 2.8462510090321303e-05, + 2.8866599313914777e-05 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-rodas5p]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-rodas5p]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "rodas5p" + }, + "param": "vjp-tree16-rodas5p", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00012845000019297005, + "max": 0.0001598792034201324, + "mean": 0.00013615210074931382, + "stddev": 7.948775473971476e-06, + "rounds": 20, + "median": 0.0001329458027612418, + "iqr": 6.872939411550744e-06, + "q1": 0.0001318791531957686, + "q3": 0.00013875209260731934, + "iqr_outliers": 2, + "stddev_outliers": 2, + "outliers": "2;2", + "ld15iqr": 0.00012845000019297005, + "hd15iqr": 0.00015141250332817435, + "ops": 7344.7269230257525, + "total": 0.0027230420149862767, + "data": [ + 0.00015141250332817435, + 0.00013467089738696813, + 0.00013242500135675074, + 0.00013151250313967467, + 0.0001339334063231945, + 0.0001332457992248237, + 0.0001439417013898492, + 0.00013262499123811722, + 0.00013353340327739715, + 0.00013264580629765988, + 0.00013230410404503347, + 0.00013017089804634452, + 0.00013601669343188405, + 0.00012952920515090226, + 0.00013086670078337191, + 0.00013224580325186253, + 0.00012845000019297005, + 0.0001598792034201324, + 0.00014148749178275467, + 0.00014214590191841125 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-em]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-em]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "em" + }, + "param": "vjp-tree16-em", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 4.808302037417889e-06, + "max": 6.258301436901093e-06, + "mean": 5.139380227774382e-06, + "stddev": 3.866717938156111e-07, + "rounds": 20, + "median": 5.047948798164726e-06, + "iqr": 5.353940650820732e-07, + "q1": 4.831253318116069e-06, + "q3": 5.366647383198142e-06, + "iqr_outliers": 1, + "stddev_outliers": 3, + "outliers": "3;1", + "ld15iqr": 4.808302037417889e-06, + "hd15iqr": 6.258301436901093e-06, + "ops": 194575.9908161245, + "total": 0.00010278760455548764, + "data": [ + 6.258301436901093e-06, + 5.512498319149017e-06, + 5.633302498608827e-06, + 4.966696724295616e-06, + 5.541695281863213e-06, + 5.224999040365219e-06, + 5.191704258322716e-06, + 5.195895209908486e-06, + 5.154195241630077e-06, + 4.862505011260509e-06, + 5.508295726031065e-06, + 5.1292008720338345e-06, + 4.808302037417889e-06, + 4.8291985876858234e-06, + 4.812504630535841e-06, + 4.8166955821216105e-06, + 4.808302037417889e-06, + 4.845904186367989e-06, + 4.854099825024605e-06, + 4.833308048546315e-06 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-dae]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "dae" + }, + "param": "vjp-tree16-dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006550583057105541, + "max": 0.0006867916905321181, + "mean": 0.0006682962609920651, + "stddev": 8.758076969680063e-06, + "rounds": 20, + "median": 0.0006671229552011938, + "iqr": 1.428960240446042e-05, + "q1": 0.0006609812495298683, + "q3": 0.0006752708519343287, + "iqr_outliers": 0, + "stddev_outliers": 8, + "outliers": "8;0", + "ld15iqr": 0.0006550583057105541, + "hd15iqr": 0.0006867916905321181, + "ops": 1496.3423534878543, + "total": 0.013365925219841302, + "data": [ + 0.0006867916905321181, + 0.0006676167016848922, + 0.0006745500024408102, + 0.0006674500065855682, + 0.0006550583057105541, + 0.0006667959038168192, + 0.00066504169953987, + 0.0006558459019288421, + 0.0006759917014278471, + 0.0006725542014464736, + 0.0006787999998778104, + 0.0006690541980788111, + 0.0006591374985873699, + 0.0006665749941021204, + 0.0006578958011232317, + 0.0006616625003516674, + 0.0006775417015887797, + 0.0006806416087783874, + 0.0006602999987080693, + 0.0006666208035312593 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-rodas5p_dae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-rodas5p_dae]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "rodas5p_dae" + }, + "param": "vjp-tree16-rodas5p_dae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.00028977920301258563, + "max": 0.00032952079782262446, + "mean": 0.00030171313090249897, + "stddev": 9.153403577523761e-06, + "rounds": 20, + "median": 0.0003009958541952074, + "iqr": 1.0097899939864906e-05, + "q1": 0.0002953208517283201, + "q3": 0.000305418751668185, + "iqr_outliers": 1, + "stddev_outliers": 3, + "outliers": "3;1", + "ld15iqr": 0.00028977920301258563, + "hd15iqr": 0.00032952079782262446, + "ops": 3314.406625289232, + "total": 0.0060342626180499796, + "data": [ + 0.0003143667010590434, + 0.0003070291946642101, + 0.0003039499977603555, + 0.00029667919734492897, + 0.0002960375044494867, + 0.00030191250843927266, + 0.0002927665947936475, + 0.00029893750324845315, + 0.00029267079662531614, + 0.0003101042006164789, + 0.0003028583014383912, + 0.00030688750557601453, + 0.0003000791999511421, + 0.0002946041990071535, + 0.00032952079782262446, + 0.000303245906252414, + 0.00030268330592662094, + 0.0002975875046104193, + 0.00028977920301258563, + 0.00029256249545142057 + ], + "iterations": 10 + } + }, + { + "group": null, + "name": "test_steady_state[vjp-tree16-sdae]", + "fullname": "benchmarks/test_pytree_overhead.py::test_steady_state[vjp-tree16-sdae]", + "params": { + "transform": "vjp", + "state_kind": "tree16", + "method": "sdae" + }, + "param": "vjp-tree16-sdae", + "extra_info": {}, + "options": { + "disable_gc": false, + "timer": "perf_counter", + "min_rounds": 5, + "max_time": 1.0, + "min_time": 5e-06, + "warmup": false + }, + "stats": { + "min": 0.0006046291906386614, + "max": 0.0006247624987736344, + "mean": 0.0006094320892589167, + "stddev": 4.8817498394500755e-06, + "rounds": 20, + "median": 0.0006084604479838162, + "iqr": 5.3479045163839405e-06, + "q1": 0.0006056562473531812, + "q3": 0.0006110041518695652, + "iqr_outliers": 1, + "stddev_outliers": 2, + "outliers": "2;1", + "ld15iqr": 0.0006046291906386614, + "hd15iqr": 0.0006247624987736344, + "ops": 1640.8719160423975, + "total": 0.012188641785178334, + "data": [ + 0.0006247624987736344, + 0.0006127582979388535, + 0.0006120041012763977, + 0.0006056166952475905, + 0.0006080874940380454, + 0.0006046291906386614, + 0.0006115166004747152, + 0.000609716703183949, + 0.0006180208059959113, + 0.0006094333017244935, + 0.0006083333981223404, + 0.0006055459030903876, + 0.0006074792006984353, + 0.0006104917032644152, + 0.0006050124997273087, + 0.0006091083982028067, + 0.0006056957994587719, + 0.0006048582959920168, + 0.0006069833994843066, + 0.0006085874978452921 + ], + "iterations": 10 + } + } + ], + "datetime": "2026-07-21T22:40:07.422901+00:00", + "version": "5.2.3" +} \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 1f776fd..6cf17fb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "tinydiffeq" -version = "2.1.0" +version = "2.2.0" description = "Tiny differentiable ODE/SDE/DAE/SDAE solvers for JAX with static shapes and composable AD" readme = "README.md" license = "MIT" @@ -32,9 +32,6 @@ dependencies = [ "nlls-gram>=2.4.0", ] -[tool.uv.sources] -nlls-gram = { path = "../nlls_gram", editable = true } - [project.urls] Homepage = "https://github.com/HighDimensionalEconLab/tinydiffeq" Repository = "https://github.com/HighDimensionalEconLab/tinydiffeq" diff --git a/uv.lock b/uv.lock index 25b9eb8..a526f89 100644 --- a/uv.lock +++ b/uv.lock @@ -548,26 +548,14 @@ wheels = [ [[package]] name = "nlls-gram" version = "2.4.0" -source = { editable = "../nlls_gram" } +source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "jax" }, ] - -[package.metadata] -requires-dist = [{ name = "jax", specifier = ">=0.7.0" }] - -[package.metadata.requires-dev] -benchmark = [{ name = "pytest-benchmark", specifier = ">=5.2.3" }] -dev = [ - { name = "flax", specifier = ">=0.12.7" }, - { name = "pytest", specifier = ">=8" }, - { name = "ruff", specifier = ">=0.15.17" }, -] -docs = [ - { name = "mkdocs-material", specifier = ">=9.5" }, - { name = "mkdocstrings", extras = ["python"], specifier = ">=0.26" }, +sdist = { url = "https://files.pythonhosted.org/packages/bc/cd/3195db6a86d1e40b703a12fb796924aa2eeb703ad65eb1ee22585e431edf/nlls_gram-2.4.0.tar.gz", hash = "sha256:d6b7e42b4dc3d05b7a388ccb37b7b09baa5982d10aead72ea010572bf93c4248", size = 1959245, upload-time = "2026-07-21T22:30:04.291Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c3/7d/dd2e404450bdb687669a35ae45ecb15f04e0932bdde547e31722b2d60b53/nlls_gram-2.4.0-py3-none-any.whl", hash = "sha256:d2beceeb15d6e0668d4ad63e4a04c69b7a6a5f88f8863171c77454743930f7c7", size = 76950, upload-time = "2026-07-21T22:30:02.511Z" }, ] -gpu = [{ name = "jax", extras = ["cuda13"], marker = "sys_platform == 'linux'", specifier = ">=0.7.0" }] [[package]] name = "numpy" @@ -1239,7 +1227,7 @@ wheels = [ [[package]] name = "tinydiffeq" -version = "2.1.0" +version = "2.2.0" source = { editable = "." } dependencies = [ { name = "jax" }, @@ -1267,7 +1255,7 @@ gpu = [ [package.metadata] requires-dist = [ { name = "jax", specifier = ">=0.7.0" }, - { name = "nlls-gram", editable = "../nlls_gram" }, + { name = "nlls-gram", specifier = ">=2.4.0" }, ] [package.metadata.requires-dev]