namespace Benchmark { using System ; using System.Web ; using System.Web.UI ; using System.Threading.Tasks ; public partial class Default : System. Web . UI . Page { Randomrnd = null ; public void Page_Load ( object sender,EventArgse ) { /
namespaceBenchmark
{
usingSystem;
usingSystem.Web;
usingSystem.Web.UI;
usingSystem.Threading.Tasks;
publicpartialclassDefault:System.Web.UI.Page
{
Random rnd=null;
publicvoidPage_Load(objectsender, EventArgs e)
{
//RegisterAsyncTask(new PageAsyncTask(PerformIOasync,PerformIOasync,null,null));
rnd=newRandom();
//Task.Run (new Action (PerformIOasync));
PerformIOasync();
}
publicasyncvoidPerformIOasync()
{
strings="";//generate a random string of 108KB and a random filename
stringfname=rndchar()+rndchar()+rndchar()+rndchar()+".txt";
for(inti=0;i<108000;i++)
{
charch=rndchar();
s+=ch;
}
//write s to a file
//file_put_contents($fname,$s);
varslowTask1=Task.Factory.StartNew(()=>WriteToDisk(fname,s));
await slowTask1;
varSlowTask2=Task.Factory.StartNew(()=>ReadFromDisk(fname,s));
await SlowTask2;
Response.Write(SlowTask2.Result.ToString());
}
privatestringWriteToDisk(stringfname,strings){
System.IO.File.WriteAllText(AppDomain.CurrentDomain.BaseDirectory+fname, s);
return"";
}
privatestringReadFromDisk(stringfname,strings){
returnSystem.IO.File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory+fname);
}
privatecharrndchar()
{
return(char)rnd.Next(65,112);
}
}
}
本文原创发布php中文网,转载请注明出处,感谢您的尊重!