Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bring Gaia-ECS up-to-date #23

Merged
merged 2 commits into from
Mar 2, 2024
Merged

Conversation

richardbiely
Copy link
Contributor

This commit brings Gaia-ECS up-to-date with the current master.
There were some breaking changes in the API and also new features, such as ability to add many entities at once etc.

@abeimler
Copy link
Owner

Thanks for your contribution.

@abeimler
Copy link
Owner

fyi, I tried to run ecs-benchmark-gaia-ecs in Debug/RelWithDebInfo-Mode with Sanitizers enabled and getting this Errors:

ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/core/utility.h:109:85: runtime error: reference binding to misaligned address 0x7b7744fda864 for type 'struct QueryEntityOpPair', which requires 8 byte alignment
0x7b7744fda864: note: pointer points here
  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
              ^ 
pc_0x6302fc43d9a6###func_void gaia::core::call_ctor_raw_n<gaia::ecs::QueryEntityOpPair>(gaia::ecs::QueryEntityOpPair*, unsigned long)###file_ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/core/utility.h###line_109###obj_(ecs-benchmark-gaia-ecs+0xd459a6) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc3803c6###func_gaia::cnt::sarr_ext<gaia::ecs::QueryEntityOpPair, 8u>::sarr_ext()###file_ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/cnt/impl/sarray_ext_impl.h###line_229###obj_(ecs-benchmark-gaia-ecs+0xc883c6) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc38aebd###func_gaia::ecs::QueryCtx::QueryCtx()###file_ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/ecs/query_common.h###line_79###obj_(ecs-benchmark-gaia-ecs+0xc92ebd) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc38b4af###func_gaia::ecs::QueryInfo::QueryInfo()###file_ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/ecs/query_info.h###line_32###obj_(ecs-benchmark-gaia-ecs+0xc934af) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc57f7c4###func_void gaia::core::call_ctor_raw_n<gaia::ecs::QueryInfo>(gaia::ecs::QueryInfo*, unsigned long)###file_ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/core/utility.h###line_109###obj_(ecs-benchmark-gaia-ecs+0xe877c4) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc4fc964###func_gaia::mem::data_view_policy_aos<gaia::ecs::QueryInfo>::alloc_mem(unsigned long)###file_ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/mem/data_layout_policy.h###line_158###obj_(ecs-benchmark-gaia-ecs+0xe04964) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc453c7c###func_gaia::cnt::darr<gaia::ecs::QueryInfo>::reserve(unsigned int)###file_ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/cnt/impl/darray_impl.h###line_348###obj_(ecs-benchmark-gaia-ecs+0xd5bc7c) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc3a07f2###func_gaia::ecs::QueryCache::QueryCache()###file_ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/ecs/query_cache.h###line_51###obj_(ecs-benchmark-gaia-ecs+0xca87f2) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc3b10be###func_gaia::ecs::World::World()###file_ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/ecs/world.h###line_484###obj_(ecs-benchmark-gaia-ecs+0xcb90be) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc41cb2a###func_ecs::benchmarks::gaia_ecs::GaiaEcsApplication::GaiaEcsApplication(ecs::benchmarks::base::add_more_complex_system_t)###file_ecs_benchmark_gaia_ecs/src/gaia-ecs/gaia-ecs/GaiaEcsApplication.h###line_31###obj_(ecs-benchmark-gaia-ecs+0xd24b2a) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc4c6a53###func_ecs::benchmarks::base::ECSBenchmark<ecs::benchmarks::base::StringLiteral<9ul>{char [10]{(char)103, (char)97, (char)105, (char)97, (char)45, (char)101, (char)99, (char)115}}, ecs::benchmarks::gaia_ecs::GaiaEcsApplication, ecs::benchmarks::gaia_ecs::entities::EntityFactory, ecs::benchmarks::gaia_ecs::entities::HeroMonsterEntityFactory, (ecs::benchmarks::base::ECSBenchmarkIncludeEntityBenchmarks)0>::BM_SystemsUpdate_NoEntities(benchmark::State&)###file_ecs_benchmark_gaia_ecs/benchmark/benchmarks/ECSBenchmark.h###line_60###obj_(ecs-benchmark-gaia-ecs+0xdcea53) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc32a77e###func_BM_SystemsUpdate_NoEntities###file_ecs_benchmark_gaia_ecs/benchmark/benchmarks/gaia-ecs/GaiaEcsBenchmarkSuite.cpp###line_5###obj_(ecs-benchmark-gaia-ecs+0xc3277e) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc702d59###func_benchmark::internal::FunctionBenchmark::Run(benchmark::State&)###file_vcpkg/buildtrees/benchmark/src/v1.8.3-eb6e61b079.clean/src/benchmark_register.cc###line_497###obj_(ecs-benchmark-gaia-ecs+0x100ad59) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc6fe55a###func_benchmark::internal::BenchmarkInstance::Run(long, int, benchmark::internal::ThreadTimer*, benchmark::internal::ThreadManager*, benchmark::internal::PerfCountersMeasurement*) const###file_vcpkg/buildtrees/benchmark/src/v1.8.3-eb6e61b079.clean/src/benchmark_api_internal.cc###line_98###obj_(ecs-benchmark-gaia-ecs+0x100655a) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc73a44c###func_RunInThread###file_vcpkg/buildtrees/benchmark/src/v1.8.3-eb6e61b079.clean/src/benchmark_runner.cc###line_132###obj_(ecs-benchmark-gaia-ecs+0x104244c) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc73b32b###func_benchmark::internal::BenchmarkRunner::DoNIterations()###file_vcpkg/buildtrees/benchmark/src/v1.8.3-eb6e61b079.clean/src/benchmark_runner.cc###line_273###obj_(ecs-benchmark-gaia-ecs+0x104332b) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc73bcdd###func_benchmark::internal::BenchmarkRunner::DoOneRepetition()###file_vcpkg/buildtrees/benchmark/src/v1.8.3-eb6e61b079.clean/src/benchmark_runner.cc###line_424###obj_(ecs-benchmark-gaia-ecs+0x1043cdd) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc6ecbfc###func_RunBenchmarks###file_vcpkg/buildtrees/benchmark/src/v1.8.3-eb6e61b079.clean/src/benchmark.cc###line_438###obj_(ecs-benchmark-gaia-ecs+0xff4bfc) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc6edbc7###func_benchmark::RunSpecifiedBenchmarks(benchmark::BenchmarkReporter*, benchmark::BenchmarkReporter*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)###file_vcpkg/buildtrees/benchmark/src/v1.8.3-eb6e61b079.clean/src/benchmark.cc###line_611###obj_(ecs-benchmark-gaia-ecs+0xff5bc7) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc6ed42d###func_benchmark::RunSpecifiedBenchmarks()###file_vcpkg/buildtrees/benchmark/src/v1.8.3-eb6e61b079.clean/src/benchmark.cc###line_535###obj_(ecs-benchmark-gaia-ecs+0xff542d) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc6eaf0a###func_main###file_vcpkg/buildtrees/benchmark/src/v1.8.3-eb6e61b079.clean/src/benchmark_main.cc###line_18###obj_(ecs-benchmark-gaia-ecs+0xff2f0a) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x7b7745643ccf###func_<null>###file_<null>###line_0###obj_(libc.so.6+0x25ccf) (BuildId: c0caa0b7709d3369ee575fcd7d7d0b0fc48733af)
pc_0x7b7745643d89###func___libc_start_main###file_<null>###line_0###obj_(libc.so.6+0x25d89) (BuildId: c0caa0b7709d3369ee575fcd7d7d0b0fc48733af)
pc_0x6302fc328514###func__start###file_<null>###line_0###obj_(ecs-benchmark-gaia-ecs+0xc30514) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)

ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/core/utility.h:109:11: runtime error: constructor call on misaligned address 0x7b7744fda864 for type 'struct QueryEntityOpPair', which requires 8 byte alignment
0x7b7744fda864: note: pointer points here
  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
              ^ 
