liccry 发表于 2010-4-12 19:25:12

[mushclient]请教如何在lua程序中降低cpu占用率。

用lua写了一个脚本,目的是对某个文档进行操作,从中提取出需要的信息。
由于用了很多循环语句,导致运行时对cpu占用过高,大约10s左右,导致mush卡的一塌糊涂。
所以,在这里请教高手,如何在程序中设定某些参数,能够分散对cpu的集中占用。
举个不恰当的例子,就是把100分工作,分成5份,每隔2s运行一份。
大概就是这样,等待解答,谢谢了先。

ddid 发表于 2010-4-12 19:30:04

协同 coroutine

[ 本帖最后由 ddid 于 2010-4-12 07:31 PM 编辑 ]

liccry 发表于 2010-4-12 19:35:38

我看了program in lua的coroutine部分,我理解coroutine的作用就是控制程序进程,挂起,继续之类的,但是没有在lua 标准库中找到控制时间函数,能提示一下吗?

多谢。

ddid 发表于 2010-4-12 19:38:24

原帖由 liccry 于 2010-4-12 19:25 发表 http://pkuxkx.com/forum/images/common/back.gif
用lua写了一个脚本,目的是对某个文档进行操作,从中提取出需要的信息。
由于用了很多循环语句,导致运行时对cpu占用过高,大约10s左右,导致mush卡的一塌糊涂。
所以,在这里请教高手,如何在程序中设定某些参数, ...

如果控制文档操作要用到很多循环,不如换用数据库或者XML。

ddid 发表于 2010-4-12 19:39:17

原帖由 liccry 于 2010-4-12 19:35 发表 http://pkuxkx.com/forum/images/common/back.gif
我看了program in lua的coroutine部分,我理解coroutine的作用就是控制程序进程,挂起,继续之类的,但是没有在lua 标准库中找到控制时间函数,能提示一下吗?

多谢。

可以参考MUSH中的wait.lua

liccry 发表于 2010-4-12 19:42:51

原帖由 ddid 于 2010-4-12 07:38 PM 发表 http://www.pkuxkx.com/forum/images/common/back.gif


 如果控制文档操作要用到很多循环,不如换用数据库或者XML。

我倒是想用,但是那些东西我是一窍不通啊,hehe

谢谢解答,bow。

ddid 发表于 2010-4-12 19:44:43

nothank

sauron 发表于 2010-4-12 20:01:41

回复 6楼 的帖子

说说你想要做的事情吧,如果是为了写robot,不应该会有这么大的信息量吧,也可能是你写法上有些需要优化的。

liccry 发表于 2010-4-12 20:16:13

信息量其实并不大,大约40个字符×30行的样子,但是其中的有效字符被混杂在大量的错误字符里,需要逐个甄别出来,然后再重新组合成有效信息。

比如一句话:哥是个传说。
在txt中,"哥“在第2行,第5列;"是"在第3行,第6列,……

这样就需要对各行进行反复搜索,造成大量循环。

不知道我说明了没有……

ddid 发表于 2010-4-12 20:22:54

sigh
页: [1] 2 3 4
查看完整版本: [mushclient]请教如何在lua程序中降低cpu占用率。