IRC Bot,性能和扩展

时间:2015-10-31 01:13:43

标签: python performance scaling bots irc

我在python中为自己制作了一个简单的IRC机器人,效果很好,但是现在有些朋友问我机器人是否可以加入他们的IRC频道。他们的IRC频道非常活跃,它是Twitch聊天(IRC包装器),这意味着很多消息。我希望他们使用我的机器人,但我不知道它会如何表现,这是我制作的第一台机器人。

现在我的代码是这样的:
Connect to IRC server & channel while true: Receive data from the socket (4096, max data to be received at once) do something with data received

我应该做些什么改变才能让它表现得更好? 1.我应该在循环中有睡眠功能吗?
2.我应该使用线程吗? 3.任何一般的dos and don?ts?

感谢您阅读我的帖子。

1 个答案:

答案 0 :(得分:1)

线程是一种选择,但它不会扩展超过某一点(谷歌Python GIC限制)。根据您想要进行多少缩放,您需要执行多进程(启动多个实例)。

一种模式是拥有一个工作线程池,用于处理要执行的事务队列。在大多数语言中创建和销毁线程需要很多开销。