oracle 里边多个存储过程分开运行总时间比放在包里要短?求解

1、若我有procA,procB,procC这三个存储过程
2、我分别对这三个进行运行测试发现
   procA   20秒
   procB   35秒
   procC   90秒
   A+B+C = 145秒

3、若把这三个存储过程放在一个package里边通过main方法依次调用发现运行的总时间是 300秒

4、每个存储过程中都是在最后面提交并捕捉异常如:
   .....
   commit;
   exception
      when others then
        begin
          rollback;
          dbms_output.put_line('操作失败!');
        end;

问题:
    为什么会出现这种问题,是不是跟服务器的内存有关系?请指点,谢谢

预处理的功能
比如说上次执行过同样的存储过程,oracle就会把结果保存

执行同样的东西,第二次明显要比第一次快