中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Visual C++ > 经验类
VB与VC++大比拼
作者:jyu1221 时间:2001-10-17 10:21 出处:互联网 责编:chinaitpower
              摘要:VB与VC++大比拼

                                         作者:jyu1221(天同)

QQ:19632995
MSN:jyu1108@hotmail.com

 很多人看到这个标题,肯定以为是VC++比VB的性能要好。但是你看了我下面的这个
测试例子,你就会对这个看法有一个180度的转变,不相信的话,你可以看下面的测试数据。
在VB和VC++的对话框上分别都放一个放一个LISTBOX框,然后都放一个按钮,在BUTTON的CLICK
事件里分别都加入50000条记录,记录内容都为"abcdef",其中timeGetTime函数用于记录时间的,
VB中调用的是API,需要定义一下。

在VB中的代码如下:
Private Sub Button1_Click()
 Dim l1 As Long, l2 As Long
 l1 = timeGetTime()
 For i = 1 To 50000
     List1.AddItem "abcdef"
 Next
 l2 = timeGetTime()
 MsgBox l2 - l1
End Sub

在VC中的代码如下:
void CTestDlg::OnButton1()
{
 CListBox *p;
 p = (CListBox *)GetDlgItem(IDC_LIST1);
 long l1 = timeGetTime();
 for(int i=0;i<50000;i++)
 {
  p->AddString("abcdef");
 }
 long l2 = timeGetTime();
 CString str1;
 str1.Format("%d",l2-l1);
 ::MessageBox(NULL,str1,str1,0);
}
以上代码都是最常见的,一般人写的代码都是这个样子的,没有经过优化,
在我的机器上(WIN2000,p3)经过测试,测试结果:

VB/VC比较                   需要的时间
--------------------------------------------------------
VB NATIVE EXE                 3606(大约4秒不到)
VC DEBUG                    185000(大约18秒)
VC RELEASE                   12739(大约13秒)
-------------------------------------------------
结果怎么样,你有没有感到意外。让你意外的还在下面呢,我对VB中的程
序经过优化之后,时间只要1675(大约2秒都不到),添加了2条代码,一条是
List1.visible= false另一条是List1.visible= true 分别放到FOR 循环体的前后。
不相信的话,你可以在你自己的机器上测试一下。可能和我机器上略有不同,但大致
的比例不会差的太大。这就足以说明了,不是大部分人简单的认为,VB比VC的性能差。
    通过这个测试例子,你应该看到了VB的威力了吧,它的速度在某些方面并没有比
VC++差,而是在这个测试例子里,相反的体现了,VB比VC++的速度要快。
   总之,不能简单的认为VB比VC++的速度慢。在某些特殊的应用方便VB的速度比VC要
快,其实这还去决于编程人员的水平,对代码的优化情况。你知道为什么会出现这种
情况吗?其实道理很简单,我使用的是MFC类库,这下你该明白使用MFC的类库,速度
到底有多慢了吧!强列建议你亲自动手测试一下!

 

 

 

 

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有