Testing performance enhancements by enabling transformations cache

Also reduce the utilization of dynamic cast.
This commit is contained in:
Felipe Zimmerle
2015-11-04 00:28:04 -03:00
parent e641c3cc17
commit 2ee5d4ca8f
12 changed files with 80 additions and 17 deletions

View File

@@ -36,12 +36,19 @@ namespace transformations {
std::string HtmlEntityDecode::evaluate(std::string value,
Assay *assay) {
if (HtmlEntityDecodeInstantCache::getInstance().count(value) > 0) {
return HtmlEntityDecodeInstantCache::getInstance().at(value);
}
char *tmp = strdup(value.c_str());
html_entities_decode_inplace((unsigned char *)tmp, value.size());
std::string ret("");
ret.assign(tmp);
free(tmp);
HtmlEntityDecodeInstantCache::getInstance().emplace(value, ret);
return ret;
}