before my eggdrop when I restarted it was
2 minutes working tcl, now with that modification only takes
40 seconds.
the reasons that my eggdrop, before was very slow is because it has 50 active tcl omitting the tcl of trivia
and it is in more than 11 channels, all these factors influenced my bot to be slow at the beginning after 2 minutes of start, my bot became stable when using those modifications and a tcl that speeds up the pending tasks and bot became very fast, thus solving the issue of slowness..
the solutions I found was modifying these options that are by default in the eggdrop.conf:
predetermined options that are in eggdrop.conf
Code: Select all
set msg-rate 2
set max-queue-msg 300
set stack-limit 4
the modifications that I made
Code: Select all
set msg-rate 1
set max-queue-msg 510
set stack-limit 0
This TCL also helped to make the pending tasks more agile, very useful, a theme given by awyeah
and the tcl I added it in my eggdrop.conf
Code: Select all
# Copyright (C) 2003 BarkerJr
# http://forum.egghelp.org/viewtopic.php?t=8238
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
namespace eval put {
# Name the queues here. The further left, the higher priority queues.
set queues [list akill kill echo ctcp2 ctcp msg warn]
# Script begins here (nothing to do below here).
foreach q $queues {
if {![info exists queue($q)]} { set queue($q) {} }
}
unset -nocomplain -- q
proc serv {q text} {
variable queue
variable errorInfo
if {![info exists queue($q)]} {
set errorInfo "No such queue named: $q"
return 1
}
if {[lsearch -exact $queue($q) $text] != -1} {
set errorInfo "Already exists in queue ($q): $text"
return 2
}
lappend queue($q) $text
return 0
}
foreach timer [utimers] {
if {[lindex $timer 1] == {put::bisecondly}} { killutimer [lindex $timer 2] }
}
if {[info exists timer]} { unset -nocomplain -- timer }
utimer 2 put::bisecondly
proc bisecondly {} {
variable queues
variable queue
foreach q $queues {
if {[llength $queue($q)]} {
putserv [lindex $queue($q) 0]
set queue($q) [lreplace $queue($q) 0 0]
utimer 2 put::bisecondly
return
}
}
utimer 2 put::bisecondly
}
bind dcc - qstat put::queuestat
proc queuestat {hand idx text} {
variable queues
variable queue
putdcc $idx {Queue Lines}
putdcc $idx {=================}
foreach q $queues {
putdcc $idx "[format %-10s $q] [format %5i [llength $queue($q)]]"
}
putdcc $idx {=================}
}
proc uninstall {} {
unbind dcc - qstat put::queuestat
foreach timer [utimers] {
if {[lindex $timer 1] == {put::bisecondly}} { killutimer [lindex $timer 2] }
}
namespace delete [namespace current]
}
}
putlog "agilizador de ordenes en colas pendientes."
I am very happy because my eggdrop was very fast again ..
I thought before the problem of slowness was a tcl that was perhaps causing failures, which was discarded because in these 10 days of extreme tests tcl by tcl that none gave failures so by failures of tcl was not the problem of the slowness.
Problem solved