托管代码和非托管代码效率的对比

托管代码和非托管代码效率的对比

ID:11028140

大小:295.64 KB

页数:7页

时间:2018-07-09

托管代码和非托管代码效率的对比_第1页
托管代码和非托管代码效率的对比_第2页
托管代码和非托管代码效率的对比_第3页
托管代码和非托管代码效率的对比_第4页
托管代码和非托管代码效率的对比_第5页
资源描述:

《托管代码和非托管代码效率的对比》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、托管代码和非托管代码效率的对比。2006-12-0710:14by无常,12026visits, 收藏, 编辑 一直以来只知道托管代码的效率要比非托管代码低,至于低多少也没有可参考的数据。今天在csdn看到的英特尔多核平台编程优化大赛的广告,把里面的代码下载回来,分别用非托管c/托管cpp/c#做了个简略的性能测试,不比不知道,一比吓了一跳。且看数据说话。 第一步:原始代码如:/* compute the potential energy of a collection of *//* particles interacting via pairwise potential  

2、  */ #include #include #include #include #include  #define NPARTS 1000#define NITER 201#define DIMS 3 int rand( void );int computePot(void);void initPositions(void);void updatePositions(void); double r[DIMS][NPARTS];double pot;double distx, disty

3、, distz, dist;int main() {   int i;   clock_t start, stop;   initPositions();   updatePositions();    start=clock();   for( i=0; i

4、rintf ("Seconds = %10.9f",(double)(stop-start)/ CLOCKS_PER_SEC);   int e;   scanf("%d",&e);}  void initPositions() {   int i, j;    for( i=0; i

5、;    for( i=0; i

6、] - r[1][i]), 2 );        distz = pow( (r[2][j] - r[2][i]), 2 );        dist = sqrt( distx + disty + distz );        pot += 1.0 / dist;      }   }   return 0;}执行结果如下:执行时间4.609s。  第二步:托管新建一个C++CLRConsoleAplication,命名为mcpp。打开mcpp.cpp文件,将原始代码粘贴进来即可(代码太长这里就不贴出来了,可以在全贴下面的下载全部源码)。执行结果如下:执行时间:15.17

7、20s。 第二步:c#笔者将原始代码翻译成CS代码,如下:using System;using System.Collections.Generic;using System.Text;namespace cs{    class Program    {        private const int RAND_MAX = 0x7fff;        private const int NPARTS = 1000;        private const int NITER = 20

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。