LPMUD的部分配置详解

692阅读 0评论2010-08-22 toughie
分类:LINUX

1,time to swap

此参数是让MUDOS明白当一件object没有使用超过指定时间的时候,即将此object所依赖的program置换到指定的swapfile,注意,swap不同于clean up,它不会清除物件,而只是把物件所依赖的源文件编译时在内存产生的中间代码保存到磁盘上面(swap file),有点类似于unix的交换分区的实现。依此来节省内存开销。以后再使用此object的时候(比如find_object又找到了此物件),又将有一个swapin的过程,即将swap file中保存的中间代码重新弄到内存中来。
2,time to reset

物件被reset的时间。事实上,MUDOS不会对需要reset物件去做任何事情,全部交给了MUDLIB。MUDOS只是判断一下如果物件有reset函数就给物件设定下一次reset的时间,如果物件的reset函数有错或者没有,那么MUDOS下一次将再也不会调用他。

3,time to clean up

物件被clean up的时间,事实上,MUDOS不会对需要clean up物件去做任何事情,全部交给了MUDLIB,一般MUDLIB会在此函数里将自生销毁(destruct)。

4,object table size

在MUDOS中,所有的物件都被储存在一个哈希表里,使用哈希表增快了MUDOS查找object的速度。这个设置将决定物件哈希表的维数,MUDOS会将物件哈希表的维数设置为此大于等于此参数的2的次方。至于为什么要设置为2的次方,因为从物件路径生成一个哈希基数的时候,为了保证此基数在哈希表的维数之内,会将此基数与维数做一个位与操作。哈希表的维数是2的次方的话保证了最后生成的基数具有一定的随机性。因此,理论上这个参数的数目越大就会对物件路速度就越快。谈到这个问题上,有一个细节要注意一下,MUDOS(v22)在默认情况下编译,其根据路径生成哈希基数的时候只会考虑到前40个字节(出于对效率的考虑),因此如果MUDLIB放置的路径过深,以至使每一个物件的源文件路径都超过了40个字节,那么计算出的基数永远是一样的,这样查找物件的速度会很慢。
上一篇:options.h [2]
下一篇:博客已升级,请注意变更地址