Visual Basic 6代码如下:
Dim n1 As Long
Dim n2 As Long
Dim n3 As Long
Dim n4 As LongFor n1 = 0 To 100000
    n4 = 0
    Do While n2 > 1000
        n3 = n4 + n3
        n2 = n2 + 1
        n4 = n4 + n2
    Loop
NextVisual C++ 代码如下:
int n1 = 0, n2 = 0, n3 = 0, n4 = 0;for (n1 = 0; n1 < 100000; n1++)
{
    n4 = 0;
    while (n2 > 1000)
    {
        n3 += n4;
        n2++;
        n4 += n2;
}
C++ 比 Basic 快 10 倍以上!而且同样VC程序 Pentium 4 2.53B 比 Athlon64 3200+ 快!

解决方案 »

  1.   

    vb编译成exe了吗?有无打开优化选项?我想,64位的cpu应该用64位的操作系统,64位的程序才有优势
      

  2.   

    VB当然速度上比C差远了,比汇编差更多,我以前用汇编写了一个字节变换加密程序,对文件字节加密变换,跟COPY差不多速度,而用QBAISC,同样的算法,读字节-》变换-》写字节。感觉何止慢10倍?好象50倍还不止。我想VB也一定很慢。
    用VB做MIS还可以的,进行算法优化,速度还可以接受。
      

  3.   

    vb 说起来,有点和 Java 程序运行在解释层上,所以一般速度要差些,不奇怪但是不会差太多
      

  4.   

    掉了两个字:vb 说起来,有点和 Java 程序类似
      

  5.   

    jxgzay(jxgzay) ,QBASIC能跟Vb比吗?
    qbasic是解释型的,vb是内码编译的。
    虽然vb6编译后有些罗嗦,比c/c++或delphi慢1%左右,但相对于节省的开发时间,基本不用考虑。现在的电脑比10年前快多少?现在的内存比以前大多少?浪费点没啥。
      

  6.   

    如果你搞大型科学计算\超级人工智能等 用c/c++ 汇编 最好在基于unix内核做个操作系统 让你的程序在上面跑一定快 (机器最好是银河级的)
    如果你搞桌面开发 vb delphi都一样 想想看 vb delphi是什么语言写的?
      

  7.   

    你还是用VB写外表程序比较好一点!用C++开发底层应用程序!
      

  8.   

    VB用VC写的,Delphi用Delphi写的,VC用VC写的。
      

  9.   

    现在有几款流行的财务软件,都是用VB做的,也没听哪个会计师说程序慢了。
    VB的运行效率没那么夸张的慢。
      

  10.   

    搂主VB的代码好像比VC的多循环一次耶~
      

  11.   

    VB用VC写的,Delphi用Delphi写的,VC用VC写的??????不明白在没有VC出来之前VC用什么写的?感觉按照现在机器的配置,基本差不了多少吧。
      

  12.   

    太夸张了,快十倍?
    VC是用C++写的,C++用C实现。
      

  13.   

    Dim n1 As Long
    Dim n2 As Long
    Dim n3 As Long
    Dim n4 As LongFor n1 = 0 To 100000   {a}
    n4 = 0
    Do While n2 > 1000     {b}
    n3 = n4 + n3
    n2 = n2 + 1
    n4 = n4 + n2
    Loop
    NextVisual C++ 代码如下:
    int n1 = 0, n2 = 0, n3 = 0, n4 = 0;for (n1 = 0; n1 < 100000; n1++)
    {
    n4 = 0;
    while (n2 > 1000)
    {
    n3 += n4;
    n2++;
    n4 += n2;
    }你的代码问题多多呀!1.For n1 = 0 To 100000        循环 100001 遍;0 - 100000
     而for (n1 = 0; n1 < 100000; n1++)  循环 100000 遍,差了一遍呀。 0 - 999992.while循环前没有给 n2 清零,那么第二次的for循环 n2 不就已经大于 1000  了吗?3. VB里,按F5 是解释执行,只有编译成exe文件后,才是编译执行,不知道楼主是否注意到了这一点。