Skip to content

Conversation

@mlange-42
Copy link
Member

A test for thread-safe queries.

The overhead seems quite large. So it is questionable whether we should really use this for queries (and only queries) by default. Alternatively, queries could have an additional kwarg to enable this.

@mlange-42 mlange-42 self-assigned this Nov 5, 2025
@mlange-42 mlange-42 marked this pull request as draft November 5, 2025 22:05
@codecov
Copy link

codecov bot commented Nov 5, 2025

Codecov Report

❌ Patch coverage is 6.66667% with 14 lines in your changes missing coverage. Please review.
✅ Project coverage is 99.37%. Comparing base (72ec9a2) to head (dd3bcb0).

Files with missing lines Patch % Lines
src/lock.jl 6.66% 14 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##              main     #216      +/-   ##
===========================================
- Coverage   100.00%   99.37%   -0.63%     
===========================================
  Files           20       20              
  Lines         2222     2236      +14     
===========================================
  Hits          2222     2222              
- Misses           0       14      +14     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions
Copy link
Contributor

github-actions bot commented Nov 5, 2025

🚀 1 benchmark improvements detected!

⚠️ 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 2.47ns 2.47ns 1.00 0 0
query_posvel_1k_arch
100 6.99ns 6.95ns 0.99 0 0
1000 9.54ns 9.43ns 0.99 0 0
10000 2.58ns 2.57ns 0.99 0 0
100000 0.93ns 1.01ns 1.09 0 0
1000000 0.80ns 0.83ns 1.04 0 0
query_posvel_32_arch
100 2.30ns 2.26ns 0.98 0 0
1000 0.72ns 0.69ns 0.96 0 0
10000 0.45ns 0.48ns 1.08 0 0
100000 0.62ns 0.58ns 0.93 0 0
1000000 0.60ns 0.62ns 1.03 0 0
query_posvel_cold
100 0.83ns 0.74ns 🚀 0.90 0 0
1000 0.39ns 0.39ns 1.00 0 0
10000 0.41ns 0.42ns 1.02 0 0
100000 0.68ns 0.66ns 0.98 0 0
1000000 0.74ns 0.88ns ⚠️ 1.20 0 0
query_posvel_fields
100 0.39ns 0.39ns 1.01 0 0
1000 0.23ns 0.23ns 1.00 0 0
10000 0.33ns 0.32ns 0.99 0 0
100000 0.40ns 0.40ns 1.00 0 0
1000000 0.57ns 0.58ns 1.03 0 0
query_posvel_fields_broadcast
100 0.88ns 0.88ns 1.00 0 0
1000 0.70ns 0.70ns 1.00 0 0
10000 0.79ns 0.80ns 1.00 0 0
100000 0.83ns 0.83ns 1.00 0 0
1000000 1.51ns 1.45ns 0.96 0 0
query_posvel_hot
100 0.41ns 0.41ns 1.00 0 0
1000 0.24ns 0.24ns 1.00 0 0
10000 0.33ns 0.33ns 1.00 0 0
100000 0.41ns 0.41ns 1.00 0 0
1000000 0.57ns 0.56ns 1.00 0 0
query_posvel_soa
100 1.01ns 1.02ns 1.00 0 0
1000 0.82ns 0.82ns 1.00 0 0
10000 0.79ns 0.79ns 1.00 0 0
100000 0.80ns 0.79ns 1.00 0 0
1000000 0.83ns 0.83ns 1.00 0 0
query_posvel_soa_unpack
100 0.44ns 0.45ns 1.01 0 0
1000 0.24ns 0.24ns 1.00 0 0
10000 0.33ns 0.33ns 1.00 0 0
100000 0.41ns 0.41ns 1.00 0 0
1000000 0.57ns 0.60ns 1.06 0 0
world_add_remove_1
100 82.42ns 82.38ns 1.00 0 0
10000 83.32ns 83.02ns 1.00 0 0
world_add_remove_1_large
100 84.37ns 84.85ns 1.01 0 0
10000 84.89ns 85.42ns 1.01 0 0
world_add_remove_1_soa
100 92.50ns 91.37ns 0.99 0 0
10000 94.44ns 92.08ns 0.98 0 0
world_add_remove_8
100 131.31ns 133.74ns 1.02 0 0
10000 132.32ns 134.05ns 1.01 0 0
world_add_remove_8_large
100 131.88ns 132.26ns 1.00 0 0
10000 132.01ns 132.70ns 1.01 0 0
world_add_remove_8_soa
100 157.66ns 160.84ns 1.02 0 0
10000 158.74ns 160.51ns 1.01 0 0
world_copy_entity_5
100 54.57ns 54.43ns 1.00 0 0
10000 54.88ns 55.04ns 1.00 0 0
world_get_1
100 1.04ns 1.03ns 0.99 0 0
10000 0.95ns 0.94ns 0.99 0 0
world_get_1_soa
100 2.04ns 2.04ns 1.00 0 0
10000 1.97ns 1.97ns 1.00 0 0
world_get_5
100 3.24ns 3.26ns 1.01 0 0
10000 3.16ns 3.18ns 1.01 0 0
world_get_rel
100 1.96ns 1.95ns 1.00 0 0
10000 1.86ns 1.86ns 1.00 0 0
world_new_entities_1
100 5.94ns 5.88ns 0.99 6 224
10000 4.37ns 4.36ns 1.00 6 224
world_new_entities_1_def
100 5.18ns 5.14ns 0.99 0 0
10000 4.46ns 4.51ns 1.01 0 0
world_new_entities_5
100 7.51ns 7.59ns 1.01 6 224
10000 5.74ns 5.73ns 1.00 6 224
world_new_entities_5_def
100 6.64ns 6.71ns 1.01 0 0
10000 6.03ns 6.02ns 1.00 0 0
world_new_entity_1
100 36.40ns 36.10ns 0.99 0 0
10000 36.78ns 36.33ns 0.99 0 0
world_new_entity_1_rel
100 51.37ns 51.66ns 1.01 0 0
10000 51.71ns 52.03ns 1.01 0 0
world_new_entity_1_soa
100 38.54ns 38.67ns 1.00 0 0
10000 39.30ns 39.00ns 0.99 0 0
world_new_entity_5
100 70.90ns 70.93ns 1.00 0 0
10000 71.77ns 72.26ns 1.01 0 0
world_new_entity_5_rel
100 87.93ns 88.93ns 1.01 0 0
10000 89.46ns 89.79ns 1.00 0 0
world_new_entity_5_soa
100 101.82ns 101.79ns 1.00 0 0
10000 102.79ns 102.74ns 1.00 0 0
world_posvel
100 2.84ns 2.83ns 1.00 0 0
1000 2.90ns 2.88ns 0.99 0 0
10000 2.97ns 2.92ns 0.98 0 0
100000 2.97ns 2.93ns 0.99 0 0
world_resource
1 7.16ns 6.99ns 0.98 0 0
world_set_1
100 2.91ns 2.91ns 1.00 0 0
10000 3.00ns 3.01ns 1.00 0 0
world_set_1_soa
100 3.23ns 3.24ns 1.00 0 0
10000 3.34ns 3.35ns 1.00 0 0
world_set_5
100 8.08ns 8.09ns 1.00 0 0
10000 8.78ns 8.80ns 1.00 0 0
world_set_rel
100 52.06ns 52.26ns 1.00 0 0
10000 51.86ns 52.14ns 1.01 0 0
world_update_1
100 2.54ns 2.52ns 0.99 0 0
10000 2.61ns 2.59ns 0.99 0 0
world_update_5
100 9.71ns 9.62ns 0.99 0 0
10000 10.11ns 10.15ns 1.00 0 0

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants