Miscellaneous performance tweaks
This commit is contained in:
@@ -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;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -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;
|
||||||
|
Reference in New Issue
Block a user