[#37875] ERB の仕様 — URABE Shyouhei <s-urabe@...>

みなさまはじめまして。

44 messages 2003/07/15
[#37876] Re: ERB の仕様 — Masatoshi SEKI <m_seki@...> 2003/07/15

咳といいます。

[#37877] Re: ERB の仕様 — URABE Shyouhei <s-urabe@...> 2003/07/15

mput です。

[#37879] Re: ERB の仕様 — m_seki@... 2003/07/15

[#37883] Re: ERB の仕様 — URABE Shyouhei <s-urabe@...> 2003/07/16

mput です。

[#37884] Re: ERB の仕様 — m_seki@... 2003/07/16

[#37888] Re: ERB の仕様 — URABE Shyouhei <s-urabe@...> 2003/07/16

mput です。

[#37889] Re: ERB の仕様 — m_seki@... 2003/07/16

[#37890] Re: ERB の仕様 — URABE Shyouhei <s-urabe@...> 2003/07/17

mput です。

[#37891] Re: ERB の仕様 — MoonWolf <moonwolf@...> 2003/07/19

MoonWolfです。

[#37896] Re: ERB の仕様 — MoonWolf <moonwolf@...> 2003/07/20

MoonWolfです。

[#37898] Re: ERB の仕様 — Masatoshi SEKI <m_seki@...> 2003/07/20

咳といいます。

[#37900] Re: ERB の仕様 — MoonWolf <moonwolf@...> 2003/07/20

MoonWolfです。

[#37901] Re: ERB の仕様 — Masatoshi SEKI <m_seki@...> 2003/07/20

咳といいます。

[#37906] control user ID / group ID — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

20 messages 2003/07/20
[#37912] Re: control user ID / group ID — YOKOYAMA Takehiro <tac@...> 2003/07/21

[#37913] Re: control user ID / group ID — Hidetoshi NAGAI <nagai@...> 2003/07/21

永井@知能.九工大です.

[#37916] Re: control user ID / group ID — YOKOYAMA Takehiro <tac@...> 2003/07/21

[#37941] multipart/form-dataのためのcgi.rbの修正 — 堀川 久 <vzw00011@...>

こんにちは。

18 messages 2003/07/22
[#37944] Re: multipart/form-dataのためのcgi.rbの修正 — matz@... (Yukihiro Matsumoto) 2003/07/23

まつもと ゆきひろです

[#37945] Re: multipart/form-dataのためのcgi.rbの修正 — nobu.nakada@... 2003/07/23

なかだです。

[#37948] Re: multipart/form-dataのためのcgi.rbの修正 — matz@... (Yukihiro Matsumoto) 2003/07/23

まつもと ゆきひろです

[#37951] Re: multipart/form-dataのためのcgi.rbの修正 — nobu.nakada@... 2003/07/23

なかだです。

[#37953] Re: multipart/form-dataのためのcgi.rbの修正 — matz@... (Yukihiro Matsumoto) 2003/07/23

まつもと ゆきひろです

[#37954] Re: multipart/form-dataのためのcgi.rbの修正 — nobu.nakada@... 2003/07/23

なかだです。

[ruby-list:37883] Re: ERB の仕様

From: URABE Shyouhei <s-urabe@...>
Date: 2003-07-16 03:42:17 UTC
List: ruby-list #37883
mput です。

On 2003.07.16, at 08:28, m_seki@mva.biglobe.ne.jp wrote:

>> % はともかく %% はスクリプトじゃないんだから、変換してくれなきゃ困る気
>> がするんです。他の地の文と釣り合いが取れないんじゃないかと。
>> # みなさんご不満なくお使いですので困ってないのかもしれませんが
>
> %% hogehogehoge はそのまま % hogehogehoge にしたい
> という指示ではないでしたっけ。
>
> ちょっと自信がありません。

現状はたしかにそうみたいです

   [localhost:~]% echo "%% foo <%='bar'%>" | /usr/local/bin/erb
   % foo <%='bar'%>

# これ、何の役に立ってるんだろう

>> じつは String#split はそんなに時間かかってません。 末尾に
>>    % ruby -e'1024.times{|i| puts "<%=#{i}%>"}' > sample.erb
>>    % ruby -rprofile -rerb -e'ERB.new(ARGF.read).result' sample.erb
>> とかやって生成したプロファイルを添付しておきます。
>
> えと、事前にsplitしてしまう、つまり分解したものをArrayでもってる
> 作戦がイマイチなんでしょか?という意味です。

最初はある文字列を split でトークナイズしてから String#== で比較すると
いう戦略が無駄に思えて(だって split の段階で一旦スキャンしてるはずなの
に String#== は memcmp だからまたスキャンすることに)、順次切り出す方式
を提案したのですが、実はプロファイルを取ってみたら String#split はほと
んど無視できる程度だったので、この仮説は間違っていたと思います。という
わけで、イマイチなのかそうでないのかなんとも分かりません
# でも String#== は構文要素数に対してだいたい10倍以上の回数呼ばれている
# ようなので、どこか無駄はあると思います。

> sample.erbはどのくらいの大きさですか?

ここでeRuby スクリプトの大きさといったときに
* ファイルサイズ
* <% %> などの構文要素の数
の2通りの基準があるのではないかと考えます。私の方でいろいろなファイル
を食べさせてみましたが、速度はあまりファイルサイズには関係なくて、構文
要素数によく相関しているように見受けられました。 sample.erb はまさに上
のワンライナーで生成したものですので、構文要素の割合は非常に高いと思い
ます。ちょっとフェアじゃなかったかもしれません。

とはいえ他人の eRuby スクリプトを見たことがないものですから、標準的な
構文要素の割合がどのようなものか見当もつきません。用途によっても違う気
がしますし。

--
mput <root@mput.dip.jp>


In This Thread