酷Q社区»社区 分享交流区 编程技术

易语言写插件,消息处理有什么好的办法吗?[复制链接]

作者: 小小桃妖怪|查看: 346|回复: 18
跳转到指定楼层
8-14 09:15

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
假如有100个机器指令,总不能在群聊消息那进行100次判断吧。


感觉效率很低啊,
这个消息处理有没有更快捷的方法?
还是我理解错了
或者有没有其他方案来解决这个东西
100次判断不是效率瓶颈。如果真想优化的话你可以把你的命令规则分享出来我们探讨一下。

比如说可以采用字典树的方法来优化多命令对单条消息的检索速度。

比如说可以采用kmp或者是扩展kmp的方法来优化单命令对长消息的检索速递。

情况很多,具体情况还是具体分析吧。

不过这些时候你会发现你的投入和最后收回来的效率收益不成正比。

100条命令太少辽,感觉要上万才会有明显差距。
多谢大佬, 我只是刚入门,然后想了一下, 并没有那么多指令, 我只是看到某些群管插件,指令特别多, 然后感觉一个个判断,可能会有点影响效率 详情回复 发表于 8-14 10:00
Eric_Lian 发表于 2019-8-14 09:54
100次判断不是效率瓶颈。如果真想优化的话你可以把你的命令规则分享出来我们探讨一下。

比如说可以采用字 ...

多谢大佬,
我只是刚入门,然后想了一下,
并没有那么多指令,
我只是看到某些群管插件,指令特别多,
然后感觉一个个判断,可能会有点影响效率
你是不是也是判断(msg=xxx)来写的,我也是感觉来回判断效率太低,要是能直接执行msg同名的子程序就好了
用易语言的调用子程序来处理消息 https://cqp.cc/t/44552 希望对你有帮助。 详情回复 发表于 8-17 17:39
本质上也有判断呀  详情回复 发表于 8-14 12:05
没错,我感觉怪怪的,虽然我的命令少,影响不到什么效率 详情回复 发表于 8-14 11:35
你要相信现在的电脑…处理这么点运算那是非常轻松的
给人一种,指令越到最后,执行需要的时间越久 详情回复 发表于 8-14 11:36
時雨 发表于 2019-8-14 10:31
你是不是也是判断(msg=xxx)来写的,我也是感觉来回判断效率太低,要是能直接执行msg同名的子程序就好了 ...

没错,我感觉怪怪的,虽然我的命令少,影响不到什么效率
没吃中饭 发表于 2019-8-14 11:11
你要相信现在的电脑…处理这么点运算那是非常轻松的

给人一种,指令越到最后,执行需要的时间越久
本帖最后由 Eric_Lian 于 2019-8-14 11:58 编辑

才一百多条命令。。没必要大费周章写这么多东西。

如果真像这样优化,你可以加一个统计,让插件优先判断常用命令。
時雨 发表于 2019-8-14 10:31
你是不是也是判断(msg=xxx)来写的,我也是感觉来回判断效率太低,要是能直接执行msg同名的子程序就好了 ...

本质上也有判断呀
理论上是这样,但是电脑的运行速度比你想象的强大的多。100条命令的判断所花费的时间完全可以忽略不计
这个我可以理解 详情回复 发表于 8-17 10:54
这点处理能力对于电脑来说不算什么,我只想知道怎么提高网站源代码查询效率,酷Q的多线程不会用
我也不会酷Q多线程,没有多线程的话,访问网站就会有一定的卡顿 详情回复 发表于 8-17 10:54
l7782053 发表于 2019-8-15 10:16
理论上是这样,但是电脑的运行速度比你想象的强大的多。100条命令的判断所花费的时间完全可以忽略不计 ...

这个我可以理解
九浅 发表于 2019-8-16 13:59
这点处理能力对于电脑来说不算什么,我只想知道怎么提高网站源代码查询效率,酷Q的多线程不会用 ...

我也不会酷Q多线程,没有多线程的话,访问网站就会有一定的卡顿
主要是要查的数据挺多的,一次性查询数据网络状态好也要40s左右,还是优化之后的,之前延迟最长能有2分钟,那个网站偶尔还要抽风 详情回复 发表于 8-18 13:30
你可能对CPU执行速度有什么误解CPU在单位时间里执行的指令数量单位为Hz
1Hz既为CPU每秒处理1条指令

而现代电脑CPU处理速度有多快呢
以i9 9900K为例,基础频率3.6Ghz',睿频频率可达5.0Ghz
即每秒处理指令数量高达5*10^9条

假设判断指令(50个字)需要大约500机器时钟周期(文本判断比较复杂,且耗时与文本长度有关)
那么1秒钟大约可以处理10^7条判断语句
如果你想要得到肉眼可见的处理延迟(大约大于50ms)
大约你需要在这里写20,0000条指令判断

用易语言的调用子程序来处理消息
https://cqp.cc/t/44552

看了你的问题后写的
谢谢前辈 详情回复 发表于 8-19 18:27
時雨 发表于 2019-8-14 10:31
你是不是也是判断(msg=xxx)来写的,我也是感觉来回判断效率太低,要是能直接执行msg同名的子程序就好了 ...

用易语言的调用子程序来处理消息
https://cqp.cc/t/44552

希望对你有帮助。

被感谢 1

丿夜曲 发表于 2019-8-17 17:39
用易语言的调用子程序来处理消息
https://cqp.cc/t/44552

非常有帮助呀,感谢!
小小桃妖怪 发表于 2019-8-17 10:54
我也不会酷Q多线程,没有多线程的话,访问网站就会有一定的卡顿

主要是要查的数据挺多的,一次性查询数据网络状态好也要40s左右,还是优化之后的,之前延迟最长能有2分钟,那个网站偶尔还要抽风
丿夜曲 发表于 2019-8-17 17:30
用易语言的调用子程序来处理消息
https://cqp.cc/t/44552

谢谢前辈
您需要登录后才可以回帖 登录 | 注册

本版积分规则尽量使你的回复能够对他人有所帮助

Powered by Discuz!Designed by hexapp© 2019 CoolQ

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