Skip to content

Implement DiskVector and DiskStructArray - #656

Open
ameligrana wants to merge 16 commits into
mainfrom
disk
Open

Implement DiskVector and DiskStructArray#656
ameligrana wants to merge 16 commits into
mainfrom
disk

Conversation

@ameligrana

@ameligrana ameligrana commented Jun 6, 2026

Copy link
Copy Markdown
Member

Fixes #631

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

🚀 2 benchmark improvements 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 5.91ns 5.91ns 1.00 0 0
query_create_filter
1000 5.90ns 5.94ns 1.01 0 0
query_posvel_1k_arch
100 6.65ns 6.70ns 1.01 0 0
1000 8.89ns 9.12ns 1.03 0 0
10000 2.71ns 2.67ns 0.99 0 0
100000 1.09ns 1.04ns 0.95 0 0
1000000 0.93ns 0.83ns 0.90 0 0
query_posvel_1k_arch_cached
100 7.41ns 7.30ns 0.99 0 0
1000 9.56ns 9.54ns 1.00 0 0
10000 2.82ns 2.75ns 0.98 0 0
100000 1.14ns 1.06ns 0.94 0 0
1000000 0.87ns 0.86ns 0.99 0 0
query_posvel_32_arch
100 2.32ns 2.27ns 0.98 0 0
1000 0.73ns 0.73ns 1.00 0 0
10000 0.47ns 0.47ns 1.00 0 0
100000 0.63ns 0.66ns 1.05 0 0
1000000 0.64ns 0.65ns 1.01 0 0
query_posvel_cold
100 0.80ns 0.80ns 1.00 0 0
1000 0.38ns 0.38ns 1.00 0 0
10000 0.40ns 0.40ns 0.99 0 0
100000 0.69ns 0.67ns 0.98 0 0
1000000 0.84ns 0.83ns 0.99 0 0
query_posvel_fields
100 0.44ns 0.44ns 0.99 0 0
1000 0.25ns 0.25ns 1.00 0 0
10000 0.32ns 0.32ns 1.01 0 0
100000 0.50ns 0.50ns 1.00 0 0
1000000 0.64ns 0.64ns 1.02 0 0
query_posvel_fields_broadcast
100 0.95ns 0.96ns 1.01 0 0
1000 0.74ns 0.74ns 1.00 0 0
10000 0.78ns 0.78ns 0.99 0 0
100000 0.99ns 0.99ns 1.00 0 0
1000000 1.54ns 1.55ns 1.00 0 0
query_posvel_hot
100 0.50ns 0.50ns 1.00 0 0
1000 0.24ns 0.25ns 1.00 0 0
10000 0.32ns 0.32ns 1.00 0 0
100000 0.50ns 0.50ns 1.00 0 0
1000000 0.62ns 0.61ns 0.99 0 0
query_posvel_mean
100 1.11ns 1.08ns 0.98 0 0
100000 0.95ns 0.95ns 1.00 0 0
query_posvel_mean_readonly
100 1.10ns 1.08ns 0.98 0 0
100000 0.95ns 0.95ns 1.00 0 0
query_posvel_soa
100 1.56ns 1.56ns 1.00 0 0
1000 1.36ns 1.36ns 1.00 0 0
10000 1.37ns 1.37ns 1.00 0 0
100000 1.38ns 1.38ns 1.00 0 0
1000000 1.40ns 1.39ns 1.00 0 0
query_posvel_soa_unpack
100 0.52ns 0.52ns 1.00 0 0
1000 0.26ns 0.26ns 1.00 0 0
10000 0.32ns 0.32ns 0.99 0 0
100000 0.49ns 0.49ns 1.00 0 0
1000000 0.63ns 0.66ns 1.05 0 0
world_add_remove_1
100 31.37ns 31.50ns 1.00 0 0
10000 31.40ns 31.80ns 1.01 0 0
world_add_remove_1_batch
100 4.08ns 4.11ns 1.01 0 0
10000 2.96ns 2.86ns 0.97 0 0
world_add_remove_1_buffer
100 36.09ns 36.11ns 1.00 0 0
10000 36.14ns 35.97ns 1.00 0 0
world_add_remove_1_buffer_single
100 38.46ns 38.59ns 1.00 0 0
10000 37.94ns 38.22ns 1.01 0 0
world_add_remove_1_large
100 48.20ns 48.07ns 1.00 0 0
10000 47.31ns 47.32ns 1.00 0 0
world_add_remove_1_soa
100 36.32ns 36.18ns 1.00 0 0
10000 36.85ns 36.64ns 0.99 0 0
world_add_remove_8
100 58.18ns 57.68ns 0.99 0 0
10000 59.43ns 58.67ns 0.99 0 0
world_add_remove_8_large
100 84.47ns 84.37ns 1.00 0 0
10000 83.51ns 83.76ns 1.00 0 0
world_add_remove_8_soa
100 74.10ns 73.99ns 1.00 0 0
10000 76.02ns 75.56ns 0.99 0 0
world_copy_entity_5
100 24.18ns 24.04ns 0.99 0 0
10000 23.94ns 23.96ns 1.00 0 0
world_get_1
100 0.91ns 0.95ns 1.05 0 0
10000 0.80ns 0.84ns 1.06 0 0
world_get_1_soa
100 1.65ns 1.65ns 1.00 0 0
10000 1.56ns 1.56ns 1.00 0 0
world_get_5
100 2.93ns 2.94ns 1.00 0 0
10000 2.82ns 2.82ns 1.00 0 0
world_get_5_unchecked
100 1.87ns 1.87ns 1.00 0 0
10000 1.84ns 1.84ns 1.00 0 0
world_get_rel
100 1.05ns 1.04ns 1.00 0 0
10000 0.94ns 0.94ns 1.00 0 0
world_has_1
100 1.06ns 1.05ns 1.00 0 0
10000 0.96ns 0.96ns 1.00 0 0
world_has_5
100 1.65ns 1.65ns 1.00 0 0
10000 1.55ns 1.56ns 1.01 0 0
world_new_entities_1
100 2.91ns 2.91ns 1.00 0 0
10000 2.23ns 2.20ns 0.98 0 0
world_new_entities_1_def
100 2.97ns 2.97ns 1.00 0 0
10000 2.40ns 2.38ns 0.99 0 0
world_new_entities_5
100 4.95ns 4.81ns 0.97 0 0
10000 3.88ns 3.87ns 1.00 0 0
world_new_entities_5_def
100 4.82ns 4.78ns 0.99 0 0
10000 4.00ns 3.84ns 0.96 0 0
world_new_entity_1
100 12.52ns 12.39ns 0.99 0 0
10000 12.36ns 12.32ns 1.00 0 0
world_new_entity_1_rel
100 42.98ns 42.65ns 0.99 0 0
10000 43.16ns 42.77ns 0.99 0 0
world_new_entity_1_soa
100 16.60ns 13.76ns 🚀 0.88 0 0
10000 16.46ns 13.51ns 🚀 0.88 0 0
world_new_entity_5
100 21.37ns 21.37ns 1.00 0 0
10000 21.55ns 21.74ns 1.01 0 0
world_new_entity_5_rel
100 59.34ns 59.47ns 1.00 0 0
10000 60.63ns 60.46ns 1.00 0 0
world_new_entity_5_soa
100 30.29ns 30.36ns 1.00 0 0
10000 30.87ns 30.55ns 0.99 0 0
world_partition
100 18.17ns 18.20ns 1.00 0 0
10000 25.29ns 23.83ns 0.95 0 0
world_posvel
100 2.52ns 2.52ns 1.00 0 0
10000 2.68ns 2.59ns 0.97 0 0
world_remove_entities_5
100 2.27ns 2.17ns 0.96 0 0
10000 0.98ns 0.97ns 1.00 0 0
world_remove_entity_5
100 18.74ns 18.94ns 1.01 0 0
10000 18.72ns 18.90ns 1.01 0 0
world_resource
1 8.91ns 9.05ns 1.02 0 0
world_set_1
100 2.82ns 2.91ns 1.03 0 0
10000 2.88ns 3.00ns 1.04 0 0
world_set_1_soa
100 2.63ns 2.61ns 0.99 0 0
10000 2.73ns 2.73ns 1.00 0 0
world_set_5
100 8.03ns 8.04ns 1.00 0 0
10000 8.80ns 8.83ns 1.00 0 0
world_set_rel
100 44.75ns 45.42ns 1.01 0 0
10000 44.55ns 44.82ns 1.01 0 0
world_set_rel_batch
100 2.47ns 2.40ns 0.97 0 0
10000 0.76ns 0.76ns 1.00 0 0
world_shuffle
100 64.65ns 64.01ns 0.99 0 0
10000 83.22ns 81.88ns 0.99 0 0
world_sort
100 60.88ns 61.31ns 1.01 0 0
10000 211.91ns 213.87ns 1.01 0 0
world_update_1
100 2.57ns 2.58ns 1.00 0 0
10000 2.64ns 2.65ns 1.00 0 0
world_update_5
100 9.91ns 9.99ns 1.01 0 0
10000 10.43ns 10.46ns 1.00 0 0

@codecov

codecov Bot commented Jun 7, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 87.00000% with 13 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/disk_vector.jl 86.73% 13 Missing ⚠️

📢 Thoughts on this report? Let us know!

@ameligrana
ameligrana requested a review from mlange-42 June 7, 2026 00:30
@ameligrana

Copy link
Copy Markdown
Member Author

I would like an opinion on this @mlange-42

@ameligrana ameligrana added the feature Feature requests and ideas label Jun 7, 2026
@ameligrana

ameligrana commented Jun 7, 2026

Copy link
Copy Markdown
Member Author

Actually I'm not sure it is working well enough :D

need still to evaluate better

@ameligrana ameligrana changed the title Implement DiskVector Implement DiskVector and DiskStructArray Jul 18, 2026
@ameligrana
ameligrana marked this pull request as ready for review July 18, 2026 14:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature Feature requests and ideas

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Provide out-of-memory types for very large simulations

1 participant