首页
讨论区
新职位
搜索论坛
什么's new
新职位
新的个人资料帖子
最新活动
会员
目前的访客
新的个人资料帖子
搜索个人资料帖子
VB.NET社区
登录
登记
什么's new
搜索
搜索
仅搜索标题
经过:
新职位
搜索论坛
Menu
Log in
Register
安装应用
安装
首页
讨论区
C#
C#一般讨论
矩阵与物场的相对速度。
您正在使用过期的浏览器。它可能无法正确显示此网站或其他网站。
您应该升级或使用
替代浏览器
.
回复主题
信息
<blockquote data-quote ="SilverShaded" data-source="post: 17786" data-attributes="member: 12508"><p>在某些背景下,我不是工程师,也不是专业程序员,所以对任何愚蠢的问题表示歉意。 我有一个计算量大的程序,我想加快速度。 我的理解(来自阅读论坛)是C#针对锯齿状数组进行了优化,但是下面的测试似乎没有说明。 If i'我做错了事,请让我知道,使用托盘对象(可能是任何中等复杂的对象)的测试似乎太快了,代码是否有问题?</p><p></p><p>我在调试中获得的相对速度为: (Note: 我只是意识到时间包括数组感染,但是没关系,数组将在程序中多次清除或重新初始化)。</p><p></p><p>对象/字段访问0ms</p><p>锯齿状阵列访问87ms</p><p>普通阵列访问12ms</p><p></p><p>如果我不算初始化数组,我分别得到0、7和7毫秒。</p><p></p><p></p><p></p><p>[CODE = csharp] var watch = Stopwatch.StartNew();</p><p>double res=0;</p><p>int count = 10000;</p><p>托盘托盘=列[0] [4];</p><p>for (int i = 0; i < count; i++)</p><p>{</p><p> 托盘=列[0] [4];</p><p> tray.T = i;</p><p> res = tray.T;</p><p>}</p><p>watch.Stop();</p><p></p><p>var elapsedMs = watch.ElapsedMilliseconds;</p><p>Debug.WriteLine(&”列解决时间1毫秒:" + elapsedMs.ToString()+" " + res.ToString());</p><p>MessageBox.Show("Object Field" + elapsedMs.ToString());</p><p></p><p></p><p>观看= Stopwatch.StartNew();</p><p>double res2 = 0;</p><p>int count2 = count;</p><p>double [] []托盘1 =新的double [count2] [];</p><p>for (int i = 0; i < count2; i++)</p><p> tray1 =新的double [count2];</p><p></p><p>for (int i = 0; i < count2; i++)</p><p>{</p><p> tray1 = i;</p><p> res2 = tray1;</p><p>}</p><p>watch.Stop();</p><p></p><p>elapsedMs = watch.ElapsedMilliseconds;</p><p>Debug.WriteLine(&”栏解决时间2毫秒:" + elapsedMs.ToString()+" " + res2.ToString());</p><p>MessageBox.Show("Jagged Matix" + elapsedMs.ToString());</p><p></p><p>观看= Stopwatch.StartNew();</p><p>double res3 = 0;</p><p>int count3 = count;</p><p>double [,] tray3 =新的double [count3,count3];</p><p></p><p>for (int i = 0; i < count3; i++)</p><p>{</p><p> tray3 [i,i] = i;</p><p> res3 =托盘3 [i,i];</p><p>}</p><p>watch.Stop();</p><p></p><p>elapsedMs = watch.ElapsedMilliseconds;</p><p>Debug.WriteLine(&”列解决时间3毫秒:" + elapsedMs.ToString()+" " + res3.ToString());</p><p>MessageBox.Show("Matix" + elapsedMs.ToString());[/CODE]</p></blockquote><p></p>
Insert quotes…
确认
发表回复
首页
讨论区
C#
C#一般讨论
矩阵与物场的相对速度。
本网站使用Cookie来帮助个性化内容,调整您的体验并在注册时保持登录状态。
继续使用本网站,即表示您同意我们使用cookie。
接受
了解更多…
最佳
底部