[#34139] cygwin から mswin32 へそれと高速化 require — "井上 浩一" <kyoui32@...>
井上です。
[#34150] Ruby1.6.7 について — Nagai T <idonagai@...>
どうも、Tnagaiです。
[#34169] File#dirname( filename , deep=1 ) — Take_tk <ggb03124@...>
File#dirname( filename , deep=1 )
[#34173] 「プログラミング Ruby 」 p.247 グローバル変数 — Noritsugu Nakamura <nnakamur@...>
[#34188] 1.6 系から 1.7 系へ以降する際の注意 (mswin32 版について) — "井上 浩一" <kyoui32@...>
[#34198] ruby 1.6.7 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
In message <1015305748.444543.10114.nullmailer@ev.netlab.jp>
[#34204] 「プログラミング Ruby 」 p.257 defined? はメソッド? — Noritsugu Nakamura <nnakamur@...>
なかだです。
山本です。こんにちは。
[#34207] RWiki CGI log fails — dellin <dellin@...>
dellinです。
[#34225] [mswin32] accessing SIGHUP causes invalid signal error — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。
こんにちは、なかむら(う)です。
なひです。こういう展開になるんだったらruby-devでしたね。。。
こんにちは、なかむら(う)です。
[#34241] Re: 1.6 系から 1.7 系へ以降する際の注意 (mswin32 版について) — "井上 浩一" <kyoui32@...>
井上です。
[#34244] しぶらぐっ議事録。 — rubiben <ozaki@...>
あおきです。
るびべんです。
artonです。
From: rubiben <ozaki@ruby-lang.org>
るびべんです。
From: rubiben <ozaki@ruby-lang.org>
どうも西尾です。
新井です。
From: Koji Arai <JCA02266@nifty.ne.jp>
新井です。
まつもと ゆきひろです
[#34319] require "cgi/session" でエラー — FUJIOKA Takeyuki <fujioka@...>
はじめまして,藤岡と申します。
藤岡です。
[#34337] erb-1.4.0 — m_seki@...
[#34374] Ruby オプション — "井上 浩一" <kyoui32@...>
井上
[#34376] Re: 多種多様の文字コードに対応するには? — "井上 浩一" <kyoui32@...>
井上です。
[#34393] Re: Ruby オプション — "井上 浩一" <kyoui32@...>
井上です。
In article <F249zDabigPasSmz6Uu0000ec21@hotmail.com>,
[#34400] Re: Ruby オプション — "井上 浩一" <kyoui32@...>
井上です。
[#34425] [ANN] Ruby/zlib 0.5.0 — UENO Katsuhiro <unnie@...>
うえのです。
[#34434] begin-rescue の ruby バージョンごとの挙動について — Kengo Nakajima <ringo@...>
こんにちは
[#34448] 文字コード混在スクリプトの実行 — Noritsugu Nakamura <nnakamur@...>
[#34453] カレンダー文字列を作るメソッド — Take_tk <ggb03124@...>
たけ(tk)です。
[#34456] 再帰の限度 (Mac OS X) — Hiroyuki KUROSAKI <noir@...>
iBook を購入したので、さっそく Ruby 1.6.7 をインストールして
On Sat, 16 Mar 2002 21:19:10 +0900, in message
[#34481] Ruby お花見@大阪 — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
[#34491] ruby-dev summary 16201-16300 — rubiben <ozaki@...>
るびべんです。
[#34498] cgi.rb でマルチパートでの実験方法 — FUJIOKA Takeyuki <fujioka@...>
藤岡です。
[#34500] ライブラリの著作権について — rubiben <ozaki@...>
るびべん です。本職での登場です(笑)。
rubibenさんの<20020319153000.F31A.OZAKI@ruby-lang.org>から
[#34529] gsub! /(^|[^0-9])(?=[a-z])/ — "TOYOFUKU Chikanobu" <toyofuku@...>
豊福です。
[#34534] スクリプティング言語における GPL — Taku Nakajima <tnakajima@...>
中島@ブレーンです。
るびべんです。#最近本業での登場回数が多いなぁ(^^;;
中島@ブレーンです。
At Thu, 21 Mar 2002 14:29:14 +0900,
中島@ブレーンです。
[#34552] Re: 1.7 に関して — "井上 浩一" <kyoui32@...>
井上です。
こんにちは、なかむら(う)です。
高橋征義です。
はじめまして、りゅうです。
まつもと ゆきひろです
[#34570] cgi.rb+ イテレータ — FUJIOKA Takeyuki <fujioka@...>
藤岡です。
At Fri, 22 Mar 2002 17:22:10 +0900,
[#34599] [ANN] リファレンスマニュアル (Plucker format) — rubikitch <rubikitch@...>
るびきちです。
[#34609] エラーメッセージ "odd number list for Hash" — cyross@...
お久しぶりです。サイロス誠です。
[#34618] begin expr with while_mod/until_mod — FUKUBAYASHI Ippei <ippei@...>
壱平ともうします。最近Rubyで遊ばせていただいています。
[#34630] [Q]druby のサーバを Web 上から起動 / 停止する — eda@...
えだです。
[#34640] scan(/(\d)?a?(\d)?b?/) — TOYOFUKU Chikanobu <toyofuku@...>
豊福です。
[#34652] erb 1.4.2 failed — TADA Tadashi <sho@...>
ただただしです。
[#34668] HTML のフォームから multipart/form-data を受け取る処理での質問 — Takuo Tabata <taku@...>
こんばんは。
[#34676] 安心できる Marshal と、 Ruby バージョンの検査法 — MALTA Koji <malta@...>
丸田と申します。
新井です。
丸田です。 MarshalとRUBY_VERSIONの話題を分離します。
まつもと ゆきひろです
わたなべです。
At Mon, 1 Apr 2002 16:06:23 +0900,
わたなべです。
丸田です。
ひだかです。
丸田です。
まつもと ゆきひろです
なひです。
新井です。
こんにちは、なかむら(う)です。
In article <20020404095542.7155.USA@osb.att.ne.jp>,
わたなべです。
[#34681] 書籍に関する質問です — Nobuhide Kanagawa <nobuhide@...>
こんにちわ。
なかだです。
[ruby-list:34163] Re: Ruby1.6.7 について
高橋征義です。
mswin32版そのものは詳しくないのですが。
"井上 浩一" <kyoui32@hotmail.com> wrote:
> 最適化について、以下の疑問があります。
(略)
> 4) 開発版を使う 1.7とうものがあるらしいのですが・・・mswin32でも使えるので
> しょうか?
なかむら(う)さんのところ
http://www.dm4lab.to/~usa/ruby/
に、1.7.2をコンパイルしたものがあります。
> Rubyの高速化について
> Rubyはメソッド検索に時間がかかる使命を持っているようですが、
> インラインメソッドというスピード特別区域を設けて、
>
> inline("x86"){ |x, y, z|
> mov ax, x
> mov bx, y
> mov z, ax
> }
>
> が動作するようになれば、高速化間違いなしですが、無謀でしょうか?
えーと。
まず、(高速化とはやや異なりますが)最適化の原則は理解されてますか?
「最適化の第1の原則は、**最適化するな**だ。」
Brian W.Kernighan and Rob Pike,『プログラミング作法』,p227
(原文の強調は太字)
さらに、まつもとさんの言葉も。
「いくらRubyが開発効率が高い素晴らしい言語からと言って、なにも
世の中のすべてのプログラムをRubyで記述する必要はさらさらあり
ません。実行速度が必要な場合にはCのようなコンパイラ型の言語を
使うべきでしょう。プログラミング言語にも適材適所が必要です。
無理はいけません、無理は。」
まつもと ゆきひろ/石塚圭樹,
『オブジェクト指向スクリプト言語Ruby』,p427
この手の質問で理想的なものとしては、「〜というコードを
書いているんだけど妙に遅いです。どうしてでしょう?」とか、
「〜というコードがありますが、○○だと早いんですけど××だと
極端に遅くなります。」というたぐいのものですね(シンプルな
再現コード、プロファイラの結果の抜粋なんかがあると理想的で、
さくっと返事が返ってきたりしそうです :-) )。
井上さんの求めているものは、このたぐいの質問ではなく、まさに
Kernighan and Pikeや、まつもとさんが戒めているタイプのものの
ように見受けられます。
実際、 [ruby-list:34139] で井上さんは「特にRubyで遅いなと思う
のは、requireの部分で実行処理の3分1を占めています。」と
書いていて、今回の話とは全然違うようですし。
[ruby-list:34141]の斉藤さんのリプライは理解・納得されてますか?
# あと、Rubyはメソッド検索はキャッシュを使って高速化を計って
# いるのでは? (eval.cのrb_callの部分)
# また、インラインメソッドを使ってもメソッド検索の速度の
# 改善とは関係がないのでは?
もっとも、上のまつもとさんの言葉は拡張ライブラリの話をする
ための前振りになっています。「高速化したい部分は拡張ライ
ブラリで書く」というのはRubyでもすでに実績を重ねている
手法で、井上さんの求めている手法も、これで実現できそう
です。拡張ライブラリのCのコードの中でアセンブラを使えば
いいわけですから。
とはいえ、やみくもに高速化を図るべきではないでしょう。ちゃんと
プロファイリングして、ボトルネックを見つけ、そこに焦点を絞って
高速化するべきです(と、上の引用元2冊の両方に書いてあります :-))。
高橋征義 (TAKAHASHI Masayoshi) E-mail: maki@rubycolor.org