[#9811] Ruby book — WATANABE Tetsuya <tetsu@...>

今日のひとこと(10/05)

22 messages 1998/10/05
[#9812] Re: Ruby book — matz@... (Yukihiro Matsumoto) 1998/10/05

まつもと ゆきひろです

[#9813] Re: Ruby book — "D.Kanda" <MAP2303@...> 1998/10/05

[#9815] Re: Ruby book — matz@... (Yukihiro Matsumoto) 1998/10/05

まつもと ゆきひろです

[#9827] Are there any NNTP Client Class? — Takeshi UME Imai <takeshi@...>

はじめまして。今井といいます。

17 messages 1998/10/05
[#9828] Re: Are there any NNTP Client Class? — aamine@... 1998/10/05

はじめまして、あおきともうします。

[#9869] man-1.1/Marshal.html — ttate@...

立石です。

47 messages 1998/10/07
[#9872] Re: man-1.1/Marshal.html — matz@... (Yukihiro Matsumoto) 1998/10/08

まつもと ゆきひろです

[#9880] comments on manual (Re: man-1.1/Marshal.html) — Motoyuki Kasahara <m-kasahr@...> 1998/10/08

SRA の笠原です。

[#9881] Re: comments on manual (Re: man-1.1/Marshal.html) — matz@... (Yukihiro Matsumoto) 1998/10/08

まつもと ゆきひろです

[#9909] Re: comments on manual (Re: man-1.1/Marshal.html) — Motoyuki Kasahara <m-kasahr@...> 1998/10/09

SRA の笠原です。

[#9936] Re: comments on manual (Re: man-1.1/Marshal.html) — matz@... (Yukihiro Matsumoto) 1998/10/09

まつもと ゆきひろです

[#9939] Re: comments on manual (Re: man-1.1/Marshal.html) — Shin-ichro Hara <sinara@...> 1998/10/09

原です。

[#9940] Re: comments on manual (Re: man-1.1/Marshal.html) — matz@... (Yukihiro Matsumoto) 1998/10/09

まつもと ゆきひろです

[#9941] Re: comments on manual (Re: man-1.1/Marshal.html) — Shin-ichro Hara <sinara@...> 1998/10/09

原です。

[#9942] Re: comments on manual (Re: man-1.1/Marshal.html) — matz@... (Yukihiro Matsumoto) 1998/10/09

まつもと ゆきひろです

[#9944] read(nil) (Re: comments on manual) — Shin-ichro Hara <sinara@...> 1998/10/09

原です。

[#9884] List of UserInterface Kits for Ruby ? — a.furudo@...

20 messages 1998/10/08
[#9906] Re: List of UserInterface Kits for Ruby ? — matz@... (Yukihiro Matsumoto) 1998/10/09

まつもと ゆきひろです

[#9885] 文字化け失礼、再送 — Akihiro Furudo <a.furudo@...>

26 messages 1998/10/08
[#9888] Re: 文字化け失礼、再送 — ttate@... 1998/10/08

立石です。

[#9897] お礼と、 Ruby/Gtk(i18n) について質問 — Akihiro Furudo <A.Furudo@...> 1998/10/08

[#9982] Re: お礼と、 Ruby/Gtk(i18n) について質問 — Daisuke Kanda <MAP2303@...> 1998/10/11

[#10320] Ruby/Gtk を FreeBSD にインストール (re:9982) — Akihiro Furudo <a.furudo@...> 1998/10/24

[#10328] Re: Ruby/Gtk を FreeBSD にインストール (re:9982) — Daisuke Kanda <MAP2303@...> 1998/10/25

[#9976] ruby:struct -> ext module -> ruby — Kikutani Makoto <kikutani@...>

きくたにです。

17 messages 1998/10/11

[#9999] ruby on HP-UX — AU6M-IWM@... (Iwama Misao)

20 messages 1998/10/12
[#10001] Re: ruby on HP-UX — matz@... (Yukihiro Matsumoto) 1998/10/12

まつもと ゆきひろです

[#10030] Ruby/Gtk text widget — TAKAHASHI Masayoshi <maki@...>

高橋です。

29 messages 1998/10/12
[#10035] Re: Ruby/Gtk text widget — Daisuke Kanda <MAP2303@...> 1998/10/12

[#10038] ruby/gtk method naming (Re: Re: Ruby/Gtk text widget) — "D.Kanda" <MAP2303@...> 1998/10/13

[#10067] Re: ruby/gtk method naming (Re: Re: Ruby/Gtk text widget) — Kazumi Okamoto <kazusan@...> 1998/10/13

岡本です。

[#10092] for が修飾子だったら — ARIMA Yasuhiro <fit0298@...>

有馬@FITECです。

46 messages 1998/10/14
[#10093] Re: for が修飾子だったら — matz@... (Yukihiro Matsumoto) 1998/10/14

まつもと ゆきひろです

[#10236] Array.html again — Motoyuki Kasahara <m-kasahr@...>

笠原です。こんにちは。

18 messages 1998/10/22
[#10237] Re: Array.html again — Kanda <MAP2303@...> 1998/10/22

[#10239] Re: Array.html again — matz@... (Yukihiro Matsumoto) 1998/10/22

まつもと ゆきひろです

[#10311] Re: 大規模プログラムの友 — m_seki@... (SEKI)

At 11:23 PM 98.10.23 +0900, Takashi Nakai wrote:

24 messages 1998/10/23
[#10312] Re: 大規模プログラムの友 — Takashi Nakai <nakai@...1.sys.to.casio.co.jp> 1998/10/23

ど〜も、(またしても)中井です。

[#10369] Re: 大規模プログラムの友 — matz@... (Yukihiro Matsumoto) 1998/10/27

まつもと ゆきひろです

[#10415] split — flare@... (Takashi Ikeda)

ふれあです。

20 messages 1998/10/28

[#10473] case with Class — MineroAoki <aamine@...>

あおきです。

46 messages 1998/10/29
[#10483] Re: case with Class — matz@... (Yukihiro Matsumoto) 1998/10/30

まつもと ゆきひろです

[#10521] Re: case with Class — aamine@... 1998/10/30

こんにちは。あおきです。

[#10523] Re: case with Class — gotoken@... (GOTO Kentaro) 1998/10/30

ごとけんです

[#10530] Re: case with Class — aamine@... 1998/10/31

あおきです。

[#10544] Re: case with Class — shugo@... (MAEDA Shugo) 1998/10/31

前田です。

[#10548] Re: case with Class — Wakou Aoyama <wakou@...> 1998/10/31

青山です。

[#10555] Re: case with Class — shugo@... (MAEDA Shugo) 1998/11/01

前田です。

[#10566] Re: case with Class — Wakou Aoyama <wakou@...> 1998/11/01

青山です。

[ruby-list:10072] Re: デストラクタ (?)

From: Takashi Nakai <nakai@...1.sys.to.casio.co.jp>
Date: 1998-10-13 21:49:54 UTC
List: ruby-list #10072
ど〜も、中井です。 /['o']
(立て続けのメールで恐縮ですが...)

デストラクターに関しては私も興味があるので、便乗させて
いただきます。

最近のC++の(たぶんPerlでも)傾向としては、コンストラク
ター&デストラクターで(メモリーおよびその他の)資源の管
理を行うようになってきているようです。
(例えば、Closeせずに使われなくなったファイルも、デスト
  ラクターで確実にCloseする。等です)

[ruby-dev:3527] Re: GC target (Re: [ruby-list:10035] Re: Ruby/Gtk text widget)で
>GCの発生するのは
>	:
>	:
>  * file descriptorを使い切った時

と言うのは、こういったことに対応するためだとは思うのです
が、世の中にはメインメモリーとファイル以外の(そのユーザー
特有の)資源を管理したい用途はあると思います。

その時にGC発生条件を増やしていく訳にはいかないと思います。

(もちろん、「自分でちゃんとClose相当の処理をしろよ」と言う
  のも解なのですが ruby 的な解ではないですよね。)


特に、組み込み系/リアルタイム系のシステムではメモリーに限
らず資源はケチケチなんですよね〜(ruby を組み込む余裕がない
ほど...)
そういった時に、参照カウント方式のメモリー管理って結構有用
なんですよ。

今更、ruby のメモリー管理方式を選択式にできるとは思っていま
せんが、一応比較表のようなものを作って見ました。

(マーク・スイープ方式と比べた場合の)参照カウント方式の欠点

  ・循環データを削除できない(←こいつは痛い!)
  ・全体に処理が重くなる。
  ・ruby自体、および拡張モジュールを書く場合の手間が増える
    (これに関してはC++を使えば軽減出来そうですが移植性が…)

(マーク・スイープ方式と比べた場合の)参照カウント方式の利点

  ・開放タイミングが予測可能。
  ・(開放タイミングに関連して)処理時間の予測が可能
  ・(開放タイミングに関連して)資源の早期の開放が可能
  ・ある日突然、GCが走って中断することがない

と言ったところでしょうか、

リアルタイム処理の定義は、「処理時間が早い」ことではなくて、
「確実にある処理時間内に処理が終了する」ですので、参照カウン
ト方式が向いています。
後、リアルタイムとは直接関係ないのですが、一般的にそのような
用途では資源がかなり限られていると言うのは前述した通りです。

いや〜、またしても ruby とはあまり関係ない話題をしてしまいま
した。
それでは、失礼いたします。

民斗<tommy@valley.ne.jp> さんは書きました:
>民斗です。
>
>[Subject: [ruby-list:9959] デストラクタ(?)]
>[Date: Sat, 10 Oct 1998 07:05:04 +0900  From:SEKI]
>
>> インスタンスが消滅するときに後始末をさせたいと思っています。
>> Ruby にはデストラクタ(?)のようなものはありますか?
>> あるとすると、メソッド名は何とすればよいのでしょうか?
>
>以前、同じような質問([ruby-list:9018])をしたことがありまして、その時の
>まつもとさんの回答([ruby-list:9026])は以下でした。
>
>> |2. C++ のデストラクタのようなものは Ruby ではどのように書くのでしょうか。
>> |   C での拡張モジュール中では、Data_Make_Struct() の第4引数で関数を指定
>> |   できるようですが、Ruby で作成したクラスの場合、どのように書くのか
>> |   わかりませんでした。
>> 
>> RubyレベルではGCがあるので,明示的にオブジェクトを破棄する必
>> 要はあまりないはずです.どーしても,GCのタイミングでなんらか
>> の処理が行いたい場合には lib/final.rb を使うワザはありますけ
>> どね.実例としては lib/tempfile.rb を参照して下さい.でも,
>> 分かるかなあ.必要でしたら更に解説します.
>
>--
>民斗
>

--
T.NAKAI  nakai@m1.sys.to.casio.co.jp

In This Thread