在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1、首先写一个Go语言的简单WEB程序,就返回一个HelloWord! package main import ( f "fmt" "log" "net/http" // "strings" ) func sayhelloName(w http.ResponseWriter, r *http.Request) { // r.ParseForm() // f.Println(r.Form) // f.Println("path", r.URL.Path) // f.Println("scheme", r.URL.Scheme) // f.Println(r.Form["url_long"]) // for k, v := range r.Form { // f.Println("key:", k, "val:", strings.Join(v, "、")) // } f.Fprintln(w, "hello world!") } func main() { http.HandleFunc("/", sayhelloName) err := http.ListenAndServe(":8080", nil) if err != nil { log.Fatal("ListenAndServe:", err) } }
2、建一个Asp.net的Handler1.ashx的一般处理程序,并运行于IIS中。 using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace TESTWeb { /// <summary> /// Handler1 的摘要说明 /// </summary> public class Handler1 : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.Write("hello world!"); } public bool IsReusable { get { return false; } } } }
3、用C#写一个控制台程序,用来模拟发起10000次请求时,速度比较: using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Text; namespace TESTSpeed { class Program { static void Main(string[] args) { WebClient wc = new WebClient(); DateTime dt1 = DateTime.Now; for (int i = 0; i < 10000; i++) { var result = wc.DownloadString("http://localhost:48563/handler1.ashx?t=" + DateTime.Now.Ticks); } DateTime dt2 = DateTime.Now; Console.WriteLine("Asp.net一般处理程序用时:" + (dt2 - dt1).TotalMilliseconds); WebClient wc2 = new WebClient(); DateTime dt3 = DateTime.Now; for (int i = 0; i < 10000; i++) { var result = wc2.DownloadString("http://127.0.0.1:8080/?t=" + DateTime.Now.Ticks); } DateTime dt4 = DateTime.Now; Console.WriteLine("Go语言用时:" + (dt4 - dt3).TotalMilliseconds); } } }
4、测试结果: Go语言用时:811.0464ms Asp.net一般处理程序:14017.8017ms 5、结论:Go不是一般的快!!!!相差了17倍!!!
|
请发表评论