[#25010] test_flush fails. — "URABE Shyouhei aka.mput" <root@...>
mput です。以下のように test_flush が失敗します。
[#25031] Method#to_proc とブロックの引渡し — Masahiro Sakai (酒井政裕) <sakai@...>
酒井といいます。
[#25035] 拡張ライブラリへの共有ライブラリのPATHの埋め込み — Takahiro Kambe <taca@...>
こんにちは。
なかだです。
In message <200412060607.iB667giF007533@sharui.nakada.niregi.kanuma.tochigi.jp>
なかだです。
In message <200412070015.iB70FAiF012770@sharui.nakada.niregi.kanuma.tochigi.jp>
2004-12-07 (火) の 12:27 +0900 に Takahiro Kambe さんは書きました:
こんにちは、なかむら(う)です。
In message <1102395885.21598.19.camel@rice.p.arika.org>
なかだです。
In message <200412071613.iB7GD2r4007918@sharui.nakada.niregi.kanuma.tochigi.jp>
[#25041] temporal locking already locked string on simultaneous write — Tanaka Akira <akr@...17n.org>
同じ文字列をほぼ同時に IO に書き込むと、temporal locking already
まつもと ゆきひろです
In article <1102133507.339625.10453.nullmailer@x31.priv.netlab.jp>,
In article <1102176395.383559.21204.nullmailer@x31.priv.netlab.jp>,
まつもと ゆきひろです
Tietew です。
[#25054] rexml — Takahiro Kambe <taca@...>
こんばんは。
なかだです。
In message <200412051451.iB5EpYiF009060@sharui.nakada.niregi.kanuma.tochigi.jp>
まつもと ゆきひろです
In message <1102290330.040938.1210.nullmailer@x31.priv.netlab.jp>
[#25096] double free problem — "Akinori MUSHA" <knu@...>
ご無沙汰しております。
Hi,
In article <1102401703.030252.2480.nullmailer@x31.priv.netlab.jp>,
まつもと ゆきひろです
Yukihiro Matsumoto wrote:
Yukihiro Matsumoto wrote:
In article <41BEF768.7030008@ttsky.net>,
Tanaka Akira wrote:
[#25101] non-stdio buffering — Tanaka Akira <akr@...17n.org>
えぇと、今回 1.9 でなにが起きたのかを私が把握している範囲でまとめてお
こんにちは、なかむら(う)です。
In article <20041208.033521.635728872.gotoyuzo@sawara.does.notwork.org>,
[#25103] ruby_xrealloc dumps core — Tietew <tietew-ml-ruby-dev@...>
Tietew です。
[#25134] Set/test_eq failed on Tru64UNIX — Minero Aoki <aamine@...>
青木です。
なかだです。
まつもと ゆきひろです
[#25152] 1.8 reopen problem with duplex popen — Tanaka Akira <akr@...17n.org>
次のように、1.8 で双方向 popen な IO を reopen するとエラーになること
なかだです。
In article <200412110142.iBB1gDIh004622@sharui.nakada.niregi.kanuma.tochigi.jp>,
なかだです。
わたなべです。
In article <41-Tue21Dec2004123451+0900-eban@os.rim.or.jp>,
[#25158] core dump on NetBSD 2.0 — Tanaka Akira <akr@...17n.org>
NetBSD 2.0 で次のようにすると core を吐きます。
In article <87hdmsivva.fsf@serein.a02.aist.go.jp>,
In article <87ekhwiv7g.fsf@serein.a02.aist.go.jp>,
なかだです。
In article <200412130040.iBD0e8Qh003275@sharui.nakada.niregi.kanuma.tochigi.jp>,
まつもと ゆきひろです
In article <1102906796.625997.23964.nullmailer@x31.priv.netlab.jp>,
前田です。
In article <41BD40DC.6030706@ruby-lang.org>,
まつもと ゆきひろです
[#25160] ripper in snapshot.tar.gz — Tanaka Akira <akr@...17n.org>
ふと、とある autoconf も bison も入っていない環境で Ruby をコンパイル
[#25193] 1.8.2 release schedule — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
[#25226] Zlib::Deflate.deflate dumps core — Tanaka Akira <akr@...17n.org>
次のようにすると core を吐きます。
[#25236] BSD/OS rlim_t — OHARA Shigeki <os@...>
大原です。
[#25252] core dump if local_append_gen invokes GC — Tanaka Akira <akr@...17n.org>
先程 1.9 を make test-all したところ、
[#25270] BSD/OS LDSHARED — OHARA Shigeki <os@...>
大原です。
[#25283] 1.8.2 preview4 — Yukihiro Matsumoto <matz@...>
Hello,
[#25292] tkutil is installed on no tcl/tk environment — Tanaka Akira <akr@...17n.org>
ふと気がついたのですが、Tcl/Tk が入っていない環境でも、tkutil は
[#25299] Re: リリース準備 — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
高橋征義です。
山本です。
小西 弘将です。
山本です。
山本です。
山本です。
永井@知能.九工大です.
[#25302] test_readline.rb blocks on BSD again — GOTOU Yuuzou <gotoyuzo@...>
In message <20041223175402.3116FC6718@lithium.ruby-lang.org>,
In message <20041224.131211.846943951.gotoyuzo@sawara.does.notwork.org>,
まつもと ゆきひろです
わたなべです。
In message <20041225140050.378109.eban@os.rim.or.jp>,
なかだです。
In article <200412251620.iBPGK1xA009288@sharui.nakada.niregi.kanuma.tochigi.jp>,
なかだです。
In article <200412260300.iBQ3038u005055@sharui.nakada.niregi.kanuma.tochigi.jp>,
[#25336] webrick/httpauth.rb must require 'base64' — sheepman <sheepman@...>
こんにちは、sheepman です。
[#25341] String#center dumps core — Tanaka Akira <akr@...17n.org>
次のようにすると core を吐きます。
なかだです。
[#25342] 1.9.0でbcc版がコンパイルできない — 小西 弘将 <konishih@...6.so-net.ne.jp>
小西 弘将です。
山本です。
[#25365] method(:p).to_proc.call([]) — Masahiro Sakai (酒井政裕) <sakai@...>
酒井です。
[#25370] FileUtils.copy_stream on nonblocking IO — Tanaka Akira <akr@...17n.org>
FileUtils.copy_stream を nonblocking な IO に対して使うと、次のように
[ruby-dev:25207] Re: [ruby-cvs] ruby/lib/cgi/session, ruby/lib/cgi, ruby/lib, ruby/ext/openssl, ruby: * lib/set.rb (Set#==):
In article <20041215063557.C29FEC671F@lithium.ruby-lang.org>,
matz@ruby-lang.org (matz) writes:
> matz Wed, 15 Dec 2004 15:35:56 +0900
> * lib/set.rb (Set#==): [ruby-dev:25206]
> Revision Changes Path
> 1.24 +8 -8 ruby/lib/set.rb
> http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/lib/set.rb?cvsroot=src&r1=1.23&r2=1.24
もしかしたら計算量なんて気にしないのかも知れませんが、Set#== のオーダ
が変わっているようです。
以前は、
% ./ruby -rset -ve '
100.times {|n| n *= 100
s1 = Set.new; n.times {|i| s1 << i }
s2 = Set.new; n.times {|i| s2 << i }
tms1 = Process.times
s1 == s2
tms2 = Process.times
puts "#{n} #{tms2.utime-tms1.utime}"
}
'
ruby 1.9.0 (2004-12-14) [i686-linux]
-e:6: warning: useless use of == in void context
0 0.0
100 0.0
200 0.0
300 0.0
400 0.0
500 0.0
600 0.0
700 0.01
800 0.0
900 0.01
1000 0.0
1100 0.0
1200 0.01
1300 0.01
1400 0.0
1500 0.0
1600 0.0
1700 0.0
1800 0.01
1900 0.01
2000 0.0
2100 0.0
2200 0.01
2300 0.01
2400 0.0
2500 0.01
2600 0.0
2700 0.01
2800 0.01
2900 0.00999999999999995
3000 0.01
3100 0.0
3200 0.01
3300 0.01
3400 0.01
3500 0.01
3600 0.0
3700 0.01
3800 0.00999999999999995
3900 0.01
4000 0.01
4100 0.01
4200 0.0099999999999999
4300 0.01
4400 0.01
4500 0.01
4600 0.01
4700 0.01
4800 0.01
4900 0.01
5000 0.01
5100 0.0099999999999999
5200 0.01
5300 0.02
5400 0.01
5500 0.02
5600 0.01
5700 0.01
5800 0.02
5900 0.01
6000 0.01
6100 0.01
6200 0.01
6300 0.01
6400 0.02
6500 0.02
6600 0.02
6700 0.02
6800 0.01
6900 0.01
7000 0.02
7100 0.02
7200 0.02
7300 0.02
7400 0.02
7500 0.01
7600 0.02
7700 0.02
7800 0.02
7900 0.0100000000000002
8000 0.00999999999999979
8100 0.0100000000000002
8200 0.00999999999999979
8300 0.02
8400 0.02
8500 0.02
8600 0.02
8700 0.02
8800 0.02
8900 0.02
9000 0.02
9100 0.02
9200 0.02
9300 0.02
9400 0.0299999999999998
9500 0.02
9600 0.02
9700 0.0100000000000002
9800 0.02
9900 0.02
というくらいで動いていたのが、変更後は
Z(3):akr@serein% ./ruby -rset -ve '
100.times {|n| n *= 100
s1 = Set.new; n.times {|i| s1 << i }
s2 = Set.new; n.times {|i| s2 << i }
tms1 = Process.times
s1 == s2
tms2 = Process.times
puts "#{n} #{tms2.utime-tms1.utime}"
}
'
ruby 1.9.0 (2004-12-15) [i686-linux]
-e:6: warning: useless use of == in void context
0 0.0
100 0.0
200 0.01
300 0.01
400 0.02
500 0.03
600 0.04
700 0.06
800 0.07
900 0.1
1000 0.12
1100 0.14
1200 0.17
1300 0.19
1400 0.23
1500 0.26
1600 0.3
1700 0.33
1800 0.37
1900 0.41
2000 0.46
2100 0.53
2200 0.57
2300 0.61
2400 0.67
2500 0.73
2600 0.78
2700 0.82
2800 0.94
2900 0.960000000000001
3000 1.02
3100 1.13
3200 1.16
3300 1.24
3400 1.3
3500 1.39
3600 1.46
3700 1.55
3800 1.63
3900 1.73
4000 1.79
4100 1.89
4200 2.0
4300 2.1
4400 2.22
4500 2.31
4600 2.41999999999999
4700 2.55
4800 2.69
4900 2.76
5000 2.9
5100 3.01000000000001
5200 3.11
5300 3.24
5400 3.38
5500 3.55
5600 3.65000000000001
5700 3.78
5800 3.90000000000001
5900 4.05
6000 4.2
6100 4.31
6200 4.23999999999999
6300 4.39
6400 4.59
6500 4.70999999999999
6600 4.90000000000001
6700 5.04000000000001
...
というように、時間がかかるようになっています。
たぶん、s1 == s2 で、O(s1.size * s2.size) になっているように思います。
また、ソースを眺めて気がついたのですが、
def eql?(o) # :nodoc:
@hash.hash == o.hash
end
という定義は変だと思います
% ./ruby -rset -e '
s1 = Set[]
s2 = Set[1]
p s1, s2, s1.eql?(s2)
'
#<Set: {}>
#<Set: {1}>
true
--
[田中 哲][たなか あきら][Tanaka Akira]