代码运行时间的测量方法(linux / windows)

Windows平台下代码运行时间测量方法:

一:毫秒级 GetTickCount()

#include <windows.h>

二:秒级 Time()

#include <time.h>

三:微秒级 QueryPerformanceCounter(&end)

#include <windows.h>

Linux平台下时间测量方法:

一:秒级 C语言库函数time()

二:微秒级 C语言库函数 gettimeofday()

本身时间消耗3ms左右

三:纳秒级 RDTSC指令 时间戳计时器

Intel Pentium以上级别的CPU中,有一个称为“Time
Stamp”的部件,它以64位无符号整形数的格式,精确的记录自CPU上电以来所经过的时钟周期数。时间戳计数器以机器时钟为单位。1时钟周期 = 1秒 /
主频(Hz)。这些CPU中可以使用 RDTSC (Read Time Stamp
Counter)指令来读取,它将时间戳计数器的高32位装入EDX寄存器,低32位存入EAX寄存器。RDTSC指令不被gcc内嵌的汇编直接支持,可采用宏定义来嵌入指令:

#define RDTSC ".byte 0x0f, 0x31\n\t"

时间: 2024-11-09 09:56:01

代码运行时间的测量方法(linux / windows)的相关文章

如何实现在Windows下编写的代码,直接在Linux下编译

方法一: 如何实现在Windows7下编写Linux程序,写完程序以后,不用拷贝文件,直接在Linux(RHEL6.5)机器上编译最新的代码. 1.首先将Windows的代码文件夹设置为共享文件夹: 2.在RHEL6.5上,利用mount命令把Win7下的文件夹给mount到本地的一个文件夹 其中192.168.59.1是Win7的OS,VMTool是本地的一个文件夹. 3. 在~/.bash_profile中添加如下行,这样每次启动的时候,就会自动mount这个文件夹. mount  //19

高效编程——C++测试代码运行时间方法

C++测试代码运行时间方法 方法一 最常用的执行时间测试方法,利用clock函数,精确度能达到ms级. 直接看代码吧,这样最直观: #include "stdafx.h" #include <ctime> #include <vector> #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]){ clock_t start,finish; long

php代码上传到linux服务器无法正常显示

近期接手了一个PHP开发的项目,一直想搞个LVS管理的工具,却一直没动力去做,这次就当是学习和为了以后工作的方便吧.开发过程中遇到这么一个问题,情况如下: 情况:在windows下写好的代码,上传在Linux服务器上测试不成功,页面无显示. 解决办法:打开php的error_log,观察错误日志 1. 修改php-fpm.conf中配置 没有则增加 catch_workers_output = yes error_log = log/error_log 2. 修改php.ini中配置,没有则增加

【C&amp;C++】查看代码运行时间

查看代码运行时间有助于更好地优化项目代码 1. Windows平台 windows平台下有两种方式,精度有所不同,都需要包含<windows.h>头文件 1) DWORD GetTickCount(void); 返回毫秒数 官方文档:(3/28/2014) msdn For Release configurations, this function returns the number of milliseconds since the device booted, excluding any

使用VS Code配合Remote Development插件连接远程服务器(Mac/Linux+Windows) | Using VS Code with Remote Development Connect to Remote Server (Mac/Linux+Windows)

最新版VS Code(2019年6月)出了一系列新的插件,包括Remote Development,Remote SSH等,使得用户可以使用VS Code远程连接服务器写代码,方便了协同工作.具体配置(Mac/Linux, Windows)操作如下: 1.首先,在插件市场中搜索这些插件,安装Remote Development即可将一系列插件,包括Remote SSH等一同安装. 2.接下来需要生成ssh的key. 打开命令行,输入: ssh-keygen -t rsa -b 4096 接下来,

个人项目-WC(C/C++ Linux/Windows)

1. Github地址 https://github.com/S-TRAVELER/WC 2. PSP表格 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 20 20 · Estimate · 估计这个任务需要多少时间 20 20 Development 开发 1370 1405 · Analysis · 需求分析  80 80 · Design Spec · 生成设计文档 60 50 · Design

linux & windows porting

1. linux   int snprintf(char *restrict buf, size_t n, const char * restrict   format, ...); windows  int _snprintf( 2. 头文件都是string. h windows平台:函数:stricmp(char *str1, char *str2), strnicmp(char *str1, char *str2, size_t n).Linux平台: 函数:strcasecmp(char

用Wireshark抓包来揭开ftp client GG和ftp server MM的勾搭内容并用C代码来简要模拟实现Windows自带的ftp client

前面, 我们玩过http, 颇有点意思, 在本文中, 我们继续来玩ftp(file transfer protocol).   http和ftp都是建立在tcp之上的应用层协议, 无论他们怎么包装, 怎么装bigger, 最终还是基于tcp端到端传输的.本文主要分为两个部分: 一. 用Wireshark抓包来揭开ftp client GG和ftp server MM的勾搭内容.二.用C代码来简要模拟实现Windows自带的ftp client. 说明, 本文中的实验, 我用了两台电脑, 分别是p

Linux Windows对NTFS移动盘的写入

一块西数1G的移动盘(2.5寸),厂家格式化为NTFS格式的文件系统.    最先挂到Windows 7机器上,拷入50G的文件,主要为MKV封装的电影和对应的字幕文件.刚开始拷速度很快,大约70M/秒,但是很快就降到32M/秒左右.拷贝完成后立即拔下,移动盘烫手.    后来挂到Ubuntu(版本14.04)下,也拷贝50G的视频文件,一开始的速度就在30M/秒的样子,很稳定.拷完立即拔盘,移动盘不热,甚至都不温.    这两台机器配置有差异,Windows 7更高,并且差别很大.如果想比较速