Huge performance improvement: passing variables as pointers avoiding copies

This commit is contained in:
Felipe Zimmerle
2015-09-18 20:21:12 -03:00
parent 2451bf05d7
commit 076a02951c
45 changed files with 207 additions and 208 deletions

View File

@@ -28,23 +28,22 @@ namespace ModSecurity {
namespace Variables {
namespace Variations {
std::list<std::pair<std::string, std::string>>
std::list<ModSecurityStringVar *> *
Count::evaluate(Assay *assay) {
std::list<std::pair<std::string, std::string>> reslIn;
std::list<std::pair<std::string, std::string>> reslOut;
std::pair<std::string, std::string> pair;
std::list<ModSecurityStringVar *> *reslIn;
std::list<ModSecurityStringVar *> *reslOut = new std::list<ModSecurityStringVar *>();
int count = 0;
reslIn = var->evaluate(assay);
for (auto &a : reslIn) {
for (auto &a : *reslIn) {
count++;
}
std::string res = std::to_string(count);
pair = std::make_pair(std::string(var->name), std::string(res));
reslOut.push_back(pair);
reslOut->push_back(new ModSecurityStringVar(std::string(var->name),
std::string(res)));
return reslOut;
}