How does this perform compared to a factorial computed normally. Without the novelty of using c++ templates?