[#11357] [PATCH] an analogue of `long long' — "Nobuyoshi.Nakada" <nobu.nakada@...>
なかだです。
まつもと ゆきひろです
えぐち@エスアンドイー です。
まつもと ゆきひろです
えぐち@エスアンドイー です。
まつもと ゆきひろです
>From: matz@zetabits.com (Yukihiro Matsumoto)
まつもと ゆきひろです
[#11440] class Character (was: Ruby I18N) — Yasushi Shoji <yashi@...>
[ruby-dev:11428] からの続きですが、threadは切りました。
高橋征義です。用語について。
At Wed, 8 Nov 2000 20:44:55 +0900,
高橋征義です。
At Thu, 9 Nov 2000 13:30:34 +0900,
まつもと ゆきひろです
[#11447] gets は secure? — Kazuhiro NISHIYAMA <zn@...>
出力がInsecureなのに入力はsecureなのでしょうか?
[#11467] debug write in regex.c? — "Nobuyoshi.Nakada" <nobu.nakada@...>
なかだです。
[#11500] rb_to_integer/rb_to_int — "Nobuyoshi.Nakada" <nobu.nakada@...>
なかだです。
[#11520] A problem of Socket methods on Windows — OKA Toshiyuki <oka@...>
岡と申します。
なかだです。
まつもと ゆきひろです
なかだです。
岡です。
なかだです。
なかだです。
岡です。
なかだです。
[#11569] blocking on socket? — Shugo Maeda <shugo@...>
前田です。
[#11591] object.c パッチ — Kazuhiro NISHIYAMA <zn@...>
使われてなかったnil_plusの削除とOBJ_INFECTへの変更です。
[#11611] return value of waitpid2 — Koji Arai <JCA02266@...>
新井です。
まつもと ゆきひろです
荒井です。いや、新井です。(よくあることさ)
まつもと ゆきひろです
新井です。
新井です。
[#11618] Re: class variable — "Koji Arai" <jca02266@...>
新井です
なかだです。
まつもと ゆきひろです
> まつもと ゆきひろです
まつもと ゆきひろです
まつもと ゆきひろです
新井です。
[#11641] eval too slow — Wakou Aoyama <wakou@...>
青山です。
[#11650] conflict of NODE_DREGX_ONCE — "Nobuyoshi.Nakada" <nobu.nakada@...>
なかだです。
まつもと ゆきひろです
[#11662] IO (Re: fork problem?) — Tanaka Akira <akr@...17n.org>
In article <E140cR3-0002ls-00@ev.netlab.zetabits.co.jp>,
まつもと ゆきひろです
In article <E140fxW-0002u9-00@ev.netlab.zetabits.co.jp>,
In article <hvor93w5wb8.fsf@coulee.m17n.org>,
In article <hvoofz05uwz.fsf@coulee.m17n.org>,
まつもと ゆきひろです
新井です。
まつもと ゆきひろです
In article <E141eaC-0003w0-00@ev.netlab.zetabits.co.jp>,
まつもと ゆきひろです
In article <E142ZqF-0004rX-00@ev.netlab.zetabits.co.jp>,
まつもと ゆきひろです
In article <E143Zem-000271-00@ev.netlab.zetabits.co.jp>,
まつもと ゆきひろです
In article <E143amj-00028V-00@ev.netlab.zetabits.co.jp>,
[ruby-dev:11366] Re: [PATCH] an analogue of `long long'
えぐち@エスアンドイー です。
>>> In message [ruby-dev:11365] Re: [PATCH] an analogue of `long long'
On Thu, 2 Nov 2000 13:08:01 +0900, matz@zetabits.com (Yukihiro Matsumoto) said:
> まつもと ゆきひろです
>
> In message "[ruby-dev:11364] Re: [PATCH] an analogue of `long long'"
> on 00/11/02, EGUCHI Osamu <eguchi@shizuokanet.ne.jp> writes:
> |
> |私も、以前同様の試みをしましたが、
> |32bit の処理系では long long がサポートされれていても、
> |サポート関数(gcc では __umoddi3 など)のコールに
> |多くの時間が費され、乗算除算はかなり速度が低下しました。
> |#反対に、加減算は long long の使用で速度向上が見られます。
>
> そうなんですか? 私のマシン(i596-linux)ではlong long化で乗算・
> 除算主体の演算が倍程度速くなりました。gccの性能でしょうか。
> 64bitのalphaでは同じ演算が実に6倍になったという。
>
> なにが違うんでしょうねえ。
なるほど、こちらでも先程のスクリプトが
ruby 1.6.2 (2000-11-01) [i386-freebsdelf4.1.1]
⇒ % time ./ruby -v /tmp/bnt.rb > /dev/null
0.428u 0.009s 0:00.43 97.6% 532+1434k 0+0io 0pf+0w
ruby 1.6.2 (2000-10-18) [i386-freebsd4.1.1]
⇒ % time ruby -v /tmp/bnt.rb > /dev/null
0.647u 0.019s 0:00.66 98.4% 4+1172k 0+0io 0pf+0w
でした。
私が試したスクリプトは、標準配布の sample/pi.rb の
外周のプールを 6000 周で終らせた場合の速度の測定です。
これですと、
ruby 1.6.2 (2000-11-01) [i386-freebsdelf4.1.1]
⇒ % time ./ruby ~/work/pi.rb > /dev/null
29.202u 0.287s 0:29.74 99.1% 511+11441k 0+0io 0pf+0w
ruby 1.6.2 (2000-10-18) [i386-freebsd4.1.1]
⇒ % time ruby ~/work/pi.rb > /dev/null
26.229u 0.367s 0:26.85 98.9% 4+10869k 0+0io 0pf+0w
と若干、long long 使用版が若干遅く、プロファイルを取ると、
乗除算関係のコンパイラのランタイムが2位と3位でした。
えぐち
#!/usr/local/bin/ruby
k, a, b, a1, b1 = 2, 4, 1, 12, 4
1.upto(6000) do
# Next approximation
p, q, k = k*k, 2*k+1, k+1
a, b, a1, b1 = a1, b1, p*a+q*a1, p*b+q*b1
# Print common digits
d = a / b
d1 = a1 / b1
while d == d1
print d
$stdout.flush
a, a1 = 10*(a%b), 10*(a1%b1)
d, d1 = a/b, a1/b1
end
end
puts