From: EGUCHI Osamu Date: 2000-02-29T15:15:13+09:00 Subject: [ruby-dev:9320] Re: [fix] String#* with huge string えぐち@エスアンドイー です。 >>> In message [ruby-dev:9318] Re: [fix] String#* with huge string On Tue, 29 Feb 2000 14:38:11 +0900, matz@netlab.co.jp (Yukihiro Matsumoto) said: > まつもと ゆきひろです > > In message "[ruby-dev:9314] Re: [fix] String#* with huge string" > on 00/02/29, EGUCHI Osamu writes: > |なるほど、そうすると文字列の長さの取り得る範囲は、 > |0 〜 LONG_MAX ですか?(ULONG_MAX ではないですよね) > > そういうことになりますね。 > > |これは負のインデックスが末尾から数える事で、 > |「負のインデックスを使わないとアクセスできない範囲」 > |が生じるかという事を気にしています。 > > 0 〜 LONG_MAXだと負のインデックスでないと届かない範囲は存在 > しませんよね。 はい 0 〜 ULONG_MAX でなく、 0 〜 LONG_MAX なら long の範囲にはいりますね。 と言う事で、String#length は 2.1G(32bit addr.) が上限 ということですね。 #充分多きいと言えない世界は来るのでしょうか? > |たしかに int で受けていいるところが散見されますね、 > > 直しておきます。 ruby ってかなり、64bit 対応進んでると思うんだけど、 他の言語はどんなんでしょう? > |まぁ、ギガバイトの文字列なんて使う機会はちょっと > |考えにくいけど、VM のページ的に疎なオブジェクトが > |できれば使い道あるかも知れない。 > > うむむ、普通のmallocでは実現できないかも。それとも普通の > mallocがそれくらい賢くなって将来のOSではOKになるかも。 普通のmallocがそこまで賢くなれば、楽な事この上ないですが、 実記憶やスワップ領域の大きさを気にしないでコードを書く輩が 多くなって、アドレス空間が先に枯渇したりして、、、 、、64bitアドレスならそれもきにしないでいい、か。 えぐち