Sign in Join
Wiki copytemporary

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.

Revision 1, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.