亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java Stopwatch類之性能與時間計時器的示例分析

發布時間:2021-09-09 14:29:25 來源:億速云 閱讀:159 作者:柒染 欄目:開發技術

本篇文章為大家展示了Java Stopwatch類之性能與時間計時器的示例分析,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

  在研究性能的時候,完全可以使用Stopwatch計時器計算一項技術的效率。但是有時想知道某想技術的性能的時候,又常常想不起可以運用Stopwatch這個東西,太可悲了。

屬性:

Elapsed       獲取當前實例測量得出的總運行時間。
ElapsedMilliseconds  獲取當前實例測量得出的總運行時間(以毫秒為單位)。
ElapsedTicks      獲取當前實例測量得出的總運行時間(用計時器計時周期表示)。
IsRunning        獲取一個指示 Stopwatch 計時器是否在運行的值。

方法

GetTimestamp   獲取計時器機制中的當前最小時間單位數。
Reset        停止時間間隔測量,并將運行時間重置為零。
Restart       停止時間間隔測量,將運行時間重置為零,然后開始測量運行時間。
Start         開始或繼續測量某個時間間隔的運行時間。
StartNew       對新的 Stopwatch 實例進行初始化,將運行時間屬性設置為零,然后開始測量運行時間。
Stop         停止測量某個時間間隔的運行時間。

示例:

static void Main(string[] args)
        {
            Stopwatch sw = new Stopwatch();
            sw.Start();     //開始計時
            WebClient wc = new WebClient();
            string str = wc.DownloadString("http://www.jmeii.com/");
            Console.WriteLine(sw.IsRunning);    //輸出 true   計時器是否在運行。
            sw.Stop();      //計時結束
            Console.WriteLine(sw.Elapsed);      //輸出 00:00:00.3452873
            Console.WriteLine(sw.ElapsedMilliseconds);  //輸出 223
            Console.WriteLine(sw.ElapsedTicks); //輸出501838
            Console.WriteLine(sw.IsRunning);    //輸出 flase

            Console.WriteLine(Stopwatch.GetTimestamp());   //輸出56151531319  獲取計時器機制中的當前最小時間單位數。

            sw.Reset(); //重置
            Console.WriteLine(sw.Elapsed.ToString());   //輸出 00:00:00   //返回的是TimeSpan類型,可以任意處理

            sw.Restart();   //重新開始
            FileStream fs = new FileStream(@"D:\admin_b.txt", FileMode.Open, FileAccess.Read);
            //string str = 
            byte[] byteArr = new byte[fs.Length];
            fs.Read(byteArr, 0, (int)fs.Length);
            Stopwatch sw2 = Stopwatch.StartNew();       //創建一個新的計時器
            string str2 = Encoding.UTF8.GetString(byteArr);
            sw.Stop();
            Console.WriteLine(sw.ElapsedMilliseconds);  //輸出 10
            Console.WriteLine(sw2.ElapsedMilliseconds); //輸出 9
            sw2.Stop();
            
            Console.ReadKey();
        }

  對比FileStream與File類:

static void Main(string[] args)
        {
            Stopwatch sw = new Stopwatch();
            sw.Start();
            FileStream fs = new FileStream(@"D:\admin_b.txt", FileMode.Open, FileAccess.Read);
            //string str = 
            byte[] byteArr = new byte[fs.Length];
            fs.Read(byteArr, 0, (int)fs.Length);
            string str = Encoding.UTF8.GetString(byteArr);
            sw.Stop();
            Console.WriteLine(sw.ElapsedMilliseconds);  //輸出 12

            Stopwatch sw2 = new Stopwatch();
            sw2.Start();
            File.ReadAllText(@"E:\admin_b.txt");
            sw2.Stop();
            Console.WriteLine(sw2.ElapsedMilliseconds); //輸出 11

            Console.ReadKey();
        }

  Linq示例:

public class Program
    {
        static void Main(string[] args)
        {
            //獲取到一個隨機數集合
            List<int> ListInt = new List<int>();
            Random r = new Random();
            for (int i = 0; i < 1000000; i++)       //生成一個1百萬數字的集合
            {
                ListInt.Add(r.Next(1000));
            }

            Stopwatch sw = new Stopwatch();
            sw.Start();
            int count = 0;
            foreach (var i in ListInt)
            {
                count = count + i;          
            }
            Console.WriteLine("遍歷計算結果:" + count);       
            sw.Stop();
            Console.WriteLine("遍歷用時:" + sw.ElapsedMilliseconds);    //輸出 13

            Stopwatch sw2 = new Stopwatch();
            sw2.Start();
            int count2 = 0;
            count2 = ListInt.Sum();
            Console.WriteLine("Linq的計算結果:" + count2);
            Console.WriteLine("Linq的使用時間:" + sw2.ElapsedMilliseconds);  //輸出 12
            sw2.Stop();

            Console.ReadKey();
        }
    }

  運行了3,5次,Linq的性能的確厲害。有幾次相等,有幾次少1毫秒。看來Linq to OBJECT還真是靠譜。效率,優雅度都相當好,不愧是高手做的控件。

上述內容就是Java Stopwatch類之性能與時間計時器的示例分析,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

行唐县| 永平县| 建德市| 通山县| 佛坪县| 天等县| 旌德县| 澜沧| 毕节市| 江口县| 金寨县| 左云县| 防城港市| 汤阴县| 司法| 长寿区| 石家庄市| 荆州市| 香港| 仁怀市| 中阳县| 青阳县| 金门县| 桂阳县| 马关县| 永德县| 吴堡县| 南江县| 麻江县| 大英县| 遂宁市| 固镇县| 永吉县| 榆中县| 鹤岗市| 昭苏县| 丁青县| 江西省| 福清市| 林芝县| 湖州市|