读书人

同一个DLL在两个程序中的处理速度差

发布时间: 2013-11-06 16:26:37 作者: rapoo

同一个DLL,在两个程序中的处理速度差别很大,求助
此DLL专门用来处理数据的,比如在第一个程序中,处理时间为80s;在第二个程序中,处理时间为110s;随着数据量的增加,时间差异会加大。
是什么原因?求助啊 DLL?两个程序?执行速度
[解决办法]
你确定是dll引起的时间差异?也许是调用者本身有问题

另外,dll反应出来的速度差别应该是来源判断分支,调用者的数据如果让dll处理进入耗时长的分支,则耗时必然时间会比较长
[解决办法]

引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

你确定是dll引起的时间差异?也许是调用者本身有问题

另外,dll反应出来的速度差别应该是来源判断分支,调用者的数据如果让dll处理进入耗时长的分支,则耗时必然时间会比较长

两者处理同一份数据


两个程序的代码完全相同?

两个程序都是创建一个线程,然后加载DLL进行数据处理,代码是一样的

看一下两者CPU占用时间等是否相同,应该还是调度等区别
[解决办法]
两个程序中DLL的基地址是否一致排除地址冲突而导到的加载延迟。
1.常规做法,打log。
2.高级方法
用vmmap看一下资源占用情况。
xperf测试性能。
把链接选项的profile打开,用VS2010或以上的性能监视工具Check一下。

读书人网 >VC/MFC

热点推荐