[#9437] ruby 1.1c4 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

17 messages 1998/09/03

[#9570] ruby-gtk-0.11 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

16 messages 1998/09/16

[#9573] filter — gotoken@... (GOTO Kentaro)

ごとけんです

34 messages 1998/09/16
[#9575] Re: filter — Shin-ichro Hara <sinara@...> 1998/09/17

原です。

[#9577] Re: filter — Shin-ichro Hara <sinara@...> 1998/09/17

原です。

[#9613] can't clone Fixnum — Kikutani Makoto <kikutani@...>

前田さんのruby-jedパッチをJed 0.98.7+J0.5.3に無理やりあてて

27 messages 1998/09/19
[#9622] Re: can't clone Fixnum — shugo@... (MAEDA Shugo) 1998/09/21

前田です。

[#9633] Re: can't clone Fixnum — Kikutani Makoto <kikutani@...> 1998/09/22

Mon, Sep 21, 1998 at 06:44:30PM +0900 において

[#9635] Re: can't clone Fixnum — matz@... (Yukihiro Matsumoto) 1998/09/22

まつもと ゆきひろです

[#9637] Re: can't clone Fixnum — Kikutani Makoto <kikutani@...> 1998/09/22

回答どうもです。

[#9640] Re: can't clone Fixnum — matz@... (Yukihiro Matsumoto) 1998/09/22

まつもと ゆきひろです

[#9647] Re: can't clone Fixnum — Kikutani Makoto <kikutani@...> 1998/09/22

Tue, Sep 22, 1998 at 01:07:22PM +0900 において

[#9650] Re: can't clone Fixnum — matz@... (Yukihiro Matsumoto) 1998/09/22

まつもと ゆきひろです

[#9626] nif.rb (ver0.14) — Wakou Aoyama <wakou@...>

青山です。

35 messages 1998/09/21
[#9628] Re: nif.rb (ver0.14) — WATANABE Tetsuya <tetsu@...> 1998/09/22

渡辺哲也です。

[#9638] Re: nif.rb (ver0.14) — SHUDOH Kazuyuki <shudoh@...> 1998/09/22

渡辺哲也さん wrote:

[#9642] Re: nif.rb (ver0.14) — Kikutani Makoto <kikutani@...> 1998/09/22

Tue, Sep 22, 1998 at 12:58:23PM +0900 において

[#9703] Re: nif.rb (ver0.14) — hisanori@... 1998/09/24

松尾です。

[#9704] Re: nif.rb (ver0.14) — matz@... (Yukihiro Matsumoto) 1998/09/24

まつもと ゆきひろです

[#9705] Re: nif.rb (ver0.14) — hisanori@... 1998/09/24

松尾です。こんばんは。

[#9706] Re: nif.rb (ver0.14) — matz@... (Yukihiro Matsumoto) 1998/09/24

まつもと ゆきひろです

[#9723] Re: nif.rb (ver0.14) — hisanori@... 1998/09/25

松尾です。こんにちは。

[#9724] pstore.rb(Re: Re: nif.rb (ver0.14)) — matz@... (Yukihiro Matsumoto) 1998/09/25

まつもと ゆきひろです

[#9670] how to create a instance dinamically using String class. — Masato Taruishi <taru@...>

18 messages 1998/09/22
[#9671] Re: how to create a instance dinamically using String class. — ttate@... 1998/09/22

立石です。

[#9677] Re: how to create a instance dinamically using String class. — keiju@... (Keiju ISHITSUKA) 1998/09/23

けいじゅ@日本ラショナルソフトウェアです.

[#9678] Re: how to create a instance dinamically using String class. — Masato Taruishi <taru@...> 1998/09/23

[#9702] [HAMATTA!] != — Shin-ichro Hara <sinara@...>

原です。

16 messages 1998/09/24

[#9770] ruby-jed SEGV — Kikutani Makoto <kikutani@...>

きくたにです。

16 messages 1998/09/29

[ruby-list:9521] Re: Make Ruby Fast

From: SHUDOH Kazuyuki <shudoh@...>
Date: 1998-09-10 20:30:43 UTC
List: ruby-list #9521
首藤です。敬称略。
ruby な話題じゃなくてごめんなさい。

柳川> いつも手元の ruby が遅いとお悩みのあなた,gcc でないと最適化オプショ
柳川> ンがついてないかもしれません.そこで,この記事です!

原> はあー、そんなに違うんですか。最適化するとコンパイラのバグが
原> 出たりするので外すことはあったんですけど、ずいぶん違うモノで
原> すねえ。

gcc -S などとしてアセンブリコードを見ると、最適化の大切さが身に染みます。
最適化オプションの有無でこんなに差があるのか…と。

私の手もとの EGCS ですと、最適化オプションなしの場合、
次のオプションが有効になっています。

/ GNU C version egcs-2.90.29 980515 (egcs-1.0.3 release) (i586-unknown-linux-gnu
libc1) compiled by GNU C version egcs-2.90.29 980515 (egcs-1.0.3 release).
/ options passed: 
/ options enabled:  -fpeephole -ffunction-cse -fkeep-static-consts
/ -fpcc-struct-return -fcommon -fverbose-asm -fgnu-linker -fargument-alias
/ -m80387 -mhard-float -mno-soft-float -mieee-fp -mfp-ret-in-387
/ -mschedule-prologue -mcpu=pentium -march=pentium
(gcc -S の出力 (*.s) より)

 -O を付けると、-O なしの場合に加えて次のオプションが有効になります。

  -fdefer-pop -fthread-jumps
  -finline
  -falias-check

 -O2 を付けると、-O に加えて、さらに次のオプションが有効になります。

  -fcse-follow-jumps -fcse-skip-blocks
  -fexpensive-optimizations -fstrength-reduce
  -fforce-mem -fcaller-saves
  -frerun-cse-after-loop -frerun-loop-opt
  -fschedule-insns2 -fregmove


原> ところで最適化って高速になるぶんメモリを食うとかいう事もあ
原> るんでしょうか。

最適化の手法によってはコードサイズと実行性能の
トレードオフがあったりします。(inline 展開とか loop unrolling とか)

あと、x86 だと、複雑な仕事をする命令長の短い命令より
単純な命令の組合せを使った方が、コードサイズは大きくなっても
super scaler がうまく働くので性能は良かったりします。

GCC から派生した EGCS、GCC と比較すると、
コードサイズを大きくしてでも性能を稼ぐ、という傾向が強まっているようです。
GCC でコンパイルすると 140KB になる shared library が
EGCS でコンパイルしたら 170KB になった、なんていう経験をしました。

SHUDO Kazuyuki/首藤一幸   私をたばねないで あらせいとうの花のように
  shudoh@muraoka.info.waseda.ac.jp

In This Thread