易语言 取程序运行时间

易语言 取程序运行时间,第1张

版本 2程序集 窗口程序集1

程序集变量 时

程序集变量 分

程序集变量 秒子程序 __启动窗口_创建完毕标签1标题 = “已运行:” + 到文本 (时) + “小时” + 到文本 (分) + “分钟” + 到文本 (秒) + “秒”子程序 _时钟1_周期事件秒 = 秒 + 1

如果真 (秒 = 60)

秒 = 0

分 = 分 + 1

如果真结束

如果真 (分 = 60)

分 = 0

时 = 时 + 1

如果真结束

标签1标题 = “已运行:” + 到文本 (时) + “小时” + 到文本 (分) + “分钟” + 到文本 (秒) + “秒”

abstract class GetTime {

public final void getTime() {

long start = SystemcurrentTimeMillis();

runcode();

long end = SystemcurrentTimeMillis();

Systemoutprintln("运行时间:" + (end - start) + "毫秒");//应该是end - start

}

public abstract void runcode();

}

public class SubTime extends GetTime {//建立一个java文件为SubTimejava,SubTime为主类,加为public

public void runcode() {

for (int x = 0; x < 4000; x++) {

Systemoutprintln(x);

}

}

static public void main(String args[]) {//写一个主函数就好了

new SubTime()getTime();//建立对象调用getTime();

}

}

可以用eclipse运行

clock()函数,计算代码消耗的cpu时间,一般用处不大

time()函数,获取系统时间,许多依赖于time()计算超时的程序,在修改系统时间后一般都不能正常运行。

因此本人推荐:

windows下:计算绝对时间QueryPerformanceCount/QueryPerformanceFrequency

cpu脉冲计数/ cpu频率,获得开机以来的秒数。

当然,这两个函数获得时间精度是很高的(us级别),只是我们一般用不到这么精确。

linux下:

#include <sys/sysinfoh>

调用sysinfo()获得系统启动以来经历的秒数时间。这个不属于高精度计时。

如果要进行高精度计时,高精度时间,C运行库的gettimeofday()(当然据我估计也是受到系统更改时间的影响)。

用绝对时间判断系统时间有没有被更改,用高精度时间精确计时,二者结合才是王道。

BOOL QueryPerformanceFrequency(LARGE_INTEGER lpFrequency);可以返回硬件支持的高精度计数器的频率。先调用QueryPerformanceFrequency()函数获得机器内部计时器的时钟频率。接着在需要严格计时的事件发生前和发生之后分别调用QueryPerformanceCounter(),利用两次获得的计数之差和时钟频率,就可以计算出事件经历的精确时间。

#include "stdafxh"

#include <windowsh>

#include <timeh>

#include  "processh"

#define random(x) (rand()%x)

int _tmain(int argc, _TCHAR argv[])

{

    LARGE_INTEGER fre = { 0 };  //储存本机CPU时钟频率

    LARGE_INTEGER startCount = { 0 };

    LARGE_INTEGER endCount = { 0 };

    QueryPerformanceFrequency(&fre);//获取本机cpu频率

    //开始计时

    QueryPerformanceCounter(&startCount);

    //运算

    

    for (int i = 0; i < 10000000; i++)

    {

        float fTem1 = random(100)random(1000)random(10000)random(100000);

    }

    //结束计时

    QueryPerformanceCounter(&endCount);

    //计算时间差

    double dTimeTake = ((double)endCountQuadPart - (double)startCountQuadPart) / (double)freQuadPart;

    printf("用时%f\n", dTimeTake);

    system("pause");

    return 0;

}

#include <stdioh>

#include <timeh>

#define N 10000 /这个数字可以自己改,如果时间太长结果不出来你就改小点/

void f()

{

int i, j, k;

for ( i = 0; i < N; ++i )

for ( j = 0; j < N; ++j )

for ( k = 0; k < N; ++k )

;

}

int main()

{

clock_t begin, duration;

begin = clock();

f();

duration = clock() - begin;

printf( "函数f()的运行时间大约为:%dms\n", duration1000/CLOCKS_PER_SEC );

}

以上就是关于易语言 取程序运行时间全部的内容,包括:易语言 取程序运行时间、JAVA 获取一段程序运行时间、求C语言程序:如何获得一个程序运行的时间 最好带一段简单的代码 新人学不懂 呵呵 谢谢大家啦等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9414414.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存