当前位置: 首页 > 编程语言 > C#

C#学习教程:.NET4.5文件读取性能同步与异步共享

时间:2023-04-11 01:41:46 C#

.NET4.5文件读取性能同步与异步我们尝试测量使用同步方法和异步方法读取一系列文件之间的性能。预计两者之间的时间大致相同,但使用异步结果慢了大约5.5倍。这可能是由于管理线程的开销,但只是想听听您的意见。也许我们只是错误地测量了时间。这些是正在测试的方法:staticvoidReadAllFile(stringfilename){varcontent=File.ReadAllBytes(filename);}staticasyncTaskReadAllFileAsync(stringfilename){using(varfile=File.OpenRead(filename)){using(varms=newMemoryStream()){byte[]buff=newbyte[file.Length];等待file.ReadAsync(buff,0,(int)file.Length);}}}这就是运行它们并启动秒表的方法:staticvoidTest(stringname,Funcgettask,intcount){任务[]任务=新任务[计数];sw.开始();for(inti=0;iReadAllFile(filename)),count);Test("异步读取内容",(filename)=>ReadAllFileAsync(filename),count);控制台.ReadKey();}和辅助写入方法:staticvoidWrite(stringfilename){Dataobj=newData(){Header="randomstringsizehere"};整数大小=1024*20;//1024*256;obj.Body=newbyte[size];for(vari=0;i