6: 2008-12-30 (火) 14:28:25 |
7: 2009-01-03 (土) 13:25:56 |
| --弾 じゃあ、我々がやっていることは何て呼んだらいいんでしょう。 | | --弾 じゃあ、我々がやっていることは何て呼んだらいいんでしょう。 |
| --Dave コーディング。 | | --Dave コーディング。 |
| + | *** (5) 2009.01.03追記 |
| + | -「ぐいぐい01」では、ただ正常終了するだけのアプリというものを書くことができる。それはヘッダだけの3バイト(シグネチャ2バイト+フラグ類1バイト)になる。これはメモリ上ではRETだけの1バイトのプログラムになる。・・・同じことをDOSでやると、RETだけを普通に書くことになるので、1バイトで書ける(誤動作防止のためのシグネチャも何もない)。だからこの勝負ではDOSの勝ちだ。 |
| + | -しかし何もしないで正常終了するなんて、はっきり言って意味がない。そんなもので勝ってもしょうがない。ささやかでもいいので何か意味あることをしなければいけない。そうすると次に一番短いプログラムは、適当なエラーコードを返して異常終了することだろう。DOSならこれは5バイトでできる。それに対して「ぐいぐい01」はどうかというと、エラーコードを指定せずに単に異常終了なら4バイト、きちんとエラーコードも指定するなら5バイトになる。だからこれは引き分けだ。 |
| + | -では一文字表示して終了なんていうのはどうだろう。DOSなら6バイトになる。そして「ぐいぐい01」でも6バイトになる。だからこれも引き分けだ。 |
| + | -そしてhelloやechoやcharsに見られるように、それ以上に複雑になってくると、「ぐいぐい01」はDOSに勝つ。ヘッダの分の不利さによって極めて簡単なアプリ(RETだけのこと)では負けるが、それ以上ではさまざまな工夫のメリットのほうが生きてきて負けないのである。 |
| + | ---- |
| + | -たとえば10バイトで何かプログラムを作れといわれたら、普通ならひどく面食らうだろう。上記の通り1文字表示でも6バイトなのだから。でも「ぐいぐい01」ならechoくらいは作れる。 |
| + | -では20バイトではどうだろう。日本語の文章でも10文字しか書けない。でも「ぐいぐい01」ならそれだけあれば、helloもcharsもつくれる。50バイトでも普通のOSならほとんど何もできないに等しいと思うが、「ぐいぐい01」ならcpyが作れる。たった50バイトのくせに、単なるファイルコピーだけではなくtek展開にも使えるし、ファイル連結もできてしまう。 |
| + | -さらに100バイトならどうだろう。100バイトもあれば、makefontができるし(72バイト)、calc1もできる(usageを少しケチれば100バイトにできる)。・・・「ぐいぐい01」では100バイトがこんなに有用なのだ。 |
| + | -naskはwin32版→abcdw009版で4821バイト減少した。これはつまり27.0KBが22.3KBになったということであり、見た目のインパクトとしてはmakefontの3072→72にはかなわない。しかしnaskが4.7KB減少したというのは間違いないことだし、それは上記で指摘した100バイトの48倍である!あいたスペースにそれこそいろんなものを入れられるだろう。 |
| + | ---- |
| + | -上記を書いて思ったのだけど、アセンブラで本気で書いた「ぐいぐい01」アプリのサイズを円に直したものは、僕がそのアプリに感じる価値にかなり近い。・・・たとえばhelloは17バイトだけど、僕はこれに17円くらいの価値を感じる。駄菓子屋さんのお菓子気分。echoもcharsも6円、13円というのはかなりしっくり来る。cpyが45円、makefontが72円というのも納得だ。 |
| + | -naskは現在22KB程度だが、きっとアセンブラで書き直せば3~5割くらいは減るだろう。そうすると1万円台前半くらいか。確かにそれくらいの価値はあると(自分では)思っている。 |
| + | -また、3072→72での、この-3000バイトに対する達成感も、本当は72円の価値しかないものを3072円でふっかけられて(標準小売価格が72円なのを知っていて)、それを見抜いて無事に別のお店で72円で買えたという満足感にかなり近い。僕の中では1バイトには1円くらいの価値があるのかもしれない。 |
| + | -そう考えると、tolsetがどのくらい小さく改善したかで、僕が(心理的に)何円分相当得したかと感じているか分かるわけか。これは面白い。あとで計算してみよう。 |
| + | -そう考えると、未踏ユースの200万円という金額を自分の中で正当化すると(予算は300万円だけど、税金や管理費で約100万円は消えた)、2MBくらいのダイエットに成功していれば、僕の価値基準としては合格といえる。OSASKや関連アプリや関連ツールと同等なものを一般的なプログラマが作ったら合計+2MBになるだろうか。なりそうだな。期間中に僕がやったことだけでは不足かもしれないけど、期間後にやったことも含めていいのなら、僕としては後ろめたさはない。 |
| + | -tolsetのwin版サイズ変化(対象11アプリ):86419→40023+bin2obj+aksa:差は4万以上? |
| | | |
| * こめんと欄 | | * こめんと欄 |
| #comment | | #comment |