[ruby-dev:49931] Re: r57227 の変更ではリークが起きるようです

From: "KISHIMOTO, Makoto" <ksmakoto@...4u.or.jp>
Date: 2016-12-29 06:47:40 UTC
List: ruby-dev #49931
きしもとです

こちらの件についてですが、原因はこの変更自体ではなく、(GMP)gcdでした。
もう少し追ってみます。

On Thu, 29 Dec 2016 13:22:52 +0900
"KISHIMOTO, Makoto" <ksmakoto@dd.iij4u.or.jp> wrote:
> 手元の環境で、最新版(r57227 の変更以降)で、以下のような
> スクリプトを実行しながら、topコマンドでインタプリタのプロセスを
> 見ていると、リークがあるようで、SIZE, RES がじりじりと増えて
> ゆきます。
> 
> # fdiv_leak_sample
> 
> A = 0x4000_0000_0000_0000
> B = 0x4000_0000_0000_0000
> 
> def f
>   A.fdiv B
> end
> 
> t = true
> 
> while t do
>   f
>   GC.start
> end
> 
> r57227 は、計算前に約分するので、私が現在コードを書いている
> 変更とは相互に影響しないのですが(bignumの変更についても、
> さきほどGitHubのほうにpushしました)、情報を失わないような
> 左シフトだけを使って実装することで、浮動小数点リテラルの
> 特異な場合(次を参照)、
> ( https://practical-scheme.net/wiliki/wiliki.cgi?Gauche%3A%E6%B5%AE%E5%8B%95%E5%B0%8F%E6%95%B0%E7%82%B9%E6%95%B0%E3%82%92%E3%81%A9%E3%81%93%E3%81%BE%E3%81%A7%E8%AA%AD%E3%82%80%E3%81%8B )
> に対処する、というような応用にも使えるように改良することを
> 意図した改造を作業中なのですが、反対とかありますでしょうか?
> (大きい数になるので、除算コストが大きい、というのは
> あるかもしれません)


-- 

In This Thread