问一个高难度的问题,高手菜鸟都请进,up有分!

mmvr 2003-07-24 08:14:06
本人做了一个程序,对一组文档(全部是txt文件)用A、B、C三种不同方法进行检索,方法的选择用界面上的radiobutton控制,每种检索方法所用时间在检索完毕后显示在界面上。检索时间计算方法确认无误,单位精确到ticks。

现在的问题是:只有第一次开始检索的时候得到的检索时间比较可信,用任意方法检索过一次以后,无论再用什么检索方法,检索时间都相同,且时间很短,有时候竟然为零。这样三种检索方法就没有了可比性。

我分析有可能是.net framework或者是windows的缓存机制的问题。请高手们帮我分析一下,看有没有解决的方法。
...全文
36 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
xixigongzhu 2003-07-24
  • 打赏
  • 举报
回复
"一般达到7位数时间差就比较稳定了"是指时间差达到7位数
ddy2000 2003-07-24
  • 打赏
  • 举报
回复
同意xixigongzhu(夕夕公主)说法,一般.net框架初始化,除了非常大的数据量一般是看不出时间差别的

还是接分吧
xiaoyuerisdahai 2003-07-24
  • 打赏
  • 举报
回复
up.
接分。谢谢!
niqiu322 2003-07-24
  • 打赏
  • 举报
回复
gz
fatlity 2003-07-24
  • 打赏
  • 举报
回复
up
qqsyb 2003-07-24
  • 打赏
  • 举报
回复
up
liduke 2003-07-24
  • 打赏
  • 举报
回复
学习。。。
flying120 2003-07-24
  • 打赏
  • 举报
回复
up
minajo21 2003-07-24
  • 打赏
  • 举报
回复
不明,楼主是怎样计算时间的?
firejie 2003-07-24
  • 打赏
  • 举报
回复
UP,我是来学习的。
xixigongzhu 2003-07-24
  • 打赏
  • 举报
回复
是这样的,除了加密时速度很明显之外,其它的一般速度都很快,循环几千次还没有时间差。
第一次因为初始化(.net初始化)的问题所以速度相对慢了一些。

因为我是搞测试的,所以经常遇到这样的,有个时候循环1000万次还看不到明显的时间。

你可以增加循环次数,直到时间很明显。一般达到7位数时间差就比较稳定了。

如果循环100万次还没有明显的时间差,就不要增加循环次数了,因为即使你增加出来的时间差也是循环本身所用的时间。

形式类似:
CompareInfo ci = CompareInfo.GetCompareInfo("en-us");
long t1=System.DateTime.Now.Ticks;
for (long i = 1; i <= 100000; i++)
{
ci.IsPrefix("hoa are ew","h");
}
long t2=System.DateTime.Now.Ticks;
Console.WriteLine("IsPrefix(String,String) method:{0} 100-ns",t2-t1);
visualcpu 2003-07-24
  • 打赏
  • 举报
回复
你有没有获取最新的检索时间或没有更新重新检索时间
zhcyidea 2003-07-24
  • 打赏
  • 举报
回复
up
xmxjh 2003-07-24
  • 打赏
  • 举报
回复
up
mmvr 2003-07-24
  • 打赏
  • 举报
回复
谢谢各位,结帐,给分。

111,115

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