test: a couple of extra functions to stress the upcoming changes

This commit is contained in:
Michele Caini
2023-01-11 09:34:22 +01:00
parent 89bceaff75
commit 6eb3347a3b

View File

@@ -175,6 +175,22 @@ TEST(Benchmark, EraseMany) {
timer.elapsed();
}
TEST(Benchmark, EraseManyMulti) {
entt::registry registry;
std::vector<entt::entity> entities(1000000);
auto view = registry.view<position>();
std::cout << "Erasing 1000000 components from their entities at once" << std::endl;
registry.create(entities.begin(), entities.end());
registry.insert<position>(entities.begin(), entities.end());
registry.insert<velocity>(entities.begin(), entities.end());
timer timer;
registry.erase<position, velocity>(view.begin(), view.end());
timer.elapsed();
}
TEST(Benchmark, Remove) {
entt::registry registry;
std::vector<entt::entity> entities(1000000);
@@ -209,6 +225,22 @@ TEST(Benchmark, RemoveMany) {
timer.elapsed();
}
TEST(Benchmark, RemoveManyMulti) {
entt::registry registry;
std::vector<entt::entity> entities(1000000);
auto view = registry.view<position>();
std::cout << "Removing 1000000 components from their entities at once" << std::endl;
registry.create(entities.begin(), entities.end());
registry.insert<position>(entities.begin(), entities.end());
registry.insert<velocity>(entities.begin(), entities.end());
timer timer;
registry.remove<position, velocity>(view.begin(), view.end());
timer.elapsed();
}
TEST(Benchmark, Clear) {
entt::registry registry;
std::vector<entt::entity> entities(1000000);
@@ -223,6 +255,21 @@ TEST(Benchmark, Clear) {
timer.elapsed();
}
TEST(Benchmark, ClearMulti) {
entt::registry registry;
std::vector<entt::entity> entities(1000000);
std::cout << "Clearing 1000000 components from their entities" << std::endl;
registry.create(entities.begin(), entities.end());
registry.insert<position>(entities.begin(), entities.end());
registry.insert<velocity>(entities.begin(), entities.end());
timer timer;
registry.clear<position, velocity>();
timer.elapsed();
}
TEST(Benchmark, ClearStable) {
entt::registry registry;
std::vector<entt::entity> entities(1000000);