3: 2009-01-11 (日) 10:47:49 |
4: 2009-11-17 (火) 12:08:41 |
| -いうなれば、 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バイト未満のアプリ一覧 |