tower120
tower120
BTW, Unity ECS has interesting feature of world merging. In Unity ECS archetype's storage consist of 16Kb chunk linked list. So merge is close to just changing pointers in list....
@cart What about "Universe" concept? Universe is basically EntitySpace (virtually, EntityId generator). Each world constructed_within/constructed_with universe and cannot be moved between universes. According to what you described: subworlds - is...
I'm unsure if this is right place to discuss... But I'm currently working on implementation of semi-lockless event queue (fast lockfree read; write under lock). https://github.com/tower120/lockless_event_queue/blob/master/src/event.rs It is in somewhat...
I made some progress with my EventQueue. According to benchmarks, read performance is stunning https://github.com/tower120/lockless_event_queue/blob/91383baff8aeda56bdd80ab60984daae6f3fd992/benches/read_bench.rs#L8 : ``` EventQueue worst case scenario: 100ms EventQueue best case scenario: 40ms Deque: 60ms Vec:...
@colepoirier that's time of reading 100`000 items. Look at Vec as baseline. Nothing can't be faster than it. EventQueue also read full queue in several read sessions. In worst case...
I would like to make this `EventQueue` as separate crate, cuz I think it have common functionality. I'll describe principle of operation in a documentation. I'll make separate RFC describing...
So how did you test spinlocks in the end? I tried `yield_now`, but that's incredibly slow. (like tens of minutes)
I see, thanks. You should add note about hour-scale "slow" in the docs. I was confident that it hang up.
BTW, can it, theoretically, become multi-threaded?
It does show! But for me, it just output everything at once, once test done. Maybe, that's just how clion+rust console work though... Thanks, I'll try with "pure" console.