pc_0x6302fc43da19###func_void gaia::core::call_ctor_raw_n<gaia::ecs::QueryEntityOpPair>(gaia::ecs::QueryEntityOpPair*, unsigned long)###file_ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/core/utility.h###line_109###obj_(ecs-benchmark-gaia-ecs+0xd45a19) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc3803c6###func_gaia::cnt::sarr_ext<gaia::ecs::QueryEntityOpPair, 8u>::sarr_ext()###file_ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/cnt/impl/sarray_ext_impl.h###line_229###obj_(ecs-benchmark-gaia-ecs+0xc883c6) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc38aebd###func_gaia::ecs::QueryCtx::QueryCtx()###file_ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/ecs/query_common.h###line_79###obj_(ecs-benchmark-gaia-ecs+0xc92ebd) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc38b4af###func_gaia::ecs::QueryInfo::QueryInfo()###file_ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/ecs/query_info.h###line_32###obj_(ecs-benchmark-gaia-ecs+0xc934af) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc57f7c4###func_void gaia::core::call_ctor_raw_n<gaia::ecs::QueryInfo>(gaia::ecs::QueryInfo*, unsigned long)###file_ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/core/utility.h###line_109###obj_(ecs-benchmark-gaia-ecs+0xe877c4) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc4fc964###func_gaia::mem::data_view_policy_aos<gaia::ecs::QueryInfo>::alloc_mem(unsigned long)###file_ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/mem/data_layout_policy.h###line_158###obj_(ecs-benchmark-gaia-ecs+0xe04964) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc453c7c###func_gaia::cnt::darr<gaia::ecs::QueryInfo>::reserve(unsigned int)###file_ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/cnt/impl/darray_impl.h###line_348###obj_(ecs-benchmark-gaia-ecs+0xd5bc7c) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc3a07f2###func_gaia::ecs::QueryCache::QueryCache()###file_ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/ecs/query_cache.h###line_51###obj_(ecs-benchmark-gaia-ecs+0xca87f2) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc3b10be###func_gaia::ecs::World::World()###file_ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/ecs/world.h###line_484###obj_(ecs-benchmark-gaia-ecs+0xcb90be) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc41cb2a###func_ecs::benchmarks::gaia_ecs::GaiaEcsApplication::GaiaEcsApplication(ecs::benchmarks::base::add_more_complex_system_t)###file_ecs_benchmark_gaia_ecs/src/gaia-ecs/gaia-ecs/GaiaEcsApplication.h###line_31###obj_(ecs-benchmark-gaia-ecs+0xd24b2a) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc4c6a53###func_ecs::benchmarks::base::ECSBenchmark<ecs::benchmarks::base::StringLiteral<9ul>{char [10]{(char)103, (char)97, (char)105, (char)97, (char)45, (char)101, (char)99, (char)115}}, ecs::benchmarks::gaia_ecs::GaiaEcsApplication, ecs::benchmarks::gaia_ecs::entities::EntityFactory, ecs::benchmarks::gaia_ecs::entities::HeroMonsterEntityFactory, (ecs::benchmarks::base::ECSBenchmarkIncludeEntityBenchmarks)0>::BM_SystemsUpdate_NoEntities(benchmark::State&)###file_ecs_benchmark_gaia_ecs/benchmark/benchmarks/ECSBenchmark.h###line_60###obj_(ecs-benchmark-gaia-ecs+0xdcea53) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc32a77e###func_BM_SystemsUpdate_NoEntities###file_ecs_benchmark_gaia_ecs/benchmark/benchmarks/gaia-ecs/GaiaEcsBenchmarkSuite.cpp###line_5###obj_(ecs-benchmark-gaia-ecs+0xc3277e) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc702d59###func_benchmark::internal::FunctionBenchmark::Run(benchmark::State&)###file_vcpkg/buildtrees/benchmark/src/v1.8.3-eb6e61b079.clean/src/benchmark_register.cc###line_497###obj_(ecs-benchmark-gaia-ecs+0x100ad59) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc6fe55a###func_benchmark::internal::BenchmarkInstance::Run(long, int, benchmark::internal::ThreadTimer*, benchmark::internal::ThreadManager*, benchmark::internal::PerfCountersMeasurement*) const###file_vcpkg/buildtrees/benchmark/src/v1.8.3-eb6e61b079.clean/src/benchmark_api_internal.cc###line_98###obj_(ecs-benchmark-gaia-ecs+0x100655a) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc73a44c###func_RunInThread###file_vcpkg/buildtrees/benchmark/src/v1.8.3-eb6e61b079.clean/src/benchmark_runner.cc###line_132###obj_(ecs-benchmark-gaia-ecs+0x104244c) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc73b32b###func_benchmark::internal::BenchmarkRunner::DoNIterations()###file_vcpkg/buildtrees/benchmark/src/v1.8.3-eb6e61b079.clean/src/benchmark_runner.cc###line_273###obj_(ecs-benchmark-gaia-ecs+0x104332b) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc73bcdd###func_benchmark::internal::BenchmarkRunner::DoOneRepetition()###file_vcpkg/buildtrees/benchmark/src/v1.8.3-eb6e61b079.clean/src/benchmark_runner.cc###line_424###obj_(ecs-benchmark-gaia-ecs+0x1043cdd) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc6ecbfc###func_RunBenchmarks###file_vcpkg/buildtrees/benchmark/src/v1.8.3-eb6e61b079.clean/src/benchmark.cc###line_438###obj_(ecs-benchmark-gaia-ecs+0xff4bfc) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc6edbc7###func_benchmark::RunSpecifiedBenchmarks(benchmark::BenchmarkReporter*, benchmark::BenchmarkReporter*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)###file_vcpkg/buildtrees/benchmark/src/v1.8.3-eb6e61b079.clean/src/benchmark.cc###line_611###obj_(ecs-benchmark-gaia-ecs+0xff5bc7) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc6ed42d###func_benchmark::RunSpecifiedBenchmarks()###file_vcpkg/buildtrees/benchmark/src/v1.8.3-eb6e61b079.clean/src/benchmark.cc###line_535###obj_(ecs-benchmark-gaia-ecs+0xff542d) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc6eaf0a###func_main###file_vcpkg/buildtrees/benchmark/src/v1.8.3-eb6e61b079.clean/src/benchmark_main.cc###line_18###obj_(ecs-benchmark-gaia-ecs+0xff2f0a) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x7b7745643ccf###func_<null>###file_<null>###line_0###obj_(libc.so.6+0x25ccf) (BuildId: c0caa0b7709d3369ee575fcd7d7d0b0fc48733af)
pc_0x7b7745643d89###func___libc_start_main###file_<null>###line_0###obj_(libc.so.6+0x25d89) (BuildId: c0caa0b7709d3369ee575fcd7d7d0b0fc48733af)
pc_0x6302fc328514###func__start###file_<null>###line_0###obj_(ecs-benchmark-gaia-ecs+0xc30514) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)

ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/ecs/query_common.h:57:10: runtime error: member access within misaligned address 0x7b7744fda864 for type 'struct QueryEntityOpPair', which requires 8 byte alignment
0x7b7744fda864: note: pointer points here
  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
              ^ 
