[mushclient]请教如何在lua程序中降低cpu占用率。
用lua写了一个脚本,目的是对某个文档进行操作,从中提取出需要的信息。由于用了很多循环语句,导致运行时对cpu占用过高,大约10s左右,导致mush卡的一塌糊涂。
所以,在这里请教高手,如何在程序中设定某些参数,能够分散对cpu的集中占用。
举个不恰当的例子,就是把100分工作,分成5份,每隔2s运行一份。
大概就是这样,等待解答,谢谢了先。 协同 coroutine
[ 本帖最后由 ddid 于 2010-4-12 07:31 PM 编辑 ] 我看了program in lua的coroutine部分,我理解coroutine的作用就是控制程序进程,挂起,继续之类的,但是没有在lua 标准库中找到控制时间函数,能提示一下吗?
多谢。 原帖由 liccry 于 2010-4-12 19:25 发表 http://pkuxkx.com/forum/images/common/back.gif
用lua写了一个脚本,目的是对某个文档进行操作,从中提取出需要的信息。
由于用了很多循环语句,导致运行时对cpu占用过高,大约10s左右,导致mush卡的一塌糊涂。
所以,在这里请教高手,如何在程序中设定某些参数, ...
如果控制文档操作要用到很多循环,不如换用数据库或者XML。 原帖由 liccry 于 2010-4-12 19:35 发表 http://pkuxkx.com/forum/images/common/back.gif
我看了program in lua的coroutine部分,我理解coroutine的作用就是控制程序进程,挂起,继续之类的,但是没有在lua 标准库中找到控制时间函数,能提示一下吗?
多谢。
可以参考MUSH中的wait.lua 原帖由 ddid 于 2010-4-12 07:38 PM 发表 http://www.pkuxkx.com/forum/images/common/back.gif
如果控制文档操作要用到很多循环,不如换用数据库或者XML。
我倒是想用,但是那些东西我是一窍不通啊,hehe
谢谢解答,bow。 nothank
回复 6楼 的帖子
说说你想要做的事情吧,如果是为了写robot,不应该会有这么大的信息量吧,也可能是你写法上有些需要优化的。 信息量其实并不大,大约40个字符×30行的样子,但是其中的有效字符被混杂在大量的错误字符里,需要逐个甄别出来,然后再重新组合成有效信息。比如一句话:哥是个传说。
在txt中,"哥“在第2行,第5列;"是"在第3行,第6列,……
这样就需要对各行进行反复搜索,造成大量循环。
不知道我说明了没有…… sigh