Miscellaneous performance tweaks

This commit is contained in:
Jason Turner
2015-06-28 13:20:20 -06:00
parent 902f48cd4c
commit b9875e2844
2 changed files with 7 additions and 5 deletions

View File

@@ -1346,13 +1346,15 @@ namespace chaiscript
Stack_Holder() Stack_Holder()
: call_depth(0) : call_depth(0)
{ {
stacks.reserve(2);
stacks.emplace_back(1); stacks.emplace_back(1);
call_params.emplace_back(); call_params.emplace_back();
call_params.back().reserve(2);
} }
std::deque<StackData> stacks; std::vector<StackData> stacks;
std::deque<std::list<Boxed_Value>> call_params; std::vector<std::vector<Boxed_Value>> call_params;
int call_depth; int call_depth;
}; };

View File

@@ -184,10 +184,10 @@ namespace chaiscript
if (m_arity == 0) if (m_arity == 0)
{ {
return true; return true;
} else if (m_arity > 1 && m_types.size() > 1) { } else if (m_arity > 1) {
return compare_first_type(vals[0], t_conversions) && compare_type_to_param(m_types[2], vals[1], t_conversions); return compare_type_to_param(m_types[1], vals[0], t_conversions) && compare_type_to_param(m_types[2], vals[1], t_conversions);
} else { } else {
return compare_first_type(vals[0], t_conversions); return compare_type_to_param(m_types[1], vals[0], t_conversions);
} }
} else { } else {
return false; return false;