[#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:735] bug report(Marshal)

From: keiju@... (Keiju ISHITSUKA)
Date: 1996-10-04 02:45:35 UTC
List: ruby-list #735
けいじゅ@SHLジャパンです. 

いま, 1万件のファイルを読み込んでHashを作っているのですが, 読み込み終
るのに 5分もかかってしまいます. これではちょっとたえられないので, そう
いえば Marshalがあったと思って, どのくらい早くなるのか確かめようと思い
使ってみました...

# すっかりヘビーユーザになってしまいました(^^;; 

どうも, Marshalにバグがあるみたいです.

--検証プログラム--
require "marshal"

class Foo
  def initialize
    @foo = rand(100)
    @bar = rand(100)
  end
end

foo = Hash.new

10.times do
  foo[rand(100).to_s] = Foo.new
end

w = File.open("mars.cache", "w")
print w.inspect

Marshal.dump(foo, w) # <-32行め

--
ダンプすると, 

mars.rb:32

とでます.

多分, Hashまわりで問題があるのでは?? あと, 上記で, Foo.newをrand(100)
とかにするとエラーは起こりません.

これSEGVの時のバックトレースのリクエストに答えてくれたのですね?? でも,... 
SEGVとかのメッセージも出した方が良いと思いますよ. 最初何が起こったのか
分かりませんでした.

あと, 普通の実行時エラーの時もその行だけでなくバックトレース(10stackぐ
らい)を出すのがデフォルトのメッセージになっている方が良いのでは? と思
います. OOPだとメッセージの呼びだし関係が複雑になるので, その行だけの
表示では原因を確認することが困難ですので...

__
.........................................石塚 圭樹@SHLジャパン(株)...
------------>アドレス変わりました!! e-mail: keiju@shljapan.co.jp <----

In This Thread

Prev Next