introduce safety info + ecs_get_id_from_record & refactor ecs_get_id methods to use it#1752
introduce safety info + ecs_get_id_from_record & refactor ecs_get_id methods to use it#1752Indra-db wants to merge 10 commits into
Conversation
|
I don't understand why CI for test windows is failing. The test is multithreaded enum registration. could it be a fluke? also see discord, I have some problems with bake. I also don't have a windows PC to further investigate it. Any advice? |
|
ok, seems like some fluke, CI passes |
|
update to latest main + fix conflicts |
|
|
||
| ecs_record_t *r = flecs_entities_get(world, entity); | ||
|
|
||
| return flecs_get_id_from_record(world, entity, r, component).component_ptr; |
There was a problem hiding this comment.
Changing ecs_get_id and ecs_get_mut_id means a lot more scrutiny has to be applied to this PR. This could cause performance regressions that depend on compiler-specific inlining behavior.
I'll need to test this myself, not sure if I'll have time for that before the next release but I'll try.
|
Can you please merge this PR and #1753? By itself this PR doesn't make much sense. It introduces things called "safety" but there's no new functionality added that's safety related. |
|
merging this PR with #1753 |
performance is unchanged according to the benchmarks, but remarkably sparse components get an unreasonable performance boost. I cannot seem to be able to explain it.
first column is without this commit, second column is with.