[IRC-DEV] nicklen >9

Jesus Cea Avion jcea at argo.es
Thu Jul 10 22:43:46 CEST 2003


> a) ¿Qué nuevo tamaño se va a fijar como límite?.

Como muy bien ha sabido ver ^hPmK^ hace un año
(http://mailman.argo.es/pipermail/irc-dev/2002-April/000694.html) existe
un límite "técnico" para no tener que tocar las rutinas de registro de
nicks. Ese límite, como contesté en
http://mailman.argo.es/pipermail/irc-dev/2002-April/000696.html es de 16
caracteres. Subirlo es simple, pero habría que mantener cierto código de
"compatibilidad".

Luego existen otros factores a considerar. Por ejemplo, si se fija un
límite de 16 caracteres, la cadena ocupará realmente 17 bytes debido al
'\0' final. Eso implica el "realineamiento" de campos subsiguientes, con
una pérdida de memoria que no estaríamos "rentabilizando".

PS: Estoy viendo el código y realmente se están almacenando unos 64
bytes por nick, independientemente de su tamaño. Esto es así porque el
mismo campo se usa tanto para los nicks (en los usuarios) como para la
IP/host en conexiones entre nodos. En este caso, un "slab allocator"
arrasa en rendimiento, sobre todo porque el número de usuarios es
muchísimo mayor al número de nodos.

Increíble la cantidad de ineficiencias que hay dentro del IRCD :-)

-- 
Jesus Cea Avion                         _/_/      _/_/_/        _/_/_/
jcea at argo.es http://www.argo.es/~jcea/ _/_/    _/_/  _/_/    _/_/  _/_/
                                      _/_/    _/_/          _/_/_/_/_/
PGP Key Available at KeyServ   _/_/  _/_/    _/_/          _/_/  _/_/
"Things are not so easy"      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
"My name is Dump, Core Dump"   _/_/_/        _/_/_/      _/_/  _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz




More information about the IRC-Dev mailing list