Flush ROMメモリを解放し、RAMメモリを圧迫するUPX

PocketgamesさんWindows Mobileにインストールするアプリの大きさを数分の一に圧縮してしまうというウソみたいなホントのソフト、UPXを知り、英国だったじぃハカセの技術指導のもと、動作検証してみました。
私のJASJARのExtended ROMはNetFront3.3やSkypeTCPMPといったアプリで、残り0.9MBしか空きがない状況なのですが、とりあえずNetFrontをPC上に引っ張り出してきて、UPXで処理してみました。すると、4MB近くあったアプリが、1.5MBになってしまいました!Extended ROMが3MB以上空きました!JASJARに戻して起動してみると、良好に動作します。素晴らしい!

しかし、気のせいかJASJAR全体の動作が重くなったような…メモリ画面でチェックしてみると、プログラム実行用メモリの空き領域が5MBを切っていました。圧縮なしのNetFrontを使う場合は8MB以上空きますから、3MBほどよけいに持っていかれています。

UPXは圧縮したアプリをRAM上に展開するので、その分メモリを消費するのだそうです。やはり、世の中いい話はなかなかありません。ただし、RAM64MBのJASJARでなく、128MBに増設したHP iPAQ hx4700hx2750DELL Axim X50v/X51vといったRAMに余裕のあるデバイスでは使う価値のあるソフトかもしれません。また、RAMに余裕のないマシンでも、「めったに使い機会はないが、削除するわけにもいかない」というようなアプリは圧縮状態で普段寝かせておく、といった活用法があると思います。ごくたまに使うなら、そのときぐらい実行メモリを食ったっていいようなもんですから。RAMに余裕のないマシンで日常的に使うアプリを圧縮しておくのは弊害の方が大きいかも。