ウィキのコピーミラー

これは pascal.chat のウィキのミラーです。編集、履歴、ログインはそちらで行います。

File size and smartlinking/ja

Deutsch · English · Français · Português · 中文(中国) · 日本語

この記事はLazarus上で実行ファイルサイズとスマートリンクについて記述しています。 まだまだ作業途中のものなので、自由に書き込んでください。

導入

Windows環境での実例

この調査は、2006年2月8日、Lazarusが完全にスマートリンクされ、0.9.12としてリリースコンパイルされた時におこなわれました。異なった環境でのLazarus、スマートリンカのあるなし、FreePascalのバージョンとの組み合わせで、いろいろな結果になりました。

調査した条件は下記のようなものです。

コンパイル時間はここでは考慮しませんでした。リンク時間と比較して、さほど有意な違いがなかったからです。

stripなしの実行ファイルサイズについても比較しませんでした。

stripはコマンドラインから、下記のコマンドでおこないます。

pascal
strip --strip-all magnifier.exe

コンパイルで実験するプログラムは「仮想の拡大鏡プログラム」です。 このプログラムのソースとバイナリーは、自由に使ってください。

ダウンロードは、こちら: http://magnifier.sourceforge.net

リンク時間について調査したコンピュータは、インテルマザーボードと、3.2GHzのデュアルコアPentium4、512MBのRAMのものです。

結果

利用したOSはWindows XP、そして、0.9.12がリリースされたときと同じ日の0.9.13のLazarusを利用しました。 この比較は以下のソフトウェアのコンフィグレーションで行われました:

0.9.12 0.9.13 + 2.0.2 0.9.13 + 2.1 + SL 0.9.13 + 2.1
strip後のファイルサイズ (バイト) 1108480 1587712 1425408 1649152
UPX後のファイルサイズ (in bytes) 318976 438272 388608 454144
リンク時間 15 秒 5 秒 45 秒 10 秒

結論

2006年2月8日の0.9.13スナップショットは、unstableな2.1ブランチからのコンパイラであることに注意してください。そのコンパイラは、他のバージョンと比べて大きめの実行ファイルと、リンクに時間がかかる原因になっています。 0.9.12は、UPXのあり、なしにかかわらず、すべてに対してファイルサイズが最適に小さくなります。つまり、SmartlinkingはWindowsでのファイルサイズを減少させることができる、ということです。しかしながら、これは、リンク時間がかかる、という代償がついています。スマートリンクなしよりも3倍の時間です。 0.9.12は、すでにスマートリンクのためにWindowsで完全に設定されています。どんな追加設定も必要ではありません。 スマートリンクに関しては、これは以前のリリースでのそうではありませんでした。

そのほかの関連情報


From the Free Pascal wiki, page "File size and smartlinking/ja", as it stood on 2008-03-31 after a change by Saeka-jp, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

第1版、最終更新:WikiArchive 。