From 0bdb34ddb9070e604f64813cacabdcbd489fd541 Mon Sep 17 00:00:00 2001 From: Dnomd343 Date: Fri, 13 Jan 2023 13:39:18 +0800 Subject: [PATCH] feat: try different stl containers --- src/analyse/analyse.cc | 13 ++++++++++--- src/analyse/analyse.h | 9 ++++++--- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/analyse/analyse.cc b/src/analyse/analyse.cc index fa21081..f805669 100644 --- a/src/analyse/analyse.cc +++ b/src/analyse/analyse.cc @@ -24,7 +24,10 @@ void Analyse::start_analyse(uint64_t code) { .code = code, .mask = 0, .step = 0, - .src = std::move(std::set{}), +// .src = std::move(std::vector{}), + .src = std::move(std::list{}), +// .src = std::move(std::set{}), +// .src = std::move(std::unordered_set{}), }).first->second); // std::cout << "src size: " << cases[code].src.size() << std::endl; @@ -47,7 +50,8 @@ void Analyse::new_case(uint64_t code, uint64_t mask) { // current->second.src.emplace() if (current->second.step != cache.front()->step) { - current->second.src.emplace(cache.front()); +// current->second.src.emplace(cache.front()); + current->second.src.push_back(cache.front()); } return; @@ -57,6 +61,9 @@ void Analyse::new_case(uint64_t code, uint64_t mask) { .code = code, .mask = mask, .step = cache.front()->step + 1, - .src = std::move(std::set{cache.front()}), +// .src = std::move(std::vector{cache.front()}), + .src = std::move(std::list{cache.front()}), +// .src = std::move(std::set{cache.front()}), +// .src = std::move(std::unordered_set{cache.front()}), }).first->second); } diff --git a/src/analyse/analyse.h b/src/analyse/analyse.h index 80809f2..7d438b2 100644 --- a/src/analyse/analyse.h +++ b/src/analyse/analyse.h @@ -6,6 +6,7 @@ #include #include +#include class Analyse { public: @@ -14,9 +15,11 @@ public: uint64_t mask; int step; - // TODO: try set / unordered_set -// std::list src; - std::set src; + +// std::vector src; + std::list src; +// std::set src; +// std::unordered_set src; }; std::queue cache;