pc_0x6302fc43d622###func_gaia::ecs::QueryEntityOpPair::QueryEntityOpPair()###file_ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/ecs/query_common.h###line_57###obj_(ecs-benchmark-gaia-ecs+0xd45622) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc43da33###func_void gaia::core::call_ctor_raw_n<gaia::ecs::QueryEntityOpPair>(gaia::ecs::QueryEntityOpPair*, unsigned long)###file_ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/core/utility.h###line_109###obj_(ecs-benchmark-gaia-ecs+0xd45a33) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc3803c6###func_gaia::cnt::sarr_ext<gaia::ecs::QueryEntityOpPair, 8u>::sarr_ext()###file_ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/cnt/impl/sarray_ext_impl.h###line_229###obj_(ecs-benchmark-gaia-ecs+0xc883c6) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc38aebd###func_gaia::ecs::QueryCtx::QueryCtx()###file_ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/ecs/query_common.h###line_79###obj_(ecs-benchmark-gaia-ecs+0xc92ebd) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc38b4af###func_gaia::ecs::QueryInfo::QueryInfo()###file_ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/ecs/query_info.h###line_32###obj_(ecs-benchmark-gaia-ecs+0xc934af) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc57f7c4###func_void gaia::core::call_ctor_raw_n<gaia::ecs::QueryInfo>(gaia::ecs::QueryInfo*, unsigned long)###file_ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/core/utility.h###line_109###obj_(ecs-benchmark-gaia-ecs+0xe877c4) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc4fc964###func_gaia::mem::data_view_policy_aos<gaia::ecs::QueryInfo>::alloc_mem(unsigned long)###file_ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/mem/data_layout_policy.h###line_158###obj_(ecs-benchmark-gaia-ecs+0xe04964) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc453c7c###func_gaia::cnt::darr<gaia::ecs::QueryInfo>::reserve(unsigned int)###file_ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/cnt/impl/darray_impl.h###line_348###obj_(ecs-benchmark-gaia-ecs+0xd5bc7c) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc3a07f2###func_gaia::ecs::QueryCache::QueryCache()###file_ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/ecs/query_cache.h###line_51###obj_(ecs-benchmark-gaia-ecs+0xca87f2) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc3b10be###func_gaia::ecs::World::World()###file_ecs_benchmark_gaia_ecs/cmake-build-debug/_deps/gaia-src/include/gaia/ecs/world.h###line_484###obj_(ecs-benchmark-gaia-ecs+0xcb90be) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc41cb2a###func_ecs::benchmarks::gaia_ecs::GaiaEcsApplication::GaiaEcsApplication(ecs::benchmarks::base::add_more_complex_system_t)###file_ecs_benchmark_gaia_ecs/src/gaia-ecs/gaia-ecs/GaiaEcsApplication.h###line_31###obj_(ecs-benchmark-gaia-ecs+0xd24b2a) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc4c6a53###func_ecs::benchmarks::base::ECSBenchmark<ecs::benchmarks::base::StringLiteral<9ul>{char [10]{(char)103, (char)97, (char)105, (char)97, (char)45, (char)101, (char)99, (char)115}}, ecs::benchmarks::gaia_ecs::GaiaEcsApplication, ecs::benchmarks::gaia_ecs::entities::EntityFactory, ecs::benchmarks::gaia_ecs::entities::HeroMonsterEntityFactory, (ecs::benchmarks::base::ECSBenchmarkIncludeEntityBenchmarks)0>::BM_SystemsUpdate_NoEntities(benchmark::State&)###file_ecs_benchmark_gaia_ecs/benchmark/benchmarks/ECSBenchmark.h###line_60###obj_(ecs-benchmark-gaia-ecs+0xdcea53) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc32a77e###func_BM_SystemsUpdate_NoEntities###file_ecs_benchmark_gaia_ecs/benchmark/benchmarks/gaia-ecs/GaiaEcsBenchmarkSuite.cpp###line_5###obj_(ecs-benchmark-gaia-ecs+0xc3277e) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc702d59###func_benchmark::internal::FunctionBenchmark::Run(benchmark::State&)###file_vcpkg/buildtrees/benchmark/src/v1.8.3-eb6e61b079.clean/src/benchmark_register.cc###line_497###obj_(ecs-benchmark-gaia-ecs+0x100ad59) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc6fe55a###func_benchmark::internal::BenchmarkInstance::Run(long, int, benchmark::internal::ThreadTimer*, benchmark::internal::ThreadManager*, benchmark::internal::PerfCountersMeasurement*) const###file_vcpkg/buildtrees/benchmark/src/v1.8.3-eb6e61b079.clean/src/benchmark_api_internal.cc###line_98###obj_(ecs-benchmark-gaia-ecs+0x100655a) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc73a44c###func_RunInThread###file_vcpkg/buildtrees/benchmark/src/v1.8.3-eb6e61b079.clean/src/benchmark_runner.cc###line_132###obj_(ecs-benchmark-gaia-ecs+0x104244c) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc73b32b###func_benchmark::internal::BenchmarkRunner::DoNIterations()###file_vcpkg/buildtrees/benchmark/src/v1.8.3-eb6e61b079.clean/src/benchmark_runner.cc###line_273###obj_(ecs-benchmark-gaia-ecs+0x104332b) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc73bcdd###func_benchmark::internal::BenchmarkRunner::DoOneRepetition()###file_vcpkg/buildtrees/benchmark/src/v1.8.3-eb6e61b079.clean/src/benchmark_runner.cc###line_424###obj_(ecs-benchmark-gaia-ecs+0x1043cdd) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc6ecbfc###func_RunBenchmarks###file_vcpkg/buildtrees/benchmark/src/v1.8.3-eb6e61b079.clean/src/benchmark.cc###line_438###obj_(ecs-benchmark-gaia-ecs+0xff4bfc) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc6edbc7###func_benchmark::RunSpecifiedBenchmarks(benchmark::BenchmarkReporter*, benchmark::BenchmarkReporter*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)###file_vcpkg/buildtrees/benchmark/src/v1.8.3-eb6e61b079.clean/src/benchmark.cc###line_611###obj_(ecs-benchmark-gaia-ecs+0xff5bc7) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc6ed42d###func_benchmark::RunSpecifiedBenchmarks()###file_vcpkg/buildtrees/benchmark/src/v1.8.3-eb6e61b079.clean/src/benchmark.cc###line_535###obj_(ecs-benchmark-gaia-ecs+0xff542d) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x6302fc6eaf0a###func_main###file_vcpkg/buildtrees/benchmark/src/v1.8.3-eb6e61b079.clean/src/benchmark_main.cc###line_18###obj_(ecs-benchmark-gaia-ecs+0xff2f0a) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)
pc_0x7b7745643ccf###func_<null>###file_<null>###line_0###obj_(libc.so.6+0x25ccf) (BuildId: c0caa0b7709d3369ee575fcd7d7d0b0fc48733af)
pc_0x7b7745643d89###func___libc_start_main###file_<null>###line_0###obj_(libc.so.6+0x25d89) (BuildId: c0caa0b7709d3369ee575fcd7d7d0b0fc48733af)
pc_0x6302fc328514###func__start###file_<null>###line_0###obj_(ecs-benchmark-gaia-ecs+0xc30514) (BuildId: 4313869c6cf95f34c92b02f571112d6a028c971d)

