プロファイリングでは、再帰が非常に深くなるため、この機能がパフォーマンスの低下要因として指摘されています。
Func(unsigned eff_id)
{
if (eff_id == 0) return 1;
if (eff_id == 1) return 0;
XCodeRuleNode rn(m_IH_rn_ri.get_key(eff_id)); // Initialize
{
rn.t_id = Func(rn.t_id);
rn.f_id = Func(rn.f_id);
//
}
return RegCodeRuleNode(rn); // Inserting the object in a hash table
}