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  
