- 主题:Re: 大家说说天火bbs系统为什么消耗mem这么少?
天火BBS是完全重写的,基于线程模型,在这个模型下可以减少进程
模型下很多同步的系统开销和许多临时变量开销。
水木的每进程开销大概是200K左右,共享内存区100M左右
【 在 KCN (心情就像水木一样需要系统维护...) 的大作中提到: 】
: 如果是重写的,达到这个目标并不是太难
--
FROM 211.155.36.167
【 在 DrJ.bbs@bbs.jnu.edu.cn (独一无二的小王子) 的大作中提到: 】
: 用线程得话,如果一个线程出错,会危及到整个进程的稳定哦
: 是不是这样呢
通常是这样,不过天火系统内建错误处理机制,就算有 memory access
错误,系统也不会 crash ,事实上错误处理就占了 2 成的 code 。
另外天火是以无 bug 的目标在写,现行 beta 的测试是已经修正所有
已知的 bug ,而且在多人测试下,还是很稳定。
重写后发现,以往系统在处理错误部份,几乎是没在做,几乎都是大脚一踢。
把人踢出去结束就算了。
--
FROM 210.85.196.46
【 在 KCN (心情就像水木一样需要系统维护...) 的大作中提到: 】
: 如果是重写的,达到这个目标并不是太难
重点不在于重写。
而是在结构,跟设计部份。
其实系统共享的差不多,私用的部份也差不多。
其实能省的部份很少。
该用 IO 就用 IO ,该用 Memory 就用 Memory 。
不足的部份就靠 bbs cache 来补足。
要说的话,应该说用了大量的 bbs cache 来补足节省的记忆体。
而重写是必然的结果,因为修改的工程会更浩大。
以我修改的经验,通常最后系统会变成几个独立的大系统,
但是真的要在整合成一个,那是很困难的事情。
重写却可以让一开始整个系统就是一致的。
--
FROM 210.85.196.46
【 在 MASK.bbs@bbs.DormForce.net (带面具的人) 的大作中提到: 】
: 能把源代码开放么?
目前只公布 lib 的 source
http://ug.ee.tku.edu.tw/~rexchen/bbslib.tar.gz
--
FROM 210.85.196.46