]> git.ipfire.org Git - thirdparty/vectorscan.git/commitdiff
find_better_daddy: use flat_set for hinted states
authorJustin Viiret <justin.viiret@intel.com>
Thu, 6 Apr 2017 01:43:56 +0000 (11:43 +1000)
committerMatthew Barr <matthew.barr@intel.com>
Tue, 30 May 2017 03:47:20 +0000 (13:47 +1000)
src/nfa/mcclellancompile.cpp

index 206f468a5c2ee6c33e2b7eca91829b5b24066b48..0aff6006faffc20f713ef38ba67131efbf7db3e1 100644 (file)
@@ -762,7 +762,7 @@ bytecode_ptr<NFA> mcclellanCompile8(dfa_info &info, const CompileContext &cc,
 #define MAX_SHERMAN_LIST_LEN 8
 
 static
-void addIfEarlier(set<dstate_id_t> &dest, dstate_id_t candidate,
+void addIfEarlier(flat_set<dstate_id_t> &dest, dstate_id_t candidate,
                   dstate_id_t max) {
     if (candidate < max) {
         dest.insert(candidate);
@@ -770,7 +770,7 @@ void addIfEarlier(set<dstate_id_t> &dest, dstate_id_t candidate,
 }
 
 static
-void addSuccessors(set<dstate_id_t> &dest, const dstate &source,
+void addSuccessors(flat_set<dstate_id_t> &dest, const dstate &source,
                    u16 alphasize, dstate_id_t curr_id) {
     for (symbol_t s = 0; s < alphasize; s++) {
         addIfEarlier(dest, source.next[s], curr_id);
@@ -817,7 +817,7 @@ void find_better_daddy(dfa_info &info, dstate_id_t curr_id,
     dstate_id_t best_daddy = 0;
     dstate &currState = info.states[curr_id];
 
-    set<dstate_id_t> hinted; /* set of states to search for a better daddy */
+    flat_set<dstate_id_t> hinted; /* states to search for a better daddy */
     addIfEarlier(hinted, 0, curr_id);
     addIfEarlier(hinted, info.raw.start_anchored, curr_id);
     addIfEarlier(hinted, info.raw.start_floating, curr_id);