флотов помножить?
void CalcExpectedIndexV2(flecs::iter it, const Map* map, const Position* position, ExpectedIndex* expected_index) { static std::vector<std::int32_t> pos_x; static std::vector<std::int32_t> pos_y; pos_x.clear(); pos_y.clear(); for (auto i : it) { pos_x.emplace_back(position[i].x); pos_y.emplace_back(position[i].y); } } Это занимает 4ms. Простое копирование. При том что рассчет индекса в не векторной форме занимает примерно столько же)
Надо вектор сразу нужного размера
Где тут clear ?
Там, чуть-чуть сверху над циклом 😂
Сделай resize, а потом просто по индексу присвой, дашь больше всего свободы компилятору
Агонь👍 С 4-5ms до 2ms
Семён - семеныч ))
Там вообще можно без цикла сделать memcpy
Обсуждают сегодня