@richardbiely
Copy link
Contributor Author

Would you mind sharing your setup, please? Cmd-line args or how you prepare the project.

@abeimler
Copy link
Owner

abeimler commented Mar 1, 2024

Would you mind sharing your setup, please? Cmd-line args or how you prepare the project.

Simple build the Project in Debug or RelWithDebInfo, Sanitizers, Tests, etc. should be then enabled on it's own.

cmake -DCMAKE_BUILD_TYPE=Debug -G Ninja -S . -B cmake-build-debug
cmake --build cmake-build-debug --target ecs-benchmark-gaia-ecs -j 4

I'm using project_options to setting up all sorts of warnings, compiler-flags etc.

Here is what my IDE prints out for the build command:

Compiler:

/usr/bin/ccache /usr/bin/c++ -Dgsl_CONFIG_DEFAULTS_VERSION=1 -IProjects/ecs_benchmark/src/gaia-ecs ... -g -std=c++20 -fdiagnostics-color=always -fdiagnostics-color=always -Wall -Wextra -Wextra-semi -Wshadow -Wnon-virtual-dtor -Wold-style-cast -Wcast-align -Wunused -Woverloaded-virtual -Wpedantic -Wconversion -Wsign-conversion -Wnull-dereference -Wdouble-promotion -Wformat=2 -Wimplicit-fallthrough -Wmisleading-indentation -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wuseless-cast --coverage -O0 -g -fsanitize=address,pointer-compare,pointer-subtract,undefined -MD -MT src/gaia-ecs/CMakeFiles/ecs-benchmark-example-gaia-ecs.dir/gaia-ecs/systems/MoreComplexSystem.cpp.o -MF src/gaia-ecs/CMakeFiles/ecs-benchmark-example-gaia-ecs.dir/gaia-ecs/systems/MoreComplexSystem.cpp.o.d -o src/gaia-ecs/CMakeFiles/ecs-benchmark-example-gaia-ecs.dir/gaia-ecs/systems/MoreComplexSystem.cpp.o -c Projects/ecs_benchmark/src/gaia-ecs/gaia-ecs/systems/MoreComplexSystem.cpp

