日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

测试计算机的运行速度

發布時間:2023/12/18 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 测试计算机的运行速度 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

計算機的運行速度主要取決于CPU的頻率,一般CPU的頻率標注為**GHz,例如2.5GHz,在計算機中1Hz代表計算機的CPU在單位時間內運行一次。

?

頻率的換算關系為1GHz=1000MHz;1MHz=一百萬Hz=10^6Hz;

本計算機的頻率為2.5GHz,用換算公式后得到的結果就是25億Hz,但是CPU的過程并不是完成一次加法就是運算一次,CPU內部有各種線程,可能要運行十幾次才能完成一次加法;可以編寫程序測試一下計算機的運行速度,在以下的案例中,分別編寫時間復雜度為O(n)、O(n^2)、O(n*logn)的程序

#include<iostream> #include<chrono> #include<thread> using namespace std; using namespace chrono;//測試時間復雜度為O(n)的程序 void fun1(long long n){long long k = 1;for (long long j = 0; j < n; ++j){k++;} }//測試時間復雜度為O(n^2)的程序 void fun2(long long n){long long k = 1;for (long long i = 0; i < n; ++i) {for (long long j = 0; j < n; ++j) {k++;}} }//測試時間復雜度為O(n*logn)的程序 void fun3(long long n) {long long k = 1;for (long long i = 0; i < n; ++i) {for (long long j = 1; j < n; j = j * 2) {k++;}} }int main() {long long n; //輸入數據的規模while (true) {cout << "輸入:";cin >> n;milliseconds start_time = duration_cast<milliseconds>(system_clock::now().time_since_epoch());fun1(n);milliseconds end_time = duration_cast<milliseconds>(system_clock::now().time_since_epoch());cout << "耗時:" << milliseconds(end_time).count() - milliseconds(start_time).count() << "ms" << endl;} }

解釋以下,為什么fun3的時間復雜度是O(n*logn),外層循環n次、內層循環log2(n)。

O(n)的時間復雜度

也就是說計算五千萬個數量級,耗費時間為136ms(這里計算的是1累加到5千萬);

可以推理,對于O(n^2)的時間復雜度,能計算的數量級要在O(n)的基礎上開根號,

?

?顯然可以得出結論,時間復雜度越低,計算相同數量級數據耗時越少

總結

以上是生活随笔為你收集整理的测试计算机的运行速度的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。