2014年4月10日 星期四

[C#] 測速用~~



  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI;
  6. using System.Web.UI.WebControls;
  7. using HtmlAgilityPack;
  8. using System.Net;
  9. using System.IO;
  10. using System.Threading;
  11. using System.Diagnostics;
  12.  
  13.  
  14. namespace NoSave.web
  15. {
  16.     public partial class Static : System.Web.UI.Page
  17.     {
  18.         protected void Page_Load(object sender, EventArgs e)
  19.         {
  20.  
  21.         }
  22.  
  23.      
  24.  
  25.         protected void btnAll_Click(object sender, EventArgs e)
  26.         {
  27.             //指定要抓取的網頁
  28.             string strURI = "http://tw.stock.yahoo.com/q/q?s=2002";
  29.  
  30.             //Agility
  31.             //----------------------------------
  32.             HtmlDocument hdoc = new HtmlDocument();
  33.  
  34.             HtmlWeb hw = new HtmlWeb();
  35.             //處理編碼問題
  36.             hw.AutoDetectEncoding = false;
  37.             hw.OverrideEncoding = System.Text.Encoding.Default;
  38.             Stopwatch stop_Agility = new Stopwatch();
  39.  
  40.             //計時開始
  41.             stop_Agility.Start();
  42.             hdoc = hw.Load(strURI);
  43.             stop_Agility.Stop();
  44.             //計時結束
  45.             TimeSpan ts = stop_Agility.Elapsed;            
  46.             string str_Agility=string.Format("{0:00}:{1:00}:{2:00}:{3:00}", ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds / 10);
  47.  
  48.  
  49.             //WebRequest
  50.             //----------------------------------
  51.             System.Net.WebResponse response = null;
  52.             Stopwatch stop_WebRequest = new Stopwatch();
  53.  
  54.             //計時開始
  55.             stop_WebRequest.Start();
  56.             System.Net.WebRequest request = System.Net.WebRequest.Create(strURI);
  57.             response = request.GetResponse();
  58.             //計時結束
  59.             stop_WebRequest.Stop();
  60.  
  61.             ts = stop_WebRequest.Elapsed;
  62.             string str_WebRequest=string.Format("{0:00}:{1:00}:{2:00}:{3:00}", ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds /10);
  63.            
  64.  
  65.             //WebClient
  66.             //----------------------------------
  67.             Stopwatch stop_Client = new Stopwatch();
  68.  
  69.             //計時開始
  70.             stop_Client.Start();
  71.             WebClient client = new WebClient();
  72.             MemoryStream ms = new MemoryStream(client.DownloadData(strURI));
  73.             //計時結束
  74.             stop_Client.Stop();
  75.             ts = stop_Client.Elapsed;
  76.             string str_Client=string.Format("{0:00}:{1:00}:{2:00}:{3:00}", ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds / 10);
  77.  
  78.  
  79.             //印出統計結果
  80.             Response.Write(string.Format("<br>Total:<br><table><tr><th align='right'>HtmlWeb.Load():</th><td>{0}</td></tr><tr><th align='right'>WebRequest.GetResponse():</th><td>{1}</td></tr><tr><th align='right'>WebClient.DownloadData():</th><td>{2}</td></tr></table", str_Agility, str_WebRequest, str_Client));
  81.  
  82.  
  83.         }
  84.     }
  85. }

沒有留言:

張貼留言