[#11357] [PATCH] an analogue of `long long' — "Nobuyoshi.Nakada" <nobu.nakada@...>

なかだです。

18 messages 2000/11/01
[#11358] Re: [PATCH] an analogue of `long long' — matz@... (Yukihiro Matsumoto) 2000/11/01

まつもと ゆきひろです

[#11364] Re: [PATCH] an analogue of `long long' — EGUCHI Osamu <eguchi@...> 2000/11/02

えぐち@エスアンドイー です。

[#11440] class Character (was: Ruby I18N) — Yasushi Shoji <yashi@...>

[ruby-dev:11428] からの続きですが、threadは切りました。

14 messages 2000/11/08
[#11442] Re: class Character (was: Ruby I18N) — TAKAHASHI Masayoshi <maki@...> 2000/11/08

高橋征義です。用語について。

[#11443] Re: class Character (was: Ruby I18N) — Yasushi Shoji <yashi@...> 2000/11/08

At Wed, 8 Nov 2000 20:44:55 +0900,

[#11520] A problem of Socket methods on Windows — OKA Toshiyuki <oka@...>

岡と申します。

22 messages 2000/11/15
[#11523] Re: A problem of Socket methods on Windows — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/11/15

なかだです。

[#11528] Re: A problem of Socket methods on Windows — matz@... (Yukihiro Matsumoto) 2000/11/15

まつもと ゆきひろです

[#11532] Re: A problem of Socket methods on Windows — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/11/15

なかだです。

[#11534] Re: A problem of Socket methods on Windows — OKA Toshiyuki <oka@...> 2000/11/15

岡です。

[#11535] Re: A problem of Socket methods on Windows — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/11/15

なかだです。

[#11538] Re: A problem of Socket methods on Windows — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/11/15

なかだです。

[#11662] IO (Re: fork problem?) — Tanaka Akira <akr@...17n.org>

In article <E140cR3-0002ls-00@ev.netlab.zetabits.co.jp>,

22 messages 2000/11/28
[#11663] Re: IO (Re: fork problem?) — matz@... (Yukihiro Matsumoto) 2000/11/28

まつもと ゆきひろです

[#11664] Re: IO (Re: fork problem?) — Tanaka Akira <akr@...17n.org> 2000/11/28

In article <E140fxW-0002u9-00@ev.netlab.zetabits.co.jp>,

[#11665] Re: IO (Re: fork problem?) — Tanaka Akira <akr@...17n.org> 2000/11/28

In article <hvor93w5wb8.fsf@coulee.m17n.org>,

[#11669] Re: IO (Re: fork problem?) — Tanaka Akira <akr@...17n.org> 2000/11/29

In article <hvoofz05uwz.fsf@coulee.m17n.org>,

[#11672] Re: IO (Re: fork problem?) — matz@... (Yukihiro Matsumoto) 2000/11/29

まつもと ゆきひろです

[#11675] Re: IO (Re: fork problem?) — Koji Arai <JCA02266@...> 2000/11/30

新井です。

[#11677] Re: IO (Re: fork problem?) — matz@... (Yukihiro Matsumoto) 2000/12/01

まつもと ゆきひろです

[ruby-dev:11410] Re: [PATCH] an analogue of `long long'

From: Masahiro Tanaka <masa@...>
Date: 2000-11-07 14:32:58 UTC
List: ruby-dev #11410
田中です

>From: matz@zetabits.com (Yukihiro Matsumoto)
>Subject: [ruby-dev:11391] Re: [PATCH] an analogue of `long long'

> と思ったのですが、この部分、乗算・除算を行っていたのを左右ビッ
> トシフトに置き換えたら、かなり速くなりました。やはり人の意見
> には耳を傾けた方が良いようです。^^;;;

あらら、そうですか。私がおかしいのかな。

> randomな方のテストスクリプトください。[ruby-dev:11391]に書い
> た私の実装でも試してみますから。

以下のスクリプトです。

--- ここから

def bigrand(n)
  n = rand(64)+n
  m = n%32
  a = rand(2**m)
  n -= m;
  max = 2**32-1
  while n>0
    a <<= 32;
    a  |= rand(max);
    n  -= 32;
  end
  a
end

sz = 1000
a = Array.new(sz)
b = Array.new(sz)
#srand 0

(0...sz).each {|i|
  a[i] = bigrand(1024);
  b[i] = bigrand(256);
}

start = Time.now
(0...sz).each {|i|
  aa=a[i]; bb=b[i]
  100.times { c,d = aa.divmod bb }
  #c,d = a[i].divmod b[i]
  #if d >= b[i] || a[i] != c*b[i]+d
  #  printf "%i.divmod(%i) = %i, %i\n", a[i], b[i], c, d
  #  printf "c*b+d = %i\n", c*b[i]+d
  #end
}
printf "  Time = %8.3f s\n", (Time.now - start).to_f

--- ここまで


* Sun Ultra 10, gcc 2.95.2 で走らせた結果:

# 変更前
% ./ruby bigdiv.rb
  Time =    7.517 s

# 変更後
% ./ruby bigdiv.rb
  Time =    7.313 s


田中昌宏

In This Thread