Skip to content

Add Enzyme (Reverse) to AD interop tests - #692

Open
ameligrana wants to merge 6 commits into
mainfrom
ameligrana-patch-13
Open

Add Enzyme (Reverse) to AD interop tests#692
ameligrana wants to merge 6 commits into
mainfrom
ameligrana-patch-13

Conversation

@ameligrana

Copy link
Copy Markdown
Member

No description provided.

@ameligrana ameligrana added the infrastructure CI, test, benchmarks, ... label Jul 6, 2026
@codecov

codecov Bot commented Jul 6, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

boxed = false

⚠️ 1 benchmark regressions detected!

Click to expand benchmark results

Time is per entity/N, allocations are totals. Allocations are only shown for current.

N       Time main             Time curr           Factor         Allocs         Bytes    
query_create
1000 6.64ns 6.65ns 1.00 0 0
query_create_filter
1000 6.65ns 6.64ns 1.00 0 0
query_posvel_1k_arch
100 6.25ns 6.32ns 1.01 0 0
1000 6.58ns 6.63ns 1.01 0 0
10000 1.83ns 1.83ns 1.00 0 0
100000 0.88ns 0.85ns 0.96 0 0
1000000 0.97ns 1.03ns 1.06 0 0
query_posvel_1k_arch_cached
100 6.71ns 6.74ns 1.00 0 0
1000 7.21ns 7.29ns 1.01 0 0
10000 1.98ns 1.99ns 1.00 0 0
100000 0.87ns 0.90ns 1.03 0 0
1000000 0.98ns 1.02ns 1.04 0 0
query_posvel_32_arch
100 2.35ns 2.35ns 1.00 0 0
1000 0.82ns 0.82ns 1.01 0 0
10000 0.42ns 0.42ns 1.01 0 0
100000 0.50ns 0.50ns 0.99 0 0
1000000 0.63ns 0.64ns 1.01 0 0
query_posvel_cold
100 1.00ns 1.00ns 1.00 0 0
1000 0.44ns 0.44ns 1.00 0 0
10000 0.37ns 0.37ns 1.00 0 0
100000 0.48ns 0.48ns 1.00 0 0
1000000 0.73ns 0.72ns 0.98 0 0
query_posvel_fields
100 0.47ns 0.47ns 1.00 0 0
1000 0.29ns 0.29ns 1.01 0 0
10000 0.36ns 0.36ns 1.00 0 0
100000 0.47ns 0.46ns 0.98 0 0
1000000 0.53ns 0.58ns 1.09 0 0
query_posvel_fields_broadcast
100 1.02ns 1.02ns 1.00 0 0
1000 0.84ns 0.84ns 1.00 0 0
10000 0.78ns 0.77ns 1.00 0 0
100000 0.97ns 0.97ns 1.00 0 0
1000000 1.42ns 1.56ns ⚠️ 1.12 0 0
query_posvel_hot
100 0.64ns 0.64ns 1.00 0 0
1000 0.31ns 0.30ns 0.99 0 0
10000 0.36ns 0.36ns 1.00 0 0
100000 0.41ns 0.42ns 1.00 0 0
1000000 0.55ns 0.57ns 1.04 0 0
query_posvel_mean
100 1.06ns 1.06ns 1.00 0 0
100000 1.06ns 1.06ns 1.00 0 0
query_posvel_mean_readonly
100 1.06ns 1.06ns 1.00 0 0
100000 1.06ns 1.06ns 1.00 0 0
query_posvel_soa
100 1.65ns 1.64ns 1.00 0 0
1000 1.43ns 1.42ns 1.00 0 0
10000 1.39ns 1.39ns 1.00 0 0
100000 1.40ns 1.40ns 1.00 0 0
1000000 1.41ns 1.41ns 1.00 0 0
query_posvel_soa_unpack
100 0.53ns 0.53ns 1.00 0 0
1000 0.30ns 0.29ns 0.98 0 0
10000 0.36ns 0.36ns 1.00 0 0
100000 0.48ns 0.47ns 0.98 0 0
1000000 0.57ns 0.62ns 1.09 0 0
world_add_remove_1
100 41.05ns 38.77ns 0.94 0 0
10000 40.47ns 37.55ns 0.93 0 0
world_add_remove_1_batch
100 4.54ns 4.67ns 1.03 0 0
10000 2.61ns 2.68ns 1.02 0 0
world_add_remove_1_buffer
100 38.76ns 38.83ns 1.00 0 0
10000 39.46ns 39.40ns 1.00 0 0
world_add_remove_1_buffer_single
100 51.08ns 47.25ns 0.93 0 0
10000 49.69ns 46.31ns 0.93 0 0
world_add_remove_1_large
100 49.08ns 48.94ns 1.00 0 0
10000 49.92ns 49.73ns 1.00 0 0
world_add_remove_1_soa
100 40.08ns 40.12ns 1.00 0 0
10000 40.92ns 40.88ns 1.00 0 0
world_add_remove_8
100 63.16ns 62.92ns 1.00 0 0
10000 64.31ns 64.66ns 1.01 0 0
world_add_remove_8_large
100 75.35ns 76.72ns 1.02 0 0
10000 76.62ns 77.94ns 1.02 0 0
world_add_remove_8_soa
100 84.36ns 83.96ns 1.00 0 0
10000 85.66ns 85.70ns 1.00 0 0
world_copy_entity_5
100 32.15ns 31.45ns 0.98 0 0
10000 32.60ns 31.68ns 0.97 0 0
world_get_1
100 1.13ns 1.11ns 0.99 0 0
10000 1.05ns 1.05ns 1.00 0 0
world_get_1_soa
100 1.75ns 1.75ns 1.00 0 0
10000 1.71ns 1.70ns 0.99 0 0
world_get_5
100 3.04ns 3.04ns 1.00 0 0
10000 2.99ns 3.00ns 1.00 0 0
world_get_5_unchecked
100 1.93ns 1.93ns 1.00 0 0
10000 1.89ns 1.89ns 1.00 0 0
world_get_rel
100 1.09ns 1.09ns 1.00 0 0
10000 1.06ns 1.06ns 1.00 0 0
world_has_1
100 1.00ns 1.00ns 1.00 0 0
10000 0.96ns 0.96ns 1.00 0 0
world_has_5
100 1.13ns 1.13ns 1.00 0 0
10000 1.07ns 1.07ns 1.00 0 0
world_new_entities_1
100 3.01ns 3.01ns 1.00 0 0
10000 2.39ns 2.39ns 1.00 0 0
world_new_entities_1_def
100 3.01ns 3.10ns 1.03 0 0
10000 2.56ns 2.56ns 1.00 0 0
world_new_entities_5
100 5.11ns 5.11ns 1.00 0 0
10000 4.15ns 4.14ns 1.00 0 0
world_new_entities_5_def
100 5.01ns 5.01ns 1.00 0 0
10000 4.21ns 4.09ns 0.97 0 0
world_new_entity_1
100 12.87ns 12.77ns 0.99 0 0
10000 13.15ns 13.12ns 1.00 0 0
world_new_entity_1_rel
100 39.51ns 39.56ns 1.00 0 0
10000 39.78ns 39.84ns 1.00 0 0
world_new_entity_1_soa
100 14.92ns 14.83ns 0.99 0 0
10000 15.08ns 15.10ns 1.00 0 0
world_new_entity_5
100 21.93ns 21.93ns 1.00 0 0
10000 22.03ns 22.21ns 1.01 0 0
world_new_entity_5_rel
100 54.98ns 54.53ns 0.99 0 0
10000 55.49ns 55.33ns 1.00 0 0
world_new_entity_5_soa
100 32.15ns 32.15ns 1.00 0 0
10000 32.81ns 32.85ns 1.00 0 0
world_partition
100 16.17ns 16.22ns 1.00 0 0
10000 27.15ns 27.61ns 1.02 0 0
world_posvel
100 3.05ns 3.05ns 1.00 0 0
10000 3.23ns 3.23ns 1.00 0 0
world_remove_entities_5
100 2.16ns 2.16ns 1.00 0 0
10000 1.09ns 1.09ns 1.00 0 0
world_remove_entity_5
100 19.13ns 19.13ns 1.00 0 0
10000 19.07ns 19.30ns 1.01 0 0
world_resource
1 8.87ns 8.75ns 0.99 0 0
world_set_1
100 2.00ns 2.00ns 1.00 0 0
10000 2.09ns 2.08ns 1.00 0 0
world_set_1_soa
100 2.37ns 2.37ns 1.00 0 0
10000 2.45ns 2.43ns 0.99 0 0
world_set_5
100 6.66ns 6.67ns 1.00 0 0
10000 7.86ns 7.86ns 1.00 0 0
world_set_rel
100 44.37ns 44.72ns 1.01 0 0
10000 44.57ns 44.48ns 1.00 0 0
world_set_rel_batch
100 2.61ns 2.71ns 1.04 0 0
10000 0.75ns 0.75ns 1.00 0 0
world_shuffle
100 53.91ns 53.63ns 0.99 0 0
10000 66.18ns 66.37ns 1.00 0 0
world_sort
100 68.86ns 68.75ns 1.00 0 0
10000 253.66ns 251.49ns 0.99 0 0
world_update_1
100 2.49ns 2.49ns 1.00 0 0
10000 2.64ns 2.63ns 1.00 0 0
world_update_5
100 8.83ns 8.85ns 1.00 0 0
10000 9.35ns 9.32ns 1.00 0 0

