• 您的位置我爱Aspx >> VC.Net >> C#和C++的速度大比拼(第一部分)
  • C#和C++的速度大比拼(第一部分)

  • 作者:aspxer  来源:internet  日期:2007-5-21 23:49:04  关键字:c#
  • 这个过滤算法是一个古老的寻找素数的方法。因为开发这个算法是为人类所用,因此这个算法很占用CPU资源(非CPU优化),从而能提供非常好的基准反映人为因素。记住,编写程序的总是人。

  • 数据库存取测试

    当今应用程序服务器往往都要用到数据库,所以我觉得用ADO.NET来测试C#的数据库存取性能与用常规ADO测试Visual C++的数据库存取性能进行比较是很能说明问题的一个好方法。

  • XML测试

    XML是一种最新的并且是流行的技术。因此许多人都会对用C# 和Visual C++解析XML的性能感兴趣。

本文不打算对测试结果进行详细解释。在每一项测试中,我首先将用于测试的算法和代码列出来。然后再列出测试结果数据。最后,针对这些数据勾勒出简要的结论。

有一点在测试过程中相当重要,那就是我试图使两个环境的测试代码尽可能相同。这样可以使得测试结果更有说服力。

Hello World

Hello 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脚本。但对于需要长时间处于激活状态的程序,其加载时间相对运行时性能来说就显得并不是那么很重要了。下表是十次测试的结果:

我对这篇文章有话说?
  • 广告位招租,广告代号:content_468_15
  • 上一篇:C#和C++的速度大比拼(二)
    下一篇:关于杠杆长度变化的问题(C问题)