我爱Aspx >> VC.Net >> C#和C++的速度大比拼(第一部分)这个过滤算法是一个古老的寻找素数的方法。因为开发这个算法是为人类所用,因此这个算法很占用CPU资源(非CPU优化),从而能提供非常好的基准反映人为因素。记住,编写程序的总是人。
当今应用程序服务器往往都要用到数据库,所以我觉得用ADO.NET来测试C#的数据库存取性能与用常规ADO测试Visual C++的数据库存取性能进行比较是很能说明问题的一个好方法。
XML是一种最新的并且是流行的技术。因此许多人都会对用C# 和Visual C++解析XML的性能感兴趣。
有一点在测试过程中相当重要,那就是我试图使两个环境的测试代码尽可能相同。这样可以使得测试结果更有说服力。
Hello WorldHello World测试程序主要是评测加载一个程序及其运行时环境所用的时间。C++的程序运行需要C运行库,从所周知,这个库是相当轻量级的。而C#程序的运行必须要加载.NET框架,从目前的情况看,这个框架无庸置疑不是一个轻量级的。
Hello World程序的C++代码如下: 代码一:helloworld.cpp #include <iostream> int main(int argc, char *argv[]) { std::cout << "Hello World" << std::endl; return 0; }; Hello World程序的C#代码如下: 代码二:helloworld2.cs using System; namespace HelloWorld { class Class1 { static void Main(string[] args) { Console.WriteLine("Hello World"); } } } 从这个测试的结果中,我们可以看到程序在相应环境中的加载时间。对于一个只完成简单任务的程序来说,无疑我们需要它能快速加载和退出。Perl脚本是个有代表性的例子,运行这种需要大量的加载时间,从而导致其不能满足基于CGI且面向性能的Web站点的需要。这时,人们常常选择C++程序替Perl脚本。但对于需要长时间处于激活状态的程序,其加载时间相对运行时性能来说就显得并不是那么很重要了。下表是十次测试的结果:
【我对这篇文章有话说?】
Java、C#线程模型分析对比[05-21]
C++语法游戏 : 模仿C#的 using(..[05-21]
使用c#+(datagrid控件)编辑xml文..[05-21]
C#学习笔记[05-21]
深入C#(一)[05-21]
C++、Java/C#之比较[05-21]
C++编程人员容易犯的10个C#错..[05-21]
在C#中如何支持Foreach[05-21]
<b>从Java/J2EE到C#的自动..[05-21]
<b>用C#创建COM对象</b..[05-21]
关于杠杆长度变化的问题(C问题)[05-21]
利用SharpZipLib实现实时zip压缩..[05-21]
简单分析用SPI实现防火墙[05-21]
简单分析用SPI实现防火墙[05-21]
WIN32用户界面设计基础之Cursor篇[05-21]
WIN32用户界面设计基础之Cursor篇[05-21]
程序员手记:简析Java RMI 与 .N..[05-21]
智力游戏九连环的算法[05-21]
一个IE浏览器Explorer Bar的例子[05-21]
如何用C++编程获得某台机器的IP地..[05-21]