[ruby-dev:29414] Re: too slow drb test
From:
Tanaka Akira <akr@...>
Date:
2006-09-02 16:13:50 UTC
List:
ruby-dev #29414
In article <320E7B35-92C3-42DC-A304-22492F2D86B9@mva.biglobe.ne.jp>,
Masatoshi SEKI <m_seki@mva.biglobe.ne.jp> writes:
> たとえば、次のように変更したら改善するでしょうか?
改善しますので、そうしていただけると助かります。
rka@td176> time ./ruby test/runner.rb test/drb/test_acl.rb -v
Loaded suite test_acl.rb
Started
test_all(ACLEntryTest): .
test_ip(ACLEntryTest): .
test_ip_v6(ACLEntryTest): .
test_name(ACLEntryTest): .
test_1(ACLListTest): .
test_2(ACLListTest): .
test_all_1(ACLListTest): .
test_all_2(ACLListTest): .
test_0(ACLTest): .
test_1(ACLTest): .
test_not_0(ACLTest): .
test_not_1(ACLTest): .
Finished in 0.023976 seconds.
12 tests, 91 assertions, 0 failures, 0 errors
real 0.0
user 0.0
sys 0.0
というように test_acl.rb で (time では) 測定不能なほど短時間で済み、
test/drb 全体でも
rka@td176> time ./ruby test/runner.rb test/drb -v
Loaded suite drb
Started
test_all(ACLEntryTest): .
test_ip(ACLEntryTest): .
test_ip_v6(ACLEntryTest): .
test_name(ACLEntryTest): .
test_1(ACLListTest): .
test_2(ACLListTest): .
test_all_1(ACLListTest): .
test_all_2(ACLListTest): .
test_0(ACLTest): .
test_1(ACLTest): .
test_not_0(ACLTest): .
test_not_1(ACLTest): .
test_01(TestDRbAry): .
test_02_collect(TestDRbAry): .
test_03_redo(TestDRbAry): .
test_04_retry(TestDRbAry): .
test_05_break(TestDRbAry): .
test_06_next(TestDRbAry): .
test_07_break_18(TestDRbAry): .
test_00_DRbObject(TestDRbCore): .
test_01(TestDRbCore): .
test_01_02_loop(TestDRbCore): .
test_02_unknown(TestDRbCore): .
test_03(TestDRbCore): .
test_04(TestDRbCore): .
test_05_eq(TestDRbCore): .
test_06_timeout(TestDRbCore): .
test_07_public_private_protected_missing(TestDRbCore): .
test_08_here(TestDRbCore): .
test_09_option(TestDRbCore): .
test_10_yield(TestDRbCore): .
test_10_yield_undumped(TestDRbCore): .
test_11_remote_no_method_error(TestDRbCore): .
test_01_safe1_safe4_eval(TestDRbEval): .
test_01_large_ary(TestDRbLarge): .
test_02_large_ary(TestDRbLarge): .
test_03_large_ary(TestDRbLarge): .
test_04_many_arg(TestDRbLarge): .
test_05_too_large_ary(TestDRbLarge): .
test_01(TestDRbMServer): .
test_01(TestDRbSSLAry): .
test_02_collect(TestDRbSSLAry): .
test_03_redo(TestDRbSSLAry): .
test_04_retry(TestDRbSSLAry): .
test_05_break(TestDRbSSLAry): .
test_06_next(TestDRbSSLAry): .
test_07_break_18(TestDRbSSLAry): .
test_00_DRbObject(TestDRbSSLCore): .
test_01(TestDRbSSLCore): .
test_01_02_loop(TestDRbSSLCore): .
test_02_unknown(TestDRbSSLCore): .
test_03(TestDRbSSLCore): .
test_04(TestDRbSSLCore): .
test_05_eq(TestDRbSSLCore): .
test_06_timeout(TestDRbSSLCore): .
test_07_public_private_protected_missing(TestDRbSSLCore): .
test_08_here(TestDRbSSLCore): .
test_09_option(TestDRbSSLCore): .
test_10_yield(TestDRbSSLCore): .
test_10_yield_undumped(TestDRbSSLCore): .
test_11_remote_no_method_error(TestDRbSSLCore): .
test_01(TestDRbSafe1): .
test_02_collect(TestDRbSafe1): .
test_03_redo(TestDRbSafe1): .
test_04_retry(TestDRbSafe1): .
test_05_break(TestDRbSafe1): .
test_06_next(TestDRbSafe1): .
test_07_break_18(TestDRbSafe1): .
test_01(TestDRbUNIXAry): .
test_02_collect(TestDRbUNIXAry): .
test_03_redo(TestDRbUNIXAry): .
test_04_retry(TestDRbUNIXAry): .
test_05_break(TestDRbUNIXAry): .
test_06_next(TestDRbUNIXAry): .
test_07_break_18(TestDRbUNIXAry): .
test_00_DRbObject(TestDRbUNIXCore): .
test_01(TestDRbUNIXCore): .
test_01_02_loop(TestDRbUNIXCore): .
test_02_unknown(TestDRbUNIXCore): .
test_03(TestDRbUNIXCore): F
test_04(TestDRbUNIXCore): .
test_05_eq(TestDRbUNIXCore): .
test_06_timeout(TestDRbUNIXCore): F
test_07_public_private_protected_missing(TestDRbUNIXCore): F
test_08_here(TestDRbUNIXCore): E
test_09_option(TestDRbUNIXCore): .
test_10_yield(TestDRbUNIXCore): E
test_10_yield_undumped(TestDRbUNIXCore): .
test_11_remote_no_method_error(TestDRbUNIXCore): E
test_01_one(TestDRbYield): E
test_02_two(TestDRbYield): .
test_03_many(TestDRbYield): E
test_04_many_to_one(TestDRbYield): .
test_05_array_subclass(TestDRbYield): E
test_06_taint(TestDRbYield): .
test_01_one(TestRuby18Yield): .
test_02_two(TestRuby18Yield): .
test_03_many(TestRuby18Yield): .
test_04_many_to_one(TestRuby18Yield): .
test_05_array_subclass(TestRuby18Yield): .
test_06_taint(TestRuby18Yield): .
test_01_one(TestRubyYield): .
test_02_two(TestRubyYield): .
test_03_many(TestRubyYield): .
test_04_many_to_one(TestRubyYield): .
test_05_array_subclass(TestRubyYield): .
test_06_taint(TestRubyYield): .
Finished in 8.417451 seconds.
1) Failure:
test_03(TestDRbUNIXCore) [/var/tmp/rka/gcc-32-nopth-18/ruby/test/drb/drbtest.rb:143]:
<ArgumentError> exception expected but was
Class: <Errno::EINVAL>
Message: <"Invalid argument">
---Backtrace---
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/unix.rb:91:in `path'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/unix.rb:91:in `close'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1199:in `close'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1181:in `open'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1085:in `method_missing'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1103:in `with_friend'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1084:in `method_missing'
/var/tmp/rka/gcc-32-nopth-18/ruby/test/drb/drbtest.rb:144:in `test_03'
/var/tmp/rka/gcc-32-nopth-18/ruby/test/drb/drbtest.rb:143:in `test_03'
---------------
2) Failure:
test_06_timeout(TestDRbUNIXCore) [/var/tmp/rka/gcc-32-nopth-18/ruby/test/drb/drbtest.rb:171]:
<Timeout::Error> exception expected but was
Class: <Errno::EINVAL>
Message: <"Invalid argument">
---Backtrace---
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/unix.rb:91:in `path'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/unix.rb:91:in `close'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1199:in `close'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1181:in `open'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1085:in `method_missing'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1103:in `with_friend'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1084:in `method_missing'
/var/tmp/rka/gcc-32-nopth-18/ruby/test/drb/drbtest.rb:172:in `test_06_timeout'
/var/tmp/rka/gcc-32-nopth-18/ruby/test/drb/drbtest.rb:171:in `test_06_timeout'
---------------
3) Failure:
test_07_public_private_protected_missing(TestDRbUNIXCore) [/var/tmp/rka/gcc-32-nopth-18/ruby/test/drb/drbtest.rb:180]:
Exception raised:
Class: <Errno::EINVAL>
Message: <"Invalid argument">
---Backtrace---
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/unix.rb:91:in `path'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/unix.rb:91:in `close'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1199:in `close'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1181:in `open'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1085:in `method_missing'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1103:in `with_friend'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1084:in `method_missing'
/var/tmp/rka/gcc-32-nopth-18/ruby/test/drb/drbtest.rb:182:in `test_07_public_private_protected_missing'
/var/tmp/rka/gcc-32-nopth-18/ruby/test/drb/drbtest.rb:180:in `test_07_public_private_protected_missing'
---------------
4) Error:
test_08_here(TestDRbUNIXCore):
Errno::EINVAL: Invalid argument
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/unix.rb:91:in `path'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/unix.rb:91:in `close'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1199:in `close'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1178:in `open'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/thread.rb:135:in `synchronize'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1176:in `open'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1085:in `method_missing'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1103:in `with_friend'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1084:in `method_missing'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/extservm.rb:38:in `service'
/var/tmp/rka/gcc-32-nopth-18/ruby/test/drb/drbtest.rb:35:in `ext_service'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/timeout.rb:56:in `timeout'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/timeout.rb:76:in `timeout'
/var/tmp/rka/gcc-32-nopth-18/ruby/test/drb/drbtest.rb:34:in `ext_service'
./test/drb/test_drbunix.rb:23:in `setup'
5) Error:
test_10_yield(TestDRbUNIXCore):
Errno::EINVAL: Invalid argument
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/unix.rb:91:in `path'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/unix.rb:91:in `close'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1199:in `close'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1178:in `open'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/thread.rb:135:in `synchronize'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1176:in `open'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1085:in `method_missing'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1103:in `with_friend'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1084:in `method_missing'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/extservm.rb:38:in `service'
/var/tmp/rka/gcc-32-nopth-18/ruby/test/drb/drbtest.rb:35:in `ext_service'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/timeout.rb:56:in `timeout'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/timeout.rb:76:in `timeout'
/var/tmp/rka/gcc-32-nopth-18/ruby/test/drb/drbtest.rb:34:in `ext_service'
./test/drb/test_drbunix.rb:23:in `setup'
6) Error:
test_11_remote_no_method_error(TestDRbUNIXCore):
Errno::EINVAL: Invalid argument
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/unix.rb:91:in `path'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/unix.rb:91:in `close'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1199:in `close'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1178:in `open'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/thread.rb:135:in `synchronize'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1176:in `open'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1085:in `method_missing'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1103:in `with_friend'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1084:in `method_missing'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/extservm.rb:38:in `service'
/var/tmp/rka/gcc-32-nopth-18/ruby/test/drb/drbtest.rb:35:in `ext_service'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/timeout.rb:56:in `timeout'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/timeout.rb:76:in `timeout'
/var/tmp/rka/gcc-32-nopth-18/ruby/test/drb/drbtest.rb:34:in `ext_service'
./test/drb/test_drbunix.rb:23:in `setup'
7) Error:
test_01_one(TestDRbYield):
Errno::EINVAL: Invalid argument
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/unix.rb:91:in `path'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/unix.rb:91:in `close'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1199:in `close'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1178:in `open'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/thread.rb:135:in `synchronize'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1176:in `open'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1085:in `method_missing'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1103:in `with_friend'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1084:in `method_missing'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/extservm.rb:38:in `service'
/var/tmp/rka/gcc-32-nopth-18/ruby/test/drb/drbtest.rb:35:in `ext_service'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/timeout.rb:56:in `timeout'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/timeout.rb:76:in `timeout'
/var/tmp/rka/gcc-32-nopth-18/ruby/test/drb/drbtest.rb:34:in `ext_service'
./test/drb/test_drb.rb:9:in `setup'
8) Error:
test_03_many(TestDRbYield):
Errno::EINVAL: Invalid argument
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/unix.rb:91:in `path'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/unix.rb:91:in `close'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1199:in `close'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1178:in `open'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/thread.rb:135:in `synchronize'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1176:in `open'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1085:in `method_missing'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1103:in `with_friend'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1084:in `method_missing'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/extservm.rb:38:in `service'
/var/tmp/rka/gcc-32-nopth-18/ruby/test/drb/drbtest.rb:35:in `ext_service'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/timeout.rb:56:in `timeout'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/timeout.rb:76:in `timeout'
/var/tmp/rka/gcc-32-nopth-18/ruby/test/drb/drbtest.rb:34:in `ext_service'
./test/drb/test_drb.rb:9:in `setup'
9) Error:
test_05_array_subclass(TestDRbYield):
Errno::EINVAL: Invalid argument
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/unix.rb:91:in `path'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/unix.rb:91:in `close'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1199:in `close'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1178:in `open'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/thread.rb:135:in `synchronize'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1176:in `open'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1085:in `method_missing'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1103:in `with_friend'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/drb.rb:1084:in `method_missing'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/drb/extservm.rb:38:in `service'
/var/tmp/rka/gcc-32-nopth-18/ruby/test/drb/drbtest.rb:35:in `ext_service'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/timeout.rb:56:in `timeout'
/var/tmp/rka/gcc-32-nopth-18/lib/ruby/1.8/timeout.rb:76:in `timeout'
/var/tmp/rka/gcc-32-nopth-18/ruby/test/drb/drbtest.rb:34:in `ext_service'
./test/drb/test_drb.rb:9:in `setup'
107 tests, 454 assertions, 3 failures, 6 errors
real 8.6
user 2.2
sys 1.0
というように、8.6秒で済むようになります。
--
[田中 哲][たなか あきら][Tanaka Akira]