山本です。 "U.Nakamura" <usa / garbagecollect.jp> wrote: (2004/07/19 15:47) >憶測ですが、SystemRootが C:\WINDOWS でない時にこの問題が発生 >しているように思います。 >私はWinXPを3つ持っているですが、そのうち2つではこの問題が発生 >せず、1つでのみ発生しています。そのマシンのみ、SystemRootが >C:\WINNT です。 >なんかそのあたりでマヌケなことをしているAPIがあるんじゃないか >なー、と思うのですが、何が起きてるんですかねえ。 調べてみました。結論から言うと、WinSock 関数が遅くなっているようです。 1. require で呼ばれる file.c(4140) rb_find_file が遅い 2. その file.c(4209) で呼ばれる file_load_ok が遅い 3. その file.c(4080) で呼ばれる fclose が遅い 4. fclose は rb_w32_fclose でオーバーライドされている 5. その win32/win32.c(3219) で呼ばれる is_socket が遅い 6. その win32/win32.c(1639) で呼ばれる getsockopt が遅い なんか微妙に状況が違うような気もしますが、Cygwin でも問題になった ことがあるようです。 http://sources.redhat.com/ml/cygwin-apps/2001-05/msg00000.html http://www.cygwin.com/ml/cygwin-apps/2001-05/msg00025.html Cygwin では対処ずみなので問題なかったのだと思います。