boxed = true

✅ Benchmarks are stable!

Click to expand benchmark results

Time is per entity/N, allocations are totals. Allocations are only shown for current.

N       Time main             Time curr           Factor         Allocs         Bytes    
query_create
1000 7.74ns 7.68ns 0.99 0 0
query_create_filter
1000 7.68ns 7.68ns 1.00 0 0
query_posvel_1k_arch
100 6.15ns 6.10ns 0.99 0 0
1000 7.52ns 7.61ns 1.01 0 0
10000 2.19ns 2.16ns 0.99 0 0
100000 0.92ns 0.99ns 1.08 0 0
1000000 0.86ns 0.89ns 1.04 0 0
query_posvel_1k_arch_cached
100 6.79ns 6.82ns 1.00 0 0
1000 8.47ns 8.62ns 1.02 0 0
10000 2.30ns 2.32ns 1.01 0 0
100000 0.93ns 0.98ns 1.05 0 0
1000000 0.92ns 0.85ns 0.94 0 0
query_posvel_32_arch
100 2.27ns 2.26ns 0.99 0 0
1000 0.80ns 0.79ns 0.99 0 0
10000 0.43ns 0.44ns 1.01 0 0
100000 0.56ns 0.57ns 1.01 0 0
1000000 0.61ns 0.60ns 0.98 0 0
query_posvel_cold
100 0.95ns 0.96ns 1.00 0 0
1000 0.42ns 0.42ns 1.00 0 0
10000 0.37ns 0.37ns 1.01 0 0
100000 0.56ns 0.56ns 1.00 0 0
1000000 0.75ns 0.80ns 1.07 0 0
query_posvel_fields
100 0.46ns 0.46ns 1.00 0 0
1000 0.27ns 0.27ns 1.00 0 0
10000 0.34ns 0.34ns 1.00 0 0
100000 0.51ns 0.48ns 0.95 0 0
1000000 0.62ns 0.57ns 0.92 0 0
query_posvel_fields_broadcast
100 0.99ns 0.99ns 1.00 0 0
1000 0.80ns 0.79ns 1.00 0 0
10000 0.78ns 0.78ns 1.00 0 0
100000 1.03ns 1.02ns 1.00 0 0
1000000 1.39ns 1.43ns 1.03 0 0
query_posvel_hot
100 0.63ns 0.62ns 0.98 0 0
1000 0.29ns 0.29ns 1.00 0 0
10000 0.34ns 0.34ns 1.00 0 0
100000 0.48ns 0.48ns 1.00 0 0
1000000 0.59ns 0.60ns 1.01 0 0
query_posvel_mean
100 1.09ns 1.12ns 1.03 0 0
100000 1.01ns 1.01ns 1.00 0 0
query_posvel_mean_readonly
100 1.10ns 1.10ns 1.00 0 0
100000 1.01ns 1.01ns 1.00 0 0
query_posvel_soa
100 1.58ns 1.60ns 1.01 0 0
1000 1.41ns 1.41ns 1.00 0 0
10000 1.39ns 1.39ns 1.00 0 0
100000 1.39ns 1.40ns 1.01 0 0
1000000 1.41ns 1.41ns 1.00 0 0
query_posvel_soa_unpack
100 0.51ns 0.51ns 1.00 0 0
1000 0.28ns 0.28ns 1.02 0 0
10000 0.34ns 0.34ns 1.00 0 0
100000 0.51ns 0.49ns 0.96 0 0
1000000 0.59ns 0.62ns 1.04 0 0
world_add_remove_1
100 66.06ns 66.34ns 1.00 0 0
10000 67.47ns 68.16ns 1.01 0 0
world_add_remove_1_batch
100 5.24ns 5.24ns 1.00 0 0
10000 2.74ns 2.76ns 1.01 0 0
world_add_remove_1_buffer
100 73.66ns 72.66ns 0.99 0 0
10000 74.70ns 73.46ns 0.98 0 0
world_add_remove_1_buffer_single
100 74.99ns 74.62ns 1.00 0 0
10000 75.70ns 75.50ns 1.00 0 0
world_add_remove_1_large
100 67.16ns 66.72ns 0.99 0 0
10000 68.29ns 67.96ns 1.00 0 0
world_add_remove_1_soa
100 73.88ns 74.28ns 1.01 0 0
10000 75.44ns 75.52ns 1.00 0 0
world_add_remove_8
100 103.88ns 103.70ns 1.00 0 0
10000 105.07ns 105.11ns 1.00 0 0
world_add_remove_8_large
100 105.00ns 105.35ns 1.00 0 0
10000 106.00ns 106.41ns 1.00 0 0
world_add_remove_8_soa
100 128.57ns 131.72ns 1.02 0 0
10000 130.85ns 133.67ns 1.02 0 0
world_copy_entity_5
100 97.02ns 97.26ns 1.00 0 0
10000 97.63ns 97.52ns 1.00 0 0
world_get_1
100 1.09ns 1.09ns 1.00 0 0
10000 1.00ns 1.00ns 1.00 0 0
world_get_1_soa
100 1.81ns 1.81ns 1.00 0 0
10000 1.73ns 1.73ns 1.00 0 0
world_get_5
100 5.28ns 5.44ns 1.03 0 0
10000 5.30ns 5.40ns 1.02 0 0
world_get_5_unchecked
100 3.10ns 3.11ns 1.00 0 0
10000 3.07ns 3.05ns 0.99 0 0
world_get_rel
100 1.06ns 1.07ns 1.01 0 0
10000 1.00ns 1.00ns 1.00 0 0
world_has_1
100 1.01ns 0.98ns 0.97 0 0
10000 0.95ns 0.90ns 0.95 0 0
world_has_5
100 1.09ns 1.10ns 1.00 0 0
10000 1.01ns 1.01ns 1.00 0 0
world_new_entities_1
100 3.26ns 3.35ns 1.03 0 0
10000 2.36ns 2.36ns 1.00 0 0
world_new_entities_1_def
100 3.26ns 3.26ns 1.00 0 0
10000 2.50ns 2.49ns 1.00 0 0
world_new_entities_5
100 5.96ns 5.86ns 0.98 0 0
10000 4.09ns 4.11ns 1.01 0 0
world_new_entities_5_def
100 5.86ns 5.91ns 1.01 0 0
10000 3.93ns 4.00ns 1.02 0 0
world_new_entity_1
100 14.98ns 15.32ns 1.02 0 0
10000 15.19ns 15.42ns 1.02 0 0
world_new_entity_1_rel
100 40.37ns 40.47ns 1.00 0 0
10000 40.32ns 40.37ns 1.00 0 0
world_new_entity_1_soa
100 15.32ns 15.48ns 1.01 0 0
10000 15.35ns 15.32ns 1.00 0 0
world_new_entity_5
100 26.20ns 26.30ns 1.00 0 0
10000 26.68ns 26.65ns 1.00 0 0
world_new_entity_5_rel
100 58.55ns 57.45ns 0.98 0 0
10000 58.97ns 58.13ns 0.99 0 0
world_new_entity_5_soa
100 35.21ns 35.25ns 1.00 0 0
10000 36.26ns 36.02ns 0.99 0 0
world_partition
100 40.78ns 39.92ns 0.98 0 0
10000 55.60ns 54.53ns 0.98 0 0
world_posvel
100 4.33ns 4.34ns 1.00 0 0
10000 4.53ns 4.53ns 1.00 0 0
world_remove_entities_5
100 3.20ns 3.25ns 1.02 0 0
10000 1.22ns 1.17ns 0.96 0 0
world_remove_entity_5
100 92.50ns 92.85ns 1.00 0 0
10000 93.21ns 93.66ns 1.00 0 0
world_resource
1 8.47ns 8.47ns 1.00 0 0
world_set_1
100 3.59ns 3.59ns 1.00 0 0
10000 3.75ns 3.75ns 1.00 0 0
world_set_1_soa
100 4.51ns 4.51ns 1.00 0 0
10000 4.69ns 4.70ns 1.00 0 0
world_set_5
100 10.96ns 11.28ns 1.02 0 0
10000 11.73ns 12.01ns 1.02 0 0
world_set_rel
100 55.00ns 54.79ns 1.00 0 0
10000 54.48ns 54.45ns 1.00 0 0
world_set_rel_batch
100 2.96ns 2.96ns 1.00 0 0
10000 0.76ns 0.76ns 1.01 0 0
world_shuffle
100 162.18ns 168.54ns 1.04 0 0
10000 192.03ns 193.02ns 1.00 0 0
world_sort
100 75.08ns 74.97ns 1.00 0 0
10000 242.98ns 242.99ns 1.00 0 0
world_update_1
100 4.55ns 4.38ns 0.97 0 0
10000 4.73ns 4.54ns 0.97 0 0
world_update_5
100 13.36ns 13.36ns 1.00 0 0
10000 14.15ns 14.18ns 1.00 0 0

@ameligrana ameligrana closed this Jul 6, 2026
@wsmoses

wsmoses commented Jul 13, 2026

Copy link
Copy Markdown

any reason why this was closed [and/or any issues with mwes you can open?]

@ameligrana

Copy link
Copy Markdown
Member Author

yes, in the end it seems there is some other bug which the other MWEs I gave earlier didn't catch, so I had in mind to open a new issue with a new one. Will do soon!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

infrastructure CI, test, benchmarks, ...

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants