1. 程式人生 > >Linux 下使用clock_gettime給程式計時詳解

Linux 下使用clock_gettime給程式計時詳解

1 #include <iostream>2 #include <time.h>3 usingnamespace std;
4 5 timespec diff(timespec start, timespec end);
6 7 int main()
8 {
9 timespec time1, time2;
10 int temp;
11 clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &time1);
12 for (int i =0; i<242000000; i++)
13 temp+=temp;
14 clock_gettime(CLOCK_PROCESS_CPUTIME_ID,
&time2);
15 cout<<diff(time1,time2).tv_sec<<":"<<diff(time1,time2).tv_nsec<<endl;
16 return0;
17 }
18 19 timespec diff(timespec start, timespec end)
20 {
21 timespec temp;
22 if ((end.tv_nsec-start.tv_nsec)<0) {
23 temp.tv_sec = end.tv_sec-start.tv_sec-1;
24 temp.tv_nsec =1000000000+end.tv_nsec
-start.tv_nsec;
25 } else {
26 temp.tv_sec = end.tv_sec-start.tv_sec;
27 temp.tv_nsec = end.tv_nsec-start.tv_nsec;
28 }
29 return temp;
30 }

相關推薦

Linux 使用clock_gettime程式計時

1 #include <iostream>2 #include <time.h>3 usingnamespace std;4 5 timespec diff(timespec start, timespec end);6 7 int main()8 {9 timespec time

Linux安裝軟件命令

代碼包 相關信息 make bin 一個 軟件包 輸入 -i bin文件 Linux下軟件安裝方法總結:一、rpm包安裝方式步驟:1、找到相應的軟件包,比如soft.version.rpm,下載到本機某個目錄;2、打開一個終端,su -成root用戶;3、cd soft.v

Linux徹底卸載mysql

安裝mysql nod lib 嘗試 機器 需要 結果 files str Linux下徹底卸載mysql詳解 一、使用以下命令查看當前安裝mysql情況,查找以前是否裝有mysql 1 rpm -qa|grep -i mysql 可以看到如

Linux的監控器之一Ganglia與部署

集群 服務器 監控器 Ganglia基礎詳解Ganglia介紹 Ganglia是一個跨平臺可擴展的,高性能計算系統下的分布式監控系統,如集群和網格。它是基於分層設計,它使用廣泛的技術,如XML數據代表,便攜數據傳輸,RRDtool用於數據存儲和可視化。它利用精心設計的數據結構和算法實現每節點間並發

LINUX分區命令Parted

運行 script mbr gpt分區 ble 版本號 may was mkpart 通常劃分分區工具我們用的比較多是fdisk命令,但是現在由於磁盤越來越廉價,而且磁盤空間越來越大。而fdisk工具他對分區是有大小限制的,它只能劃分小於2T的磁盤。現在的磁盤

linuxlast與lastb命令

bubuko 使用 文件的 clas ip地址 tty 遠程 默認 讀取 在linux系統中,last與lastb命令用來列出目前與過去登錄系統的用戶相關信息。指令英文原義: last, lastb - show listing of last logged in user

Linux的ioctl()函數

ESS dwr 非阻塞 cmd命令 設備 ada 增加 argc com 我這裏說的ioctl函數是指驅動程序裏的,因為我不知道還有沒有別的場合用到了它,所以就規定了我們討論的範圍。寫這篇文章是因為我前一陣子被ioctl給搞混了,這幾天才弄明白它,於是在這裏清理一下頭腦。

linuxjdk& tomcat安裝

tex 長度 apache 訪問 stty inline lac -name tomcat 一、安裝tomcat前首先要安裝對應的jdk並配置Java環境。 1.下載jdk 2.在usr目錄下建立java安裝目錄 cd /usr //進入usr目錄 mkdir java /

Linuxfdisk命令操作磁碟--新增、刪除、轉換分割槽等

linux下fdisk命令操作磁碟詳解--新增、刪除、轉換分割槽等 fdisk 操作硬碟的命令格式如下: [[email protected] beinan]# fdisk 裝置 比如我們通過 fdisk -l 得知 /dev/hda 或者 /dev/sda 裝置;我們如果想再

linuxuseradd命令新增使用者

1.作用 useradd命令用來建立使用者帳號和建立使用者的起始目錄,使用許可權是超級使用者。   2.格式   useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p

Linux開機啟動python指令碼

應用場景: 最近在伺服器上部署一些指令碼,需要讓其隨伺服器開機啟動,於是研究了一下,begin . . . 解決方法: 1. 先準備好需要開機啟動的指令碼 /root/test/qin.py 2. 一定root許可權編輯檔案/etc/rc.local,在exit 0之

LinuxMongoDB安裝和配置

1、建立MongoDB的安裝路徑 在/usr/local/  建立資料夾mongoDB 2、上傳檔案到Linux上的/usr/local/source目錄下 3、解壓檔案 進入到/usr/local/source目錄,執行如下命令:  tar -zxvf m

[轉載]Linux的cut選取命令

定義 正如其名,cut的工作就是“剪”,具體的說就是在檔案中負責剪下資料用的。cut是以每一行為一個處理物件的,這種機制和sed是一樣的 剪下依據 cut命令主要是接受三個定位方法: 第一,位元組(bytes),用選項-b 第二,字元(characters)

Linux的scp拷貝命令

相同Linux系統中對檔案複製拷貝可以用CP命令: cp [options] source dest cp [options] source… directory 說明:將一個檔案拷貝至另一檔案,或將數個檔案拷貝至另一目錄。 -a 儘可能將檔案狀態、許可權等資料

LinuxMongoDB安裝和配置(一)

一、MongoDB的安裝 1.下載安裝包 下載方式: curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.9.tgz 解壓縮壓縮包: tar zxvf mongodb-linux-x

Linux 的dd命令使用(摘錄)

一、dd命令的解釋 dd:用指定大小的塊拷貝一個檔案,並在拷貝的同時進行指定的轉換。 注意:指定數字的地方若以下列字元結尾,則乘以相應的數字:b=512;c=1;k=1024;w=2 引數註釋: 1. if=檔名:輸入檔名,預設為標準輸入。即指定原始檔。< if

Linux可執行檔案格式

Linux下面,目標檔案、共享物件檔案、可執行檔案都是使用ELF檔案格式來儲存的。程式經過編譯之後會輸出目標檔案,然後經過連結可以產生可執行檔案或者共享物件檔案。Linux下面使用的ELF檔案和Windows作業系統使用的PE檔案都是從Unix系統的COFF檔案格式演化來的

linuxssh服務、配置

實現原理 “公私鑰”認證的方式來進行ssh登入 “公私鑰”認證方式簡單的解釋是: 首先在客戶端上建立一對公私鑰 (公鑰檔案:~/.ssh/id_rsa.pub; 私鑰檔案:~/.ssh/id_rsa),然後把公鑰放到伺服器上(~/.ssh/authori

linux:SUID、SGID

備註: SUID:對二進位制檔案有效。 那麼SGID的功能是什麼呢?和SUID一樣,只是SGID是獲得該程式所屬使用者組的許可權。 這相SGID有幾點需要我們注意: 1、SGID對二進位制程式有用; 2、程式執行者對於該程式來說,需具備x的許可權; 3、SGID主要用在目錄上; 理解了SUID,我想SGID

Linux的sort排序命令(二)

有時候學習指令碼,你會發現sort命令後面跟了一堆類似-k1,2,或者-k1.2 -k3.4的東東,有些匪夷所思。今天,我們就來搞定它—-k選項! 1 準備素材 [[email protected] opt]# cat testsort.txt google