From 2b1d08ed25cdb5fdfbc65d3c83da7635d20c5535 Mon Sep 17 00:00:00 2001
From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz>
Date: Thu, 24 Mar 2016 15:11:51 +0100
Subject: [PATCH] more granularity in BMH algorighm measurements

---
 alib2algo/src/stringology/exact/BoyerMooreHorspool.cpp | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/alib2algo/src/stringology/exact/BoyerMooreHorspool.cpp b/alib2algo/src/stringology/exact/BoyerMooreHorspool.cpp
index 5678acaab7..7cb4981b8b 100644
--- a/alib2algo/src/stringology/exact/BoyerMooreHorspool.cpp
+++ b/alib2algo/src/stringology/exact/BoyerMooreHorspool.cpp
@@ -13,6 +13,7 @@
 #include <alphabet/Symbol.h>
 
 #include <map>
+#include <measure>
 
 namespace stringology {
 
@@ -25,8 +26,12 @@ std::set<unsigned> BoyerMooreHorspool::match(const string::String& subject, cons
 std::set<unsigned> BoyerMooreHorspool::match(const string::LinearString& string, const string::LinearString& pattern)
 {
 	std::set<unsigned> occ;
+
+	measurements::start ( "Preprocess", measurements::Type::PREPROCESS );
 	std::map<alphabet::Symbol, size_t> bcs = BadCharacterShiftTable::bcs(pattern); //NOTE: the subjects alphabet must be a subset or equal to the pattern
+	measurements::end ( );
 
+	measurements::start ( "Algorithm", measurements::Type::ALGORITHM );
 	size_t haystack_offset = 0;
 	while(haystack_offset + pattern.getContent().size() <= string.getContent().size()) {
 		size_t i = pattern.getContent().size();
@@ -39,6 +44,8 @@ std::set<unsigned> BoyerMooreHorspool::match(const string::LinearString& string,
 		haystack_offset += bcs[string.getContent()[haystack_offset + pattern.getContent().size() - 1]];
 		//std::cout << haystack_offset << std::endl;
 	}
+	measurements::end ( );
+
 	return occ;
 }
 
-- 
GitLab