Linker:

/usr/bin/c++ -g -Wall -Wextra -Wextra-semi -Wshadow -Wnon-virtual-dtor -Wold-style-cast -Wcast-align -Wunused -Woverloaded-virtual -Wpedantic -Wconversion -Wsign-conversion -Wnull-dereference -Wdouble-promotion -Wformat=2 -Wimplicit-fallthrough -Wmisleading-indentation -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wuseless-cast -fuse-ld=mold -fsanitize=address,pointer-compare,pointer-subtract,undefined test/tests/CMakeFiles/ecs-benchmark-tests.dir/entity_factory/entt_test.cpp.o ... -o test/tests/ecs-benchmark-tests  vcpkg_installed/x64-linux/debug/lib/libCatch2d.a  vcpkg_installed/x64-linux/debug/lib/manual-link/libCatch2Maind.a ... -fsanitize=address  -fno-omit-frame-pointer  -fsanitize=undefined  _deps/flecs-build/libflecs_static.a  -lpthread  _deps/entityx-build/libentityx-d.a  _deps/mustache-build/libmustache.a  --coverage

@richardbiely
Copy link
Contributor Author

Great catch. I have updated my sanitizers tests so now I'll be able to catch and fix these.

@abeimler abeimler merged commit 07cc900 into abeimler:develop Mar 2, 2024
4 of 15 checks passed
@richardbiely
Copy link
Contributor Author

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