From c1cada49d4497b20ceb8af0f9b38496d9ef8ea65 Mon Sep 17 00:00:00 2001 From: Michele Caini Date: Sun, 4 Mar 2018 16:03:59 +0100 Subject: [PATCH] review --- README.md | 4 ++-- src/entt/entity/registry.hpp | 2 +- src/entt/entity/sparse_set.hpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 12d7a26dd..05bc48294 100644 --- a/README.md +++ b/README.md @@ -189,8 +189,8 @@ Dell XPS 13 out of the mid 2014): | Benchmark | EntityX (compile-time) | EnTT | |-----------|-------------|-------------| -| Create 1M entities | 0.0167s | **0.0076s** | -| Destroy 1M entities | 0.0053s | **0.0031s** | +| Create 1M entities | 0.0167s | **0.0046s** | +| Destroy 1M entities | 0.0053s | **0.0022s** | | Standard view, 1M entities, one component | 0.0012s | **1.9e-07s** | | Standard view, 1M entities, two components | **0.0012s** | 0.0013s | | Standard view, 1M entities, two components
Half of the entities have all the components | 0.0009s | **0.0007s** | diff --git a/src/entt/entity/registry.hpp b/src/entt/entity/registry.hpp index 055ac3fb8..04f875b0c 100644 --- a/src/entt/entity/registry.hpp +++ b/src/entt/entity/registry.hpp @@ -441,7 +441,7 @@ public: void destroy(entity_type entity) { assert(valid(entity)); const auto entt = entity & traits_type::entity_mask; - const auto version = (entity & (~traits_type::entity_mask)) + (typename traits_type::entity_type{1} << traits_type::entity_shift); + const auto version = (((entity >> traits_type::entity_shift) + 1) & traits_type::version_mask) << traits_type::entity_shift; const auto node = (available ? next : ((entt + 1) & traits_type::entity_mask)) | version; entities[entt] = node; diff --git a/src/entt/entity/sparse_set.hpp b/src/entt/entity/sparse_set.hpp index 1af8a6cad..13a7a9155 100644 --- a/src/entt/entity/sparse_set.hpp +++ b/src/entt/entity/sparse_set.hpp @@ -549,7 +549,7 @@ public: std::enable_if_t::value, object_type &> construct(entity_type entity, Args&&... args) { underlying_type::construct(entity); - instances.emplace_back(Type{ std::forward(args)... }); + instances.emplace_back(Type{std::forward(args)...}); return instances.back(); }