[#35688] サブクラスのオブジェクト生成時に、スーパークラスの初期化を行うには ? — Onodera Takafumi <onodera-tak@...>

9 messages 2002/08/01

[#35772] Unsecure world writeable dirの警告 — "井上 浩一" <kyoui32@...>

=1B$B0f>e$G$9!#=1B(B

31 messages 2002/08/26
[#35774] Re: Unsecure world writeable dir の警告 — matz@... (Yukihiro Matsumoto) 2002/08/26

まつもと ゆきひろです

[#35775] Re: Unsecure world writeabledir の警告 — nobu.nakada@... 2002/08/26

なかだです。

[#35776] Re: Unsecure world writeabledir の警告 — matz@... (Yukihiro Matsumoto) 2002/08/26

まつもと ゆきひろです

[#35778] Re: Unsecure world writeabledir の警告 — nobu.nakada@... 2002/08/26

なかだです。

[#35779] Re: Unsecure world writeabledir の警告 — WATANABE Hirofumi <eban@...> 2002/08/26

わたなべです。

[#35780] Re: Unsecure world writeabledir の警告 — nobu.nakada@... 2002/08/26

なかだです。

[#35784] Re: Unsecure world writeabledir の警告 — "U.Nakamura" <usa@...> 2002/08/26

こんにちは、なかむら(う)です。

[#35854] Re: Unsecure world writeabledir の警告 — "Inoue" <rubyist@...1.117.ne.jp> 2002/09/04

井上です。

[#35865] Re: Unsecure world writeabledir の警告 — Koji Arai <JCA02266@...> 2002/09/05

新井です。

[#35866] Re: Unsecure world writeabledir の警告 — matz@... (Yukihiro Matsumoto) 2002/09/06

まつもと ゆきひろです

[#35789] multipart な CGI を速くしたい — Takashi Kanai <kanai@...4u.or.jp>

Windows上でRubyとMySQLを使ってショッピングサイトのようなものを作って

17 messages 2002/08/28

[ruby-list:35809] Re: multipart な CGI を速くしたい

From: MoonWolf <moonwolf@...>
Date: 2002-08-28 13:00:15 UTC
List: ruby-list #35809
MoonWolfです。

> なんとかもう少し速くならないものかと思って調べていたところ、
> ruby-1.6.7-20020801-i586-mswin32の中のcgi.rbではStringIOを使うように
> なっているのに気が付きました。ところが肝心の stringio.so が同梱されて
> いません(ruby 1.7 には入っていますが)。

C言語版にこだわらなければ、PureRuby版のStringIOでもいいと思います。

  http://www.moonwolf.com/ruby/archive/stringio01.zip

> multipartなFORM(fileが1個、textが40個,selectが30個,checkboxが100個)で
> アップロードの処理時間を計るとAthlon XP 2100+ で約6秒、遅いマシンでは
> もっとかかります(fileは空白のまま、cgi.rbの中のread_multipartの時間を
> 計測、CONTENT_LENGTHは約20KB)。

この程度のFORMで遅くなるのはcgi.rbにも原因があります。
read_multipart中の以下の部分は無駄が多いです。

>           begin
>             require "stringio" if not defined? StringIO
>             body = StringIO.new
>           rescue LoadError
>             require "tempfile"
>             body = Tempfile.new("CGI")
>           end
メソッド実行時ではなく、ライブラリロード時に解決すべき問題です。
以下の様にするだけでもだいぶ違うと思います。

class CGI
  begin
    require "stringio"
    def new_body
      StringIO.new
    end
  rescue LoadError
    require "tempfile"
    def new_body
      Tempfile.new("CGI")
    end
   end
end

-- 
MoonWolf <moonwolf@moonwolf.com>


In This Thread