[#954] Rational — keiju@... (Keiju ISHITSUKA)

けいじゅ@SHLジャパンです.

23 messages 1996/10/30
[#955] Re: Rational — matz@... (Yukihiro Matsumoto) 1996/10/30

まつもと ゆきひろです.

[#968] Re: Rational 1996/10/31

けいじゅ@SHLジャパンです.

[ruby-list:811] Re: Marshal(0.99.2-961007 available)

From: matz@... (Yukihiro Matsumoto)
Date: 1996-10-09 02:38:31 UTC
List: ruby-list #811
まつもと ゆきひろです.

In message "[ruby-list:807] Marshal(0.99.2-961007 available)"
    on 96/10/08, 石塚圭樹 <keiju@shljapan.co.jp> writes:
|
|けいじゅ@SHLジャパンです. 

|plainファイルからの読み込み:    20m09s
|marshalファイルからの読み込み:  17m27s
|
|でした. 思ったより結果が良くないですねえ... もっと頑張ることはできませ
|ん??

dynamic loadの時間が余計にかかっているのかもしれません.

あとはMarshalがプラットフォーム独立にオブジェクトをファイル
に格納できるということだけしか考えていないので速度的なチュー
ンが全く行われていないせいとか,再帰的なオブジェクトの格納な
どのためオーバースペックになっているせいとかもあるでしょう.

これはファイルサイズについてもいえるかもしれません.

In message "[ruby-list:810] Re: Marshal(0.99.2-961007 available)"
    on 96/10/09, 石塚圭樹 <keiju@shljapan.co.jp> writes:

|Marshalファイルのフォーマットはどうなっているのでしょう?

以下のようになっています.

  全体  : マーク(1byte) ボディ マーク ボディ…

  ボディの構造

     NIL/TRUE/FALSE: ボディは無い
     Fixnum: リトルエンディアン(4byte)
     String: 長さ(4byte) 中身
     Object: クラス名(文字列) インスタンス変数の数(4byte)...
     Array: 長さ(4byte) ...
     Hash:  長さ(4byte) key value ...
     Float: 長さ(4byte) 文字列表現(最大12バイト)

Objectの場合は_dump_toメソッドと_load_fromクラスメソッドの組
を定義すれば独自のフォーマットを使うことができます.

				まつもと ゆきひろ /:|)

In This Thread

Prev Next