ども鴫原です。 > どーなんでしょうねえ。過去に試した範囲では微妙でした。 > marshalの高速さ(Cで書かれてる)とオーバースペックさのバランスで。 うーん、このmarshalなんですが、どうも条件がはっきりしないんですけど、 loadで ./core/cache.rb:164: [BUG] Segmentation fault で落ちることがあるようです。テストで小さなhashやarrayをdumpした奴を読み込 むときには問題なさそうなんですけど、実際にSGmailに組み込んでみると症状が でます。 妙なのは、始めから落ちるのではなく、同じデータを何度もloadすると落ちる場 合や、SGmailを再実行して前回保存したキャッシュデータを読み込もうとすると いきなり落ちたり、と同じデータを読み込んでいても状況によって症状が違って 来ます。 また、dbmにヘッダを入れるときにも、marshal#dumpしてるんですが、こちらでは まだ落ちたことはありません。 #どうもデータ構造が複雑になって来ると落ちるような:-(。 > ところで、dbmって場合によっては4Kの制限があるんですが(かつ > Rubyからその制限を感知する方法がない)、それは問題ないんです > か? 私の場合、メール本文はdbmは使わず、ヘッダ部分のみdbmに入れてるんで多分大 丈夫だろうと、たかをくくってるんですけどねえ。 #トンでもなくでかいヘッダがあるとやばいかも(^^;)