elexy 发表于 2015-1-1 10:26:09

【请教效率高手】如何快速取数计算 超万行的程序运行日志

2014-12-31 10:33:49 : 00001
2014-12-31 10:35:10 : 00002
2014-12-31 10:36:30 : 00003
2014-12-31 10:37:20 : 00175
................
................
2014-12-31 10:39:40 : 00175
2014-12-31 10:48:01 : 00176#include <Date.au3>
#include <file.au3>
;--------------------------
;--------------------------
$num = 1001;随机不固定
_FileWriteLog(@ScriptDir & "\my.txt", $num) ;程序每运行一个过程即会写一条日志,运行时间在1秒到5秒不等。需要监控最近的一次跟上次相比是否超时(大于5秒),一天下来可能会有一万多行,需考虑效率,计算过程需控制在1秒以内
$iDateCalc = _DateDiff( 's',取倒数第二行时间, 取最后一行时间)
if $iDateCalc> 5 then MsgBox(16,0,"超时")请高手们赐教~~学生祝福感谢!!!

MicroBlue 发表于 2015-1-1 10:43:26

有些问题不一定要用程序去解决,用EXCEL更好。
方法如下:
1. 分解数据
   把时间和你后面的数据分开,放到Excel的两个row里。如下图:



2. 写公式算差值
   当你把数据分开后,Excel默认第一个列是日期,然后在第三列里写公式:




3.手动构造5秒差值,与其他的数据进行对比

思路是这样的。

elexy 发表于 2015-1-1 14:37:55

回复 2# MicroBlue


谢谢,但程序特殊性质,EXCEL肯定不行

netegg 发表于 2015-1-6 18:50:05

为什么用_datediff

netegg 发表于 2015-1-6 18:54:16

本帖最后由 netegg 于 2015-1-6 20:17 编辑

$i = number(stringmid($time1, 16, 2)) - number(stringmid($time2, 16, 2))
$ret= $i < 0 ?($i+60): $i
页: [1]
查看完整版本: 【请教效率高手】如何快速取数计算 超万行的程序运行日志