[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 2259] size(Re: Cube etc).



  こんにちは、川合です。このメールでは、サイズに関することだけ書
いて、他のたくさんのアプリケーションについては、後でゆっくり書き
ます。ご了承ください。


Solid さんは 2001/10/02 11:09:54 の「[OSASK 2249] Cube etc」で書
きました:

>最近サイズに関して最適化の話が多く上がっていますが、
>OSASK本体の事ならともかく、アプリについては「?」が付きます。
>現在の OSASKの機能でサイズの事について(極端に)言及するのも無理が
>あると感じていますが、アプリにいたっては一過性のプログラムも多く、
>サイズ云々の議論は不毛のような気が致します。
>(hello, world対決のようなものは意味があると思います)

  お答えします。Solidさんは、サイズについて優劣を論じることが、
「常に」不毛であると思っていらっしゃるわけではないので、多分、以
下の説明である程度はご理解いただけるのではないかと思います。

  OSASKのOSとしての優劣の一つに、OSのサイズがあります。これは現
在のOSASKにとっては唯一明確になっている長所ともいえます(笑)。

  しかしOSがコンパクトなことを誇っても、それだけではOSASKが優れ
ている証明にはなりません。もし本来OSがやらなければいけないサービ
スをアプリに押し付けているとしたら、OS側がコンパクトになるは当然
であり、長所というよりも短所であるとさえ言えます。

  僕はこの点の疑念を晴らすために、「hello, world対決」をやったの
はご存知の通りです。しかし、hello, world程度では、

  「川合はhello, world対決が有利になるようにOS側にhello, world専
用ルーチンを組み込んでいるのではないか」

とか、

  「hello, worldを表示するなんていうことは現実的なアプリケーショ
ンとは言い難く、これをもって全体的な判断の根拠にはできない」

とかいう議論には容易に反論できません。

  またhello, world対決をしていて明確になったのは、API仕様を競う
には、hello, worldの実行ファイルサイズで比較するのが適当とは言い
難いということです。実際のバイナリーサイズよりも実行ファイルフォ
ーマットそのものも優劣の方が大きく影響していて、当初の目的を十分
には達成できていませんでした。

  そういうことであれば、他のOSとの比較によって相対的な優位性を示
すことは困難そうだと思われます。それで僕は方針を少し変更し、絶対
的な優位性を示すことにしました。

  「誰がどう考えても、これだけの機能をこれだけのバイト数に凝縮で
きるのはすごい。多分他のOSではできないだろう」

と思えるほどの結果を出すことです。そしてさらに、このような結果が
大した努力もなく容易に出せることを証明したいのです。

  それゆえに、Solidさんのおっしゃる通り、僕は最近とみにサイズに
目を光らせていますが、サイズを改善するためにお願いする変更は、

・ソースの可読性に影響しないか、もしくは向上させるもの。
・変更が容易なもの。
・速度の低下を招かないもの。
・FPUがなくても実行可能になるなど、有益な副作用をもたらすもの。

を満たしているものに限られています。これに反するような職人的なサ
イズの縮小はお願いしていません。もしこれに合致しないと思われる例
がありましたら、ご指摘ください。

  また、「よほどの巨大配列でない限り、shortよりもintの方が速いし
コンパクトになる」とか、「巨大な配列は自動変数ではなくてmallocで
とった方がコンパクトになる」なんていうまめ知識は、知っていて損は
ないと思うのです(いずれもWindowsやLinuxにも適用できる知識です)
。どこからかソースを持ってきて移植する場合には、こんな知識を生か
すことはないでしょうが、一からソースを起こす場合には大いに参考に
なると僕は思います。

  また僕のお願いに応じていただかなくても僕は気を悪くしたりはしま
せん。推奨を付けずにバンドルを控えるだけです。これは制裁や嫌がら
せや取り引きではありません。僕は川合秀実推奨をよしとしない態度に
も好感を持ちますし、推奨がなくても立派なOSASKのアプリケーション
であると認定します。


  それでは。

--
    川合 秀実(KAWAI Hidemi)
川合堂社長 / OSASK計画総指揮 / カーネル開発班
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/