ページへ戻る

− Links

 印刷 

GUIGUI01​/memo23 のバックアップ差分(No.4) :: OSASK計画

osaskwiki:GUIGUI01/memo23 のバックアップ差分(No.4)

« Prev[4]  Next »[5]
3: 2009-01-11 (日) 10:47:49 ソース[6] 4: 2009-11-17 (火) 12:08:41 ソース[7]
Line 13: Line 13:
-いうなれば、 ELF Golf は小学生の部の最強でしかなく、僕が言っているのは無差別級です。そっちのほうが格段に面白いと思いませんか?・・・普通の人は思わないかもしれませんが、僕は思うのです!・・・ちなみに、この話の先にはx86にすら限定せず、CPUの命令セットまで自由に改良できるスーパー無差別級というのがあるはずです(なんらかのバイトコードとかでもいいと思います)。どうせならそれをやるべきだというのは僕も賛成ですが、一気にそこまでいくと手に負えないので(少なくとも僕は手に負えなかった)、まずはx86最小を極めてからにしました。 -いうなれば、 ELF Golf は小学生の部の最強でしかなく、僕が言っているのは無差別級です。そっちのほうが格段に面白いと思いませんか?・・・普通の人は思わないかもしれませんが、僕は思うのです!・・・ちなみに、この話の先にはx86にすら限定せず、CPUの命令セットまで自由に改良できるスーパー無差別級というのがあるはずです(なんらかのバイトコードとかでもいいと思います)。どうせならそれをやるべきだというのは僕も賛成ですが、一気にそこまでいくと手に負えないので(少なくとも僕は手に負えなかった)、まずはx86最小を極めてからにしました。
-(2) -(2)
--それで結論から言うと、"hello, world\n"を出力するだけのプログラムは、16バイトということになりました。これは ELF Golf ではアリナシ型に相当するでしょうか。まあ仮に同じ条件にするために出力すべきものを"Hello, World!\n"にしたら17バイトになるでしょう。58バイトとの差し引きは実に41バイトになります。+-それで結論から言うと、"hello, world\n"を出力するだけのプログラムは、16バイトということになりました。これは ELF Golf ではアリナシ型に相当するでしょうか。まあ仮に同じ条件にするために出力すべきものを"Hello, World!\n"にしたら17バイトになるでしょう。58バイトとの差し引きは実に41バイトになります。58バイトを目指したことがある人ならわかると思いますが、58バイトに近くなればなるほど1バイト削るのが難しくなります。それをローダを見直してフォーマットを合理的なものに変更するだけで、さらに41バイトも削れるのです。
-このhelloを実行できるローダを前提に、他にもアプリケーションを作ってみています。というのは、helloだけを小さくできるような仕様なら誰でも作れます。そうじゃなくて、どんなアプリケーションでもみんな一様に小さくなる仕様でないとELFに対して公平とはいえません。 -このhelloを実行できるローダを前提に、他にもアプリケーションを作ってみています。というのは、helloだけを小さくできるような仕様なら誰でも作れます。そうじゃなくて、どんなアプリケーションでもみんな一様に小さくなる仕様でないとELFに対して公平とはいえません。
--100バイト未満のアプリ一覧 --100バイト未満のアプリ一覧
« Prev[4]  Next »[5]