[#29987] ライセンス論点整理 — Tacos <ozaki@...>

38 messages 2001/06/01

[#30030] Ruby license discussion — Masayuki Hatta <mhatta@...>

八田と申します。

23 messages 2001/06/02
[#30034] Re: Ruby license discussion — "Akinori MUSHA" <knu@...> 2001/06/02

At Sat, 2 Jun 2001 14:31:02 +0900,

[#30039] Re: Ruby license discussion — akira yamada / やまだあきら <akira@...> 2001/06/02

[#30056] Re: Ruby license discussion — Takaaki Higuchi <thiguchi@...> 2001/06/03

In "akira yamada / やまだあきら <akira@ruby-lang.org>" wrote:

[#30155] How do we treat local static variables? — IKEGAMI Daisuke <daisu-ik@...>

ruby-list の皆さんこんにちは。

13 messages 2001/06/09
[#30156] Re: How do we treat local static variables? — NISHI Takao <zophos@...9.com> 2001/06/09

にし@おかやまです。

[#30163] FW: [arg1:119] RE: [RubyUnit:4203] Re: インストーラ・プロジェクト — "KANEMITSU Masao" <masao-k@...>

金光です。RAAを改善しませんか?

10 messages 2001/06/10

[#30190] 呼び出し元のクラスを知る方法? — "Shin'ya Adzumi" <adzumi@...>

あづみです。

13 messages 2001/06/11

[#30215] パス文字列を操作するライブラリはありませんか? — "Kaoru Shirai" <shirai@...1jp.com>

 こんにちわ。常日頃 Ruby を愛用させて頂いております。

13 messages 2001/06/13

[#30270] setup.rb — rubikitch@...

るびきちです。

16 messages 2001/06/16
[#30291] Re: setup.rb — Minero Aoki <aamine@...> 2001/06/18

あおきです。すみません、見逃してました。

[#30292] Re: setup.rb — rubikitch <rubikitch@...> 2001/06/19

From: Minero Aoki <aamine@mx.edit.ne.jp>

[#30293] Re: setup.rb — TADA Tadashi <sho@...> 2001/06/19

ただただしです。

[#30305] TMarshal — rubikitch@...

るびきちです。

25 messages 2001/06/19

[#30333] 共同著作物の謎( re :ライセンス) — Tacos <ozaki@...>

13 messages 2001/06/20
[#30334] Re: 共同著作物の謎( re :ライセンス) — Tacos <ozaki@...> 2001/06/20

[ruby-list:30331] Re: composing a mail with a big file attached

From: Minero Aoki <aamine@...>
Date: 2001-06-20 07:14:10 UTC
List: ruby-list #30331
あおきです。

  In mail "[ruby-list:30325] Re: composing a mail with a big file attached"
    "Akinori MUSHA" <knu@iDaemons.org> wrote:

>  なお、別のマシンでも試してみたのですが、 Debian GNU/Linux potato
> + ruby 1.6.4-0potato0.2 + libtmail-ruby 0.9.3-0potato0.1 on Pentium
> III 800MHz の環境ではこんなことに。。
> 
> uudeview を使う場合:
> 	ruby encode.rb  0.29s user 0.01s system 95% cpu 0.313 total         
> 	ruby compose.rb > /dev/null  40.45s user 0.08s system 91% cpu 44.172 total
> 
> Array#pack('m') を使う場合:
> 	ruby encode.rb  0.26s user 0.01s system 103% cpu 0.260 total
> 	ruby compose.rb > /dev/null  31.58s user 0.05s system 91% cpu 34.526 total
> 
> この違いは何だろう。エンコードするだけならどちらも大差ないのに、
> write_back では 10 秒も差がついている。。

理由がわかりました。これは gsub してるからというより String の
連続 concat の速度の差です。デフォルトの TMail::Mail.new() では
ソースが StringPort になるので、write_back すると実質 concat を
連発してることになります。0.9.6 がいきなり速くなったのは、実は
ちょっと細工をして文字列への追加は concat 一回でやるように変更
してて、それが効いてたのでした。

ということで、以下のように書くと、やはりまだ 0.9.6 よりは遅い
ですが、なんとか実用にはなると思います。
linux 2.2.18 + ruby 1.6.4 + tmail 0.9.3 on 333MHz で 4 秒/1 MB
linux 2.2.14 + ruby 1.6.3 + tmail 0.9.3 on 833MHz で 0.6 秒/1 MB
です。

-----------------------------
require 'tmail'

#filename = '/var/tmp/test.pdf'
filename = 'big'

File.open('tmp','w') { }               ###### この二行
mail = TMail::Mail.load_from('tmp')    ######
mail.from = 'test+from@idaemons.org'
mail.to = 'test+to@idaemons.org'
mail.date = Time.now
mail.subject = 'test'
mail.mime_version = '1.0'

textpart = TMail::Mail.new
textpart.set_content_type 'text', 'plain', 'charset' => 'iso-2022-jp'
textpart.body = "This is a test mail with an attachment.\n"
mail.parts.push textpart

filepart = TMail::Mail.new
filepart.set_content_type 'text', 'plain'
filepart.disposition = %Q_attachment; filename="#{filename}"_
filepart.body = [File.open(filename).read].pack('m')
mail.parts.push filepart

mail.write_back
#print mail.encoded

-------------------------------------------------------------------
青木峰郎

In This Thread