程序运行时间测试 - 使用libc 中 time 函数 实现秒级的运行时间检测
c 标准库中,有time 函数,可以返回 1970年1月1日 开始到现在的秒数,我们可以调用两次的时间差来计算程序运行时间:
https://github.com/yaowenxu/Workplace/blob/master/timer/timetimer.c
NAME
time -- get time of day LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <time.h> time_t
time(time_t *tloc); DESCRIPTION
The time() function returns the value of time in seconds since hours, minutes, seconds, January , , Coordinated Univer-
sal Time, without including leap seconds. If an error occurs, time() returns the value (time_t)-. The return value is also stored in *tloc, provided that tloc is non-null.
time函数说明
/**
* Author: Yaowen Xu
* Github: https://github.com/yaowenxu
* Organization: 北航系统结构研究所
* Date: 2019-08-18 13:03:53
* LastEditTime: 2019-08-18 13:14:33
* Description: 使用 C 语言库 time 函数 对程序运行计时 以秒为单位
*/ #include <time.h>
#include <stdio.h>
#include <math.h> int str2int(char* str){
char *p = str;
int sum = ;
while (*p != '\0')
{
sum = sum* + (*p-'');
p++;
}
return sum;
} int main(int argc, char* argv[]){
time_t start, stop; // time_t aka long
int def = ;
if (argc == )
{
def = str2int(argv[argc-]);
}
start = time(NULL);
for (int i = ; i < def ; i++)
{
float tmp = sqrt(i);
}
stop = time(NULL);
time_t total = stop - start; // 使用运行的时间 以秒为单位
printf("Start: %ld s\n", start);
printf("Stop: %ld s\n", stop);
printf("Time: %ld s\n", total); // 总共使用的时钟
return ;
}
保持更新,如果对您有帮助,请点击推荐!更多关于C语言相关的知识,请关注 cnblogs.com/xuyaowen
程序运行时间测试 - 使用libc 中 time 函数 实现秒级的运行时间检测的更多相关文章
- 程序运行时间测试 - 使用libc 中 clock 函数
我们运行程序的时候,可以简单使用clock函数测试程序的运行时间:(本示例中以微秒为单位输出) https://github.com/yaowenxu/Workplace/blob/master/ti ...
- 关于控制台程序下使用mfc库中的函数时断言
例如: TCHAR path[8192]; int len = getmodulefilename(afxgetinstancehandle(),path,8192);//会出现断言 如果没有选择支持 ...
- 用VBA在PowerPoint中实现日期时间秒级动态显示
'*********************************************************** 使用说明 ********************************** ...
- c/c++中sleep()函数毫秒级的实现
近期看到好多人在问.c/c++中的sleep函数是秒级的,能不能实现毫秒级的呢?当然非常easy.我的写法例如以下 #include <stdio.h> #include <sys/ ...
- 程序代码中退出函数exit()与返回函数return ()的区别
程序代码中退出函数exit()与返回函数return ()的区别 exit(0):正常运行程序并退出程序: exit(1):非正常运行导致退出程序: return():返回函数,若在主函数 ...
- 【微信小程序】小程序中的函数节流
大ga吼! 很久没写博客咯,今天学到了一点新知识, 记录分享一下~ 摘要: 小程序中的函数节流 场景: 从商城列表进入商品详情中时,或者生成,提交订单, 付款的时候, 若用户快速点击(一秒8键,母胎s ...
- 《java并发编程实战》读书笔记9--并发程序的测试
第12章 并发程序的测试 大致分为两类:安全性测试和活跃性测试 12.1 正确性测试 找出需要检查的不变性条件和后验条件.接下来将构建一组测试用例来测试一个有界缓存.程序清单12-1给出了Bounde ...
- 基于frida框架Hook native中的函数(1)
作者:H01mes撰写的这篇关于frida框架hook native函数的文章很不错,值得推荐和学习,也感谢原作者. 0x01 前言 关于android的hook以前一直用的xposed来hook j ...
- .NET中Main函数使用小技巧
摘要:任何语言开发出来的程序,都会有一个程序入口函数,可能每个语言所使用的程序入口函数名称不一样,但是它们的作用都是一样的,都是被操作系统去调用.那么本文主要总结.NET中的程序入口函数Main使用的 ...
随机推荐
- IOC、DI、DIP
OCP: 开闭原则 对修改关闭 对扩展开放 1.面向对象主要做俩件事:实例化对象和调用方法(完成业务逻辑) 2.单纯interface可以统一方法的调用,但是不能统一对象的实例化 3.只有一段代码 ...
- 面试连环炮系列(六):Dubbo应用为什么要部署Zookeeper
Dubbo应用为什么要部署Zookeeper? Zookeeper用来注册和发现服务,简单说就是提供端注册接口信息到Zookeeper,调用端在Zookeeper上查找接口对应的服务IP和端口.由于Z ...
- Nacos 安装(带视频)
疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 疯狂创客圈 高并 ...
- Docker安全扫描工具之docker-bench-security
简介 Docker Bench for Security检查关于在生产环境中部署Docker容器的几十个常见最佳实践.这些测试都是自动化的,其灵感来自CIS Docker基准1.2.0版. 这种安全扫 ...
- webpack动态加载打包chunk命名
最近,遇到复杂h5页面开发,为了优化H5首屏加载速度,想到使用按需加载的方式,减少首次加载的JavaScript文件体积,于是将处理过程在这里记录一下,涉及到的主要是以下三点: 使用Webpack如何 ...
- Hyperledger Fabric:最简单的方式测试你的链码
一直以来,写完链码进行测试都要先搭建一个Fabric环境,然后安装链码进行测试,实际上Fabric提供了最为简单的方式可以允许我们对编写的应用链码进行功能测试,不需要搭建一个完整的Fabeic环境.而 ...
- MySql数据库基础之数据库简介及安装
MySql数据库简介: 众所周知,MySql数据库是一款开源的关系型数据库,在Web应用方面,MySql是最好的.最流行的RDBMS(Relational Database Management Sy ...
- Filter Lookup Editor Data Source 筛选器查找编辑器数据源
In this lesson, you will learn how to filter the data displayed by a lookup editor. This editor is s ...
- vue-router精简demo
cnpm install vue-router --save-dev 或者 cnpm install vue-router --save 全局引用VueRouter import VueRouter ...
- Dynamics 365-当OrganizationServiceProxy是Null的时候
不少从事D365研发工作的朋友,可能或多或少都经历过这么一种情况,使用CrmServiceClient对象初始化一个实例,然后发现OrganizationServiceProxy对象是null.不仅如 ...