找回密码
 加入
搜索
查看: 3950|回复: 2

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

[复制链接]
发表于 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,"超时")
请高手们赐教~~学生祝福感谢!!!
发表于 2015-1-1 10:43:26 | 显示全部楼层
有些问题不一定要用程序去解决,用EXCEL更好。
方法如下:
1. 分解数据
     把时间和你后面的数据分开,放到Excel的两个row里。如下图:



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




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

思路是这样的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2015-1-1 14:37:55 | 显示全部楼层
回复 2# MicroBlue


谢谢,但程序特殊性质,EXCEL肯定不行
发表于 2015-1-6 18:50:05 | 显示全部楼层
为什么用_datediff
发表于 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
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-22 14:01 , Processed in 0.075827 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表