A cached map will do best if you actualy need a fast factorial. There are very little entries before the numbers become pointlessly big.