zoukankan      html  css  js  c++  java
  • 性能对比

    < DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>

    现在开发B/S这种模式时我一般会首选是JAVA,不过以前也曾经用过ASP,PHP,.NET,前天我做了一个加法运算的性能测试,发现JAVA确实在性能上很突出,当然dotnet也错,java的性能在很大程度上是看他用的jdk版本,如果用jdk1.6性能要远远高于jdk1.4,不过即使用jdk1.6,其性能也只能和dotnet(dotnet我也是用最新dotnetframeworks 3)相当,不知道是不是支持的容器有点关系,我用的是tomcat,用其它的可能要快一点吧!至于php,asp他们两个测试性能远远不能和java和dotnet相比。现在把测试代码给列出来:

    jsp:
    <%
      long timeStart = System.currentTimeMillis();
      int i=0;
      int count;
      while(i<500000000)i++;
      long timeEnd = System.currentTimeMillis();
      long timeUse=timeEnd-timeStart;
      out.print(timeUse);
    %>
    dotnet vb:
    <%@ Page language="vb" %>
    <%
    dim t1 as Single,t2 as Single
    dim lsabc as Integer,thetime as Integer,i as Integer
     t1=timer
     for i=1 to 500000000
      lsabc= 1 + 1
     next
     t2=timer
     thetime=cstr(int(( (t2-t1)*10000 )+0.5)/10)
     Response.Write ("...已完成!<font color=red>" & thetime & "毫秒</font>。<br>")
    %>

    asp:
    <%
     dim t1,t2,thetime,i,lsabc
     t1=timer
     for i=1 to 500000000
      lsabc= 1 + 1
     next
     t2=timer
     thetime=cstr(int(( (t2-t1)*10000 )+0.5)/10)
     Response.Write "...已完成!<font color=red>" & thetime & "毫秒</font>。<br>"
    %>
    php:
    <?
    function getmicrotime()

        list($usec, $sec) = explode(" ",microtime()); 
        return ((float)$usec + (float)$sec); 

     $time_start=getmicrotime();
     for($index=0;$index<=500000000;$index++);
     {
      $count=1+1;
     }
     $time_end=getmicrotime();
     $time=$time_end-$time_start;
     $time=round($time*1000);
     echo($time);
    ?>
    总结:
    php应该还是可以优化的,因为他要调用一个函数。asp中如果你不用dim那些变量就会发现速度会更慢,dotnet中也一样,而且dotnet如果不定义具体什么类型的变量,是变体型变量的话,在性能上也会受到影响。从性能上来说dotnet和jsp要远远高出php,asp几百倍。

  • 相关阅读:
    'index.js' does not match the corresponding name on disk: '. ode_modules
    onload()方法只能在body标签中调用吗?怎么调用多个多个方法?
    HTML5新属性在Google浏览器中不能显示的问题
    HTML引入JS、CSS的各种方法
    框架、架构、设计模式的区别
    npm 命令 --save 和 --save-dev 的区别
    软件开发的权限控制和权限验证
    报错:Something is already running on port 8000.
    $stateProvider resovle 无法找到的原因
    git 统计代码量 shell脚本
  • 原文地址:https://www.cnblogs.com/netcorner/p/2912458.html
Copyright © 2011-2022 走看看