在Jsp中做string的拼接和在java中拼接,花费时间有明显差别[/quote]
经过测试,字符串拼接10W次,直接main函数执行和在web容器中运行时间大概差距在一秒钟,一个11秒多,一个12秒多
写在controller中和jsp中,执行时间几乎相同,没有你说的那种差别[/quote]
String s = new String();
long start = System.currentTimeMillis();
for(int i = 0; i < 100000; i++){
s=s+i;
}
long end = System.currentTimeMillis();
System.out.println("time="+ (end-start));
这段代码在jsp中执行花费64秒,在main方法里花费41秒。这是我的机器
实际开发过程中用公司的机器甚至放到服务器上也有明显区别,能从3分钟降到1分40秒。[/quote]
个人觉得这个应该是你的环境问题,main方法毕竟是简单的单线程环境,实际线上确实多线程环境,线程切换也会影响代码实际运行速度,你可以弄一个简单的web项目,这样才能尽量排除干扰
还有能吐槽下你的机器么...我代码跟你一模一样,只需要12秒,你要60秒[/quote]
把这段代码从jsp放到action里就能从3mins提高到1min40s。生产上这个action就是跳转到jsp之前的action。应该能排除main方法过于简单的可能[/quote]
或许跟采用的容器有关,我用的jetty,有时候jsp跑的速度还快一些,但你的代码我跑真只要十多秒,个人觉得这个真不太像是机器性能的问题,我CPU E3V5,你CPU应该不会差这么多吧
在Jsp中做string的拼接和在java中拼接,花费时间有明显差别[/quote]
经过测试,字符串拼接10W次,直接main函数执行和在web容器中运行时间大概差距在一秒钟,一个11秒多,一个12秒多
写在controller中和jsp中,执行时间几乎相同,没有你说的那种差别[/quote]
String s = new String();
long start = System.currentTimeMillis();
for(int i = 0; i < 100000; i++){
s=s+i;
}
long end = System.currentTimeMillis();
System.out.println("time="+ (end-start));
这段代码在jsp中执行花费64秒,在main方法里花费41秒。这是我的机器
实际开发过程中用公司的机器甚至放到服务器上也有明显区别,能从3分钟降到1分40秒。[/quote]
个人觉得这个应该是你的环境问题,main方法毕竟是简单的单线程环境,实际线上确实多线程环境,线程切换也会影响代码实际运行速度,你可以弄一个简单的web项目,这样才能尽量排除干扰
还有能吐槽下你的机器么...我代码跟你一模一样,只需要12秒,你要60秒[/quote]
把这段代码从jsp放到action里就能从3mins提高到1min40s。生产上这个action就是跳转到jsp之前的action。应该能排除main方法过于简单的可能
在Jsp中做string的拼接和在java中拼接,花费时间有明显差别[/quote]
经过测试,字符串拼接10W次,直接main函数执行和在web容器中运行时间大概差距在一秒钟,一个11秒多,一个12秒多
写在controller中和jsp中,执行时间几乎相同,没有你说的那种差别[/quote]
String s = new String();
long start = System.currentTimeMillis();
for(int i = 0; i < 100000; i++){
s=s+i;
}
long end = System.currentTimeMillis();
System.out.println("time="+ (end-start));
这段代码在jsp中执行花费64秒,在main方法里花费41秒。这是我的机器
实际开发过程中用公司的机器甚至放到服务器上也有明显区别,能从3分钟降到1分40秒。[/quote]
个人觉得这个应该是你的环境问题,main方法毕竟是简单的单线程环境,实际线上确实多线程环境,线程切换也会影响代码实际运行速度,你可以弄一个简单的web项目,这样才能尽量排除干扰
还有能吐槽下你的机器么...我代码跟你一模一样,只需要12秒,你